
// ShowPic.java
// Andrew Davison, ad@coe.psu.ac.th, April 2023

/* Illustrates how to load and idisplay an image.
   Uses the classes: IJ, ImagePlus, and ImageProcessor.

   The program terminates when the image window is closed.
   
   Usage:
     > compile ShowPic.java
     > run ShowPic <fnm>
   e.g.
     > run ShowPic frankenburg-1918.png
     > run ShowPic boats.png

*/

import java.util.*;

import ij.*;
import ij.process.*;  // for ImageProcessor


public class ShowPic
{

  public static void main(String[] args)
  {
    if (args.length != 1) {
      System.out.println("Usage: run ShowPic <fnm>");
      return;
    }

    System.out.println("ImageJ version: " + IJ.getVersion());
    System.out.println("Java version: " + IJ.javaVersion());

    ImagePlus imp = new ImagePlus(args[0]);
    imp.show();

    System.out.println("\nTitle: " + imp.getTitle() + 
                        "; ID: " + imp.getID());
    System.out.println("Dimensions: " + 
            Arrays.toString(imp.getDimensions()));
         // width, height, nChannels, nSlices, nFrames
    System.out.println("No. of channels: " + imp.getNChannels());

    System.out.println(imp.getStatistics());

    ImageProcessor imProc = imp.getProcessor();
    System.out.println("Is grayscale: " + imProc.isGrayscale());
  } /* main */


}  // end of ShowPic class
