ImageTest
vtk-examples/Java/Imaging/ImageTest
Question
If you have a question about this example, please use the VTK Discourse Forum
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");
}
}
}