Class SurfaceExtractorCubes

  • All Implemented Interfaces:
    java.io.Serializable

    public class SurfaceExtractorCubes
    extends WildMagic.LibImagics.Extraction.ExtractSurfaceCubes
    A level surface extractor that is based on decomposing voxels into cubes, assuming a linear interpolation on the cubes, and extracting triangular level sets for those cubes. The resulting level surface is a triangle mesh.
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class WildMagic.LibImagics.Extraction.ExtractSurfaceCubes

        WildMagic.LibImagics.Extraction.ExtractSurfaceCubes.Triangle, WildMagic.LibImagics.Extraction.ExtractSurfaceCubes.VETable
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private TransMatrix dicomMatrix
      Dicom Matrix
      private float[] m_afStartLocation
      Surface 3D location
      private int[] m_aiDirection
      Surface direction
      private float m_fXDelta
      Relative voxel size.
      private float m_fYDelta
      Relative voxel size.
      private float m_fZDelta
      Relative voxel size.
      • Fields inherited from class WildMagic.LibImagics.Extraction.ExtractSurfaceCubes

        EB_XMAX_YMAX, EB_XMAX_YMIN, EB_XMAX_ZMAX, EB_XMAX_ZMIN, EB_XMIN_YMAX, EB_XMIN_YMIN, EB_XMIN_ZMAX, EB_XMIN_ZMIN, EB_YMAX_ZMAX, EB_YMAX_ZMIN, EB_YMIN_ZMAX, EB_YMIN_ZMIN, EI_XMAX_YMAX, EI_XMAX_YMIN, EI_XMAX_ZMAX, EI_XMAX_ZMIN, EI_XMIN_YMAX, EI_XMIN_YMIN, EI_XMIN_ZMAX, EI_XMIN_ZMIN, EI_YMAX_ZMAX, EI_YMAX_ZMIN, EI_YMIN_ZMAX, EI_YMIN_ZMIN, FI_XMAX, FI_XMIN, FI_YMAX, FI_YMIN, FI_ZMAX, FI_ZMIN, m_aiData, m_iXBound, m_iXYBound, m_iYBound, m_iZBound, m_kCentroid, m_kE0, m_kE1, m_kGradient, m_kN
    • Constructor Summary

      Constructors 
      Constructor Description
      SurfaceExtractorCubes​(int iXBound, int iYBound, int iZBound, int[] aiData, float fXDelta, float fYDelta, float fZDelta, int[] direction, float[] startLocation, TransMatrix dicomMatrix)
      Create a level surface extractor for a 3D image.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      WildMagic.LibGraphics.SceneGraph.TriMesh getLevelSurface​(int iLevel)
      Construct a level surface from the 3D image managed by the extractor.
      WildMagic.LibGraphics.SceneGraph.TriMesh getLevelSurface​(int iLevel, boolean bTransform)
      Construct a level surface from the 3D image managed by the extractor.
      WildMagic.LibGraphics.SceneGraph.TriMesh getLevelSurface​(int iLevel, java.util.Vector<int[]> kTriTable, boolean bTransform)
      Construct a level surface from the 3D image managed by the extractor.
      • Methods inherited from class WildMagic.LibImagics.Extraction.ExtractSurfaceCubes

        addVertex, ExtractContour, ExtractContour, getGradient, MakeUnique, OrientTriangles
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • dicomMatrix

        private TransMatrix dicomMatrix
        Dicom Matrix
      • m_afStartLocation

        private float[] m_afStartLocation
        Surface 3D location
      • m_aiDirection

        private int[] m_aiDirection
        Surface direction
      • m_fXDelta

        private float m_fXDelta
        Relative voxel size.
      • m_fYDelta

        private float m_fYDelta
        Relative voxel size.
      • m_fZDelta

        private float m_fZDelta
        Relative voxel size.
    • Constructor Detail

      • SurfaceExtractorCubes

        public SurfaceExtractorCubes​(int iXBound,
                                     int iYBound,
                                     int iZBound,
                                     int[] aiData,
                                     float fXDelta,
                                     float fYDelta,
                                     float fZDelta,
                                     int[] direction,
                                     float[] startLocation,
                                     TransMatrix dicomMatrix)
        Create a level surface extractor for a 3D image. The delta input values are important when the voxels are not cubic. For example, a typical MRI might have z-slice spacing about 5 times that of the x and y spacing. In this case, dx = 1, dy = 1, and dz = 5. The idea is that 1 is a 'voxel unit' and the z-slices are spaced by 5 voxel units.
        Parameters:
        iXBound - the number of columns in the 3D image
        iYBound - the number of rows in the 3D image
        iZBound - the number of slices in the 3D image
        aiData - The image data stored in order of slice indices, each slice stored in row-major order. That is, slice z=0 is stored first, slice z=1 is stored next, and so on. In slice z=0, the y=0 row is stored first, the y=1 row is stored next, and so on.
        fXDelta - the relative voxel x-size (in voxel units)
        fYDelta - the relative voxel y-size (in voxel units)
        fZDelta - the relative voxel z-size (in voxel units)
        direction - array of direction factors == 1 or -1.
        startLocation - array of startLocation
        dicomMatrix - DOCUMENT ME!
    • Method Detail

      • getLevelSurface

        public WildMagic.LibGraphics.SceneGraph.TriMesh getLevelSurface​(int iLevel,
                                                                        boolean bTransform)
        Construct a level surface from the 3D image managed by the extractor.
        Parameters:
        iLevel - the desired level value, in [min(image),max(image)]
        Returns:
        a triangle mesh that represents the level surface
      • getLevelSurface

        public WildMagic.LibGraphics.SceneGraph.TriMesh getLevelSurface​(int iLevel,
                                                                        java.util.Vector<int[]> kTriTable,
                                                                        boolean bTransform)
        Construct a level surface from the 3D image managed by the extractor.
        Parameters:
        iLevel - the desired level value, in [min(image),max(image)]
        Returns:
        a triangle mesh that represents the level surface
      • getLevelSurface

        public WildMagic.LibGraphics.SceneGraph.TriMesh getLevelSurface​(int iLevel)
        Construct a level surface from the 3D image managed by the extractor.
        Parameters:
        iLevel - the desired level value, in [min(image),max(image)]
        Returns:
        a triangle mesh that represents the level surface