Class ModelSurfaceExtractor
java.lang.Object
WildMagic.LibImagics.Extraction.ExtractSurfaceTetra
gov.nih.mipav.view.renderer.J3D.model.structures.ModelSurfaceExtractor
- All Implemented Interfaces:
Serializable
public class ModelSurfaceExtractor
extends WildMagic.LibImagics.Extraction.ExtractSurfaceTetra
A level surface extractor that is based on decomposing voxels into tetrahedra, assuming a linear interpolation on the
tetrahedra, and extracting triangular level sets for those tetrahedra. The resulting level surface is a triangle
mesh. A detailed discussion of the algorithm is found in Level Set
Extraction
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class WildMagic.LibImagics.Extraction.ExtractSurfaceTetra
WildMagic.LibImagics.Extraction.ExtractSurfaceTetra.Triangle, WildMagic.LibImagics.Extraction.ExtractSurfaceTetra.Vertex -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate TransMatrixDOCUMENT ME!private int[]DOCUMENT ME!private floatDOCUMENT ME!private floatDOCUMENT ME!private floatDOCUMENT ME!private float[]DOCUMENT ME!Fields inherited from class WildMagic.LibImagics.Extraction.ExtractSurfaceTetra
m_aiData, m_iNextIndex, m_iXBound, m_iXYProduct, m_iXYZProduct, m_iYBound, m_iZBound, m_kCentroid, m_kE0, m_kE1, m_kGradient, m_kN, m_kTSet, m_kV0, m_kV1, m_kV2, m_kVMap -
Constructor Summary
ConstructorsConstructorDescriptionModelSurfaceExtractor(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
Modifier and TypeMethodDescriptionget(float iLevel, ViewJProgressBar progressBar) Construct a level surface from the 3D image managed by the extractor.Methods inherited from class WildMagic.LibImagics.Extraction.ExtractSurfaceTetra
addTriangle, addVertex, ExtractContour, ExtractContour, getFunction, getGradient, processTetrahedron
-
Field Details
-
dicomMatrix
DOCUMENT ME! -
direction
private int[] directionDOCUMENT ME! -
m_fXDelta
private float m_fXDeltaDOCUMENT ME! -
m_fYDelta
private float m_fYDeltaDOCUMENT ME! -
m_fZDelta
private float m_fZDeltaDOCUMENT ME! -
startLocation
private float[] startLocationDOCUMENT ME!
-
-
Constructor Details
-
ModelSurfaceExtractor
public ModelSurfaceExtractor(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 imageiYBound- the number of rows in the 3D imageiZBound- the number of slices in the 3D imageaiData- 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 startLocationdicomMatrix- DOCUMENT ME!
-
-
Method Details
-
get
Construct a level surface from the 3D image managed by the extractor.- Parameters:
iLevel- the desired level value, in [min(image),max(image)]progressBar- DOCUMENT ME!- Returns:
- a triangle mesh that represents the level surface
-