# ImageTest

VTKExamples/Java/Imaging/ImageTest

### Code

ImageTest.java

    import java.awt.FileDialog;
    import java.awt.Frame;
    import vtk.*;

    public class ImageTest  {

        /**
         * ImageTest provides a means to test the ImageReader2Factory
         * Image files understood by vtk are displayed,
         * all others are reported with a message.
         */
        vtkRenderWindow renWin;
        vtkRenderWindowInteractor iren;
        vtkRenderer ren1;
        vtkImageReader2Factory imageReaderFactory;
        vtkImageReader2 imageReader;
        vtkImageActor ImageActor;
        vtkInteractorObserver imageStyle;

        // Loading Native Libraries.
        // Now it works in eclipse without any issues.
        static {
            if (!vtkNativeLibrary.LoadAllNativeLibraries()) {
              for (vtkNativeLibrary lib : vtkNativeLibrary.values()) {
                if (!lib.IsLoaded()) {
                  System.out.println(lib.GetLibraryName() + " not loaded");
                }
              }
            }
            vtkNativeLibrary.DisableOutputWindow(null);
         }

        public static void main(String[] args) {

            ImageTest me = new ImageTest();
            me.doit();

        }

        public void doit() {
            /*
             * Use a file dialog to allow selection of any file for
             * test of the imagereaderfactory.
             * only does one file per exection.
             */
            System.out.println("init in ImageTest");
            ren1 = new vtkRenderer();
            renWin = new vtkRenderWindow();
            iren = new vtkRenderWindowInteractor();
            imageStyle = new vtkInteractorStyleImage();

            FileDialog fd = new FileDialog( new Frame(),"File name to load",
                    FileDialog.LOAD);
            fd.setFile("*.*");
            fd.setVisible(true);
            String selected = fd.getFile();
            fd.setVisible(false);
            if (selected != null) {
                String outname = fd.getDirectory() + selected;

                imageReaderFactory = new vtkImageReader2Factory();
                imageReader = imageReaderFactory.CreateImageReader2(outname);
                if (imageReader != null) {
                    imageReader.SetFileName(outname);
                    imageReader.SetDataOrigin(0, 0, 0);
                    imageReader.Update();

                    ImageActor = new vtkImageActor();
                    ImageActor.SetInput(imageReader.GetOutput());
                    renWin.AddRenderer(ren1);
                    iren.SetRenderWindow(renWin);

                    iren.SetInteractorStyle(imageStyle);

                    ren1.AddActor(ImageActor);
                    renWin.AddRenderer(ren1);

                    iren.Initialize();
                    iren.Start();
                    System.out.println("Return from interactor");
                    renWin.Finalize();
                } else {
                    System.out.println("No reader found for " + outname);
                }

            } else {
                System.out.println("No file name selected");
            }

        }
    }