Skip to content


# ReadPNM

VTKEx/Java/IO/ReadPNM

### Description

vtkPNMReader is a source object that reads pnm (portable anymap) files. This includes .pbm (bitmap), .pgm (grayscale), and .ppm (pixmap) files. (Currently this object only reads binary versions of these files.)

PNMReader creates structured point datasets. The dimension of the dataset depends upon the number of files read. Reading a single file results in a 2D image, while reading more than one file results in a 3D volume.

Other languages

See (Cxx), (CSharp)

Question

If you have a simple question about this example contact us at VTKExProject If your question is more complex and may require extended discussion, please use the VTK Discourse Forum

### Code

ReadPNM.java

    import vtk.vtkNativeLibrary;
    import vtk.vtkRenderWindowInteractor;
    import vtk.vtkPNMReader;
    import vtk.vtkImageViewer2;

    public class ReadPNM
    {
      // -----------------------------------------------------------------
      // Load VTK library and print which library was not properly loaded
      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[])
      {

        //parse command line arguments
        if (args.length != 1)
        {
          System.err.println("Usage: java -classpath ... Filename(.pnm) e.g Gourds.pnm");
          return;
        }
        String inputFilename = args[0];

        vtkPNMReader reader = new vtkPNMReader();
        reader.SetFileName(inputFilename);
        reader.Update();

        // Visualize
        vtkImageViewer2 imageViewer = new vtkImageViewer2();
        imageViewer.SetInputConnection(reader.GetOutputPort());
        vtkRenderWindowInteractor renderWindowInteractor =new vtkRenderWindowInteractor();
        imageViewer.SetupInteractor(renderWindowInteractor);
        imageViewer.Render();
        imageViewer.GetRenderer().ResetCamera();
        imageViewer.Render();

        renderWindowInteractor.Start();

       }
    }