java.lang.Object
gov.nih.mipav.view.renderer.J3D.surfaceview.rfaview.BurnBaseView
Direct Known Subclasses:
BurnCoolTipView, BurnHeatView, BurnRegularView

public class BurnBaseView extends Object
The default probe burning type view. The class define the default burning point's geometry shape, and burning path mark behavior.
Author:
Ruida Cheng
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    protected class 
    A representation of an edge for the vertex-edge-triangle table.
    class 
    DOCUMENT ME!
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    (package private) javax.vecmath.Color3f
    Define attenuation lighting colors.
    (package private) javax.vecmath.Color3f
    DOCUMENT ME!
    (package private) javax.vecmath.Color3f
    DOCUMENT ME!
    protected javax.vecmath.Color4f
    Burning point surface color.
    protected int
    Current burning point index.
    protected javax.media.j3d.BranchGroup[]
    Burning point branch group array, used to switch between different buring point.
    protected javax.media.j3d.BranchGroup
    The root branch group the default burning point.
    protected int
    Burning type.
    (package private) javax.vecmath.Color3f
    DOCUMENT ME!
    (package private) javax.vecmath.Color3f
    DOCUMENT ME!
    protected int
    Volume difference in voxels for the tumor surface and burning sphere, ellipsoid packings.
    (package private) javax.vecmath.Color3f
    DOCUMENT ME!
    (package private) javax.vecmath.Color3f
    DOCUMENT ME!
    (package private) Vector<Integer>
    vector stack to record the burning index.
    protected float[]
    DOCUMENT ME!
    protected int[]
    DOCUMENT ME!
    protected int[]
    The 3D MRI image stored as a 1D array.
    protected BitSet
    DOCUMENT ME!
    DOCUMENT ME!
    private javax.media.j3d.Shape3D[]
    DOCUMENT ME!
    protected javax.vecmath.Point3f[]
    DOCUMENT ME!
    protected float
    The size of a voxel, in voxel units.
    protected float
    The size of a voxel, in voxel units.
    protected float
    The size of a voxel, in voxel units.
    protected int
    DOCUMENT ME!
    protected int
    DOCUMENT ME!
    protected int
    DOCUMENT ME!
    protected int
    DOCUMENT ME!
    protected int
    DOCUMENT ME!
    protected int
    DOCUMENT ME!
    protected int
    histogram parameters.
    protected int
    The MRI image bounds and quantity of voxels.
    protected int
    DOCUMENT ME!
    protected int
    mesh data.
    protected int
    The MRI image bounds and quantity of voxels.
    protected int
    The MRI image bounds and quantity of voxels.
    protected int
    The MRI image bounds and quantity of voxels.
    protected javax.vecmath.Point3f
    DOCUMENT ME!
    DOCUMENT ME!
    protected javax.vecmath.Matrix3f
    DOCUMENT ME!
    Reference to Mask burning attribute.
    protected int
    Initialized the number of burning point.
    private int
    factor above median at which edge values are taken to zero.
    (package private) javax.vecmath.Color3f
    DOCUMENT ME!
    (package private) javax.vecmath.Color4f
    DOCUMENT ME!
    protected com.sun.j3d.utils.picking.PickCanvas
    Agent to set the burning point sphere pickable.
    (package private) javax.vecmath.Color3f
    DOCUMENT ME!
    protected JPanelProbe
    JPanelProbe reference.
    (package private) javax.vecmath.Color3f
    DOCUMENT ME!
    (package private) javax.vecmath.Color4f
    DOCUMENT ME!
    private float
    image space burning point radius.
    protected javax.vecmath.Point3f
    Burning sphere radius, semiX, Y, Z in point format.
    (package private) javax.vecmath.Color3f
    Define colors.
    (package private) javax.vecmath.Color3f
    DOCUMENT ME!
    protected boolean
    Flag to show the burning point label.
    (package private) javax.vecmath.Color3f
    DOCUMENT ME!
    protected javax.media.j3d.BranchGroup[]
    Default burning point array.
    protected com.sun.j3d.utils.geometry.Sphere
    Burning point sphere.
    protected SurfaceRender
    Surface Render reference.
    protected javax.media.j3d.BranchGroup[]
    Burning point label array.
    protected javax.vecmath.Vector3f
    Burning point center.
    protected BitSet
    Reference to burning point voluem mask.
    protected float
    Default volume space burning point radius.
    (package private) javax.vecmath.Color3f
    DOCUMENT ME!
  • Constructor Summary

    Constructors
    Constructor
    Description
    BurnBaseView(SurfaceRender _surfaceRender, JPanelProbe _probePanel, javax.media.j3d.BranchGroup _burnRootParentBG)
    Constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    buildBurnSceneGraph(float radius, float time)
    Build the image scene graph structure.
    void
    buildBurnSceneGraph(float radius, float time, javax.vecmath.Color3f color, int index)
    Only used by the default burning point type to reset the image sence graph when the burning sphere radius and time changes.
    protected javax.media.j3d.BranchGroup
    Build the entry point image scene graph structure.
    protected void
    buildText(int index, String str, javax.vecmath.Vector3f pos)
    Attach some 3D text to a BranchGroup or TransformGroup.
    void
    Calculate the burning points total volume.
    protected void
    Identify all voxels that are inside or on the mesh that represents the brain surface.
    protected javax.media.j3d.BranchGroup
    createSurface(ModelTriangleMesh[] meshes, javax.vecmath.Color4f color, int mode)
    Creates a surface in the scene graph from an array of triangle meshes.
    void
    Dispose memory.
    void
    enableBurnLabels(boolean flag)
    Attach or detach burn labels.
    protected void
    Approximate the brain surface by an ellipsoid.
    int
    findBurnPoint(javax.media.j3d.Shape3D pickedShape)
    Check whether the burning sphere is picked or not.
    protected void
    floodFill(int iX, int iY, int iZ)
    Identify voxels enclosed by the brain surface by using a flood fill.
    protected void
    generateEllipsoidMesh(int burnType, float tipLen, int iSubdivisions, boolean isImageSpace)
    Tessellate a unit sphere centered at the origin.
    protected void
    generateSphereMesh(int iSubdivisions, boolean isImageSpace)
    Tessellate a unit sphere centered at the origin.
    Get the burnning point ( sphere packing or ellipsoid packing ) mask.
    javax.vecmath.Color4f
    Get the buring point surface color.
    final float
    Get the volume difference btw tumor surface and burning sphere packings.
    protected final int
    getIndex(int iX, int iY, int iZ)
    A convenience function for mapping the 3D voxel position (iX,iY,iZ) to a 1D array index.
    protected void
    Identify all voxels that are inside or on the mesh that represents the brain surface.
    protected int
    getIntersectX(javax.vecmath.Point3f kV0, javax.vecmath.Point3f kV1, javax.vecmath.Point3f kV2, int iY, int iZ)
    Compute the point of intersection between a line (0,iY,iZ)+t(1,0,0) and the triangle defined by the three input points.
    protected int
    getIntersectY(javax.vecmath.Point3f kV0, javax.vecmath.Point3f kV1, javax.vecmath.Point3f kV2, int iX, int iZ)
    Compute the point of intersection between a line (iX,0,iZ)+t(0,1,0) and the triangle defined by the three input points.
    protected int
    getIntersectZ(javax.vecmath.Point3f kV0, javax.vecmath.Point3f kV1, javax.vecmath.Point3f kV2, int iX, int iY)
    Compute the point of intersection between a line (iX,iY,0)+t(0,0,1) and the triangle defined by the three input points.
    javax.vecmath.Point3f
    Get the radius( semiX, semiY, semiZ).
    static javax.vecmath.Vector3f
    getRotAngle(javax.media.j3d.Transform3D t3D)
    DOCUMENT ME!
    protected javax.media.j3d.Shape3D
    getShape(javax.media.j3d.BranchGroup root)
    Get the shape burning point surface.
    javax.media.j3d.BranchGroup
    Get the current burning point brach group.
    javax.vecmath.Vector3f
    Get the burning point center coordinates.
    final float
    Get the total tumor voxels of the current treatment in mm^3.
    void
    Analyze the histogram of the 10-bit binned 3D MRI.
    protected javax.media.j3d.BranchGroup
    Mark the probing guide line.
    protected void
    reGenerateEllipsoidMesh(int iSubdivisions, float tipLen, boolean isImageSpace, javax.vecmath.Point3f center, javax.media.j3d.Transform3D centerTransform)
    Tessellate a unit sphere centered at the origin.
    protected void
    reGenerateSphereMesh(int iSubdivisions, javax.vecmath.Point3f center, javax.media.j3d.Transform3D centerTransform)
    Tessellate a unit sphere centered at the origin.
    protected void
    Initialize the mask burning vector.
    protected void
    setVolumeMask(BitSet _volumeMask)
    Initial the volume mask from burnBase.
    void
    startBurn(float tipLen, float time, int _index)
    Start burning.

    Methods inherited from class java.lang.Object

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

    • burnColor

      protected javax.vecmath.Color4f burnColor
      Burning point surface color.
    • burnIndex

      protected int burnIndex
      Current burning point index.
    • burningBG

      protected javax.media.j3d.BranchGroup[] burningBG
      Burning point branch group array, used to switch between different buring point.
    • burnRootParentBG

      protected javax.media.j3d.BranchGroup burnRootParentBG
      The root branch group the default burning point.
    • burnType

      protected int burnType
      Burning type.
    • diffVoxels

      protected int diffVoxels
      Volume difference in voxels for the tumor surface and burning sphere, ellipsoid packings.
    • m_afLength

      protected float[] m_afLength
      DOCUMENT ME!
    • m_aiConnect

      protected int[] m_aiConnect
      DOCUMENT ME!
    • m_aiImage

      protected int[] m_aiImage
      The 3D MRI image stored as a 1D array. The mapping from (x,y,z) to 1D is: index = x + xbound*(y + ybound*z).
    • m_aiMask

      protected BitSet m_aiMask
      DOCUMENT ME!
    • m_akAdjacent

      protected BurnBaseView.UnorderedSetInt[] m_akAdjacent
      DOCUMENT ME!
    • m_akVertex

      protected javax.vecmath.Point3f[] m_akVertex
      DOCUMENT ME!
    • m_fXDelta

      protected float m_fXDelta
      The size of a voxel, in voxel units.
    • m_fYDelta

      protected float m_fYDelta
      The size of a voxel, in voxel units.
    • m_fZDelta

      protected float m_fZDelta
      The size of a voxel, in voxel units.
    • m_iBackThreshold

      protected int m_iBackThreshold
      DOCUMENT ME!
    • m_iBrightThreshold

      protected int m_iBrightThreshold
      DOCUMENT ME!
    • m_iDMax

      protected int m_iDMax
      DOCUMENT ME!
    • m_iEQuantity

      protected int m_iEQuantity
      DOCUMENT ME!
    • m_iMaxThreshold

      protected int m_iMaxThreshold
      DOCUMENT ME!
    • m_iMedianIntensity

      protected int m_iMedianIntensity
      DOCUMENT ME!
    • m_iMinThreshold

      protected int m_iMinThreshold
      histogram parameters.
    • m_iTQuantity

      protected int m_iTQuantity
      DOCUMENT ME!
    • m_iVQuantity

      protected int m_iVQuantity
      mesh data.
    • m_iXBound

      protected int m_iXBound
      The MRI image bounds and quantity of voxels.
    • m_iYBound

      protected int m_iYBound
      The MRI image bounds and quantity of voxels.
    • m_iZBound

      protected int m_iZBound
      The MRI image bounds and quantity of voxels.
    • m_iQuantity

      protected int m_iQuantity
      The MRI image bounds and quantity of voxels.
    • m_kCenter

      protected javax.vecmath.Point3f m_kCenter
      DOCUMENT ME!
    • m_kEMap

      protected HashMap<BurnBaseView.Edge,Integer> m_kEMap
      DOCUMENT ME!
    • m_kRotate

      protected javax.vecmath.Matrix3f m_kRotate
      DOCUMENT ME!
    • maskBurnVector

      protected Vector<MaskBurnAttribute> maskBurnVector
      Reference to Mask burning attribute.
    • numBurn

      protected int numBurn
      Initialized the number of burning point.
    • pickCanvas

      protected com.sun.j3d.utils.picking.PickCanvas pickCanvas
      Agent to set the burning point sphere pickable.
    • probePanel

      protected JPanelProbe probePanel
      JPanelProbe reference.
    • radiusPt

      protected javax.vecmath.Point3f radiusPt
      Burning sphere radius, semiX, Y, Z in point format.
    • showLabels

      protected boolean showLabels
      Flag to show the burning point label.
    • sphereBG

      protected javax.media.j3d.BranchGroup[] sphereBG
      Default burning point array.
    • spheres

      protected com.sun.j3d.utils.geometry.Sphere spheres
      Burning point sphere.
    • surfaceRender

      protected SurfaceRender surfaceRender
      Surface Render reference.
    • textLabelBG

      protected javax.media.j3d.BranchGroup[] textLabelBG
      Burning point label array.
    • translate

      protected javax.vecmath.Vector3f translate
      Burning point center.
    • volumeMask

      protected BitSet volumeMask
      Reference to burning point voluem mask.
    • volumeSpaceRadius

      protected float volumeSpaceRadius
      Default volume space burning point radius.
    • ambientColor

      javax.vecmath.Color3f ambientColor
      Define attenuation lighting colors.
    • black

      javax.vecmath.Color3f black
      DOCUMENT ME!
    • blue

      javax.vecmath.Color3f blue
      DOCUMENT ME!
    • cyan

      javax.vecmath.Color3f cyan
      DOCUMENT ME!
    • diffuseColor

      javax.vecmath.Color3f diffuseColor
      DOCUMENT ME!
    • emissiveColor

      javax.vecmath.Color3f emissiveColor
      DOCUMENT ME!
    • green

      javax.vecmath.Color3f green
      DOCUMENT ME!
    • indexVector

      Vector<Integer> indexVector
      vector stack to record the burning index.
    • orange

      javax.vecmath.Color3f orange
      DOCUMENT ME!
    • orangeColor

      javax.vecmath.Color4f orangeColor
      DOCUMENT ME!
    • pink

      javax.vecmath.Color3f pink
      DOCUMENT ME!
    • purple

      javax.vecmath.Color3f purple
      DOCUMENT ME!
    • purpleColor

      javax.vecmath.Color4f purpleColor
      DOCUMENT ME!
    • red

      javax.vecmath.Color3f red
      Define colors.
    • sepcualarColor

      javax.vecmath.Color3f sepcualarColor
      DOCUMENT ME!
    • silver

      javax.vecmath.Color3f silver
      DOCUMENT ME!
    • yellow

      javax.vecmath.Color3f yellow
      DOCUMENT ME!
    • m_akSurfaceShape

      private javax.media.j3d.Shape3D[] m_akSurfaceShape
      DOCUMENT ME!
    • nVoxels

      private int nVoxels
      factor above median at which edge values are taken to zero.
    • radius

      private float radius
      image space burning point radius.
  • Constructor Details

    • BurnBaseView

      public BurnBaseView(SurfaceRender _surfaceRender, JPanelProbe _probePanel, javax.media.j3d.BranchGroup _burnRootParentBG)
      Constructor. Setup the burning point related branch groups.
      Parameters:
      _surfaceRender - SurfaceRender refernece.
      _probePanel - JPanelProbe probe control panel reference.
      _burnRootParentBG - BranchGroup root of the burning point.
  • Method Details

    • getRotAngle

      public static javax.vecmath.Vector3f getRotAngle(javax.media.j3d.Transform3D t3D)
      DOCUMENT ME!
      Parameters:
      t3D - DOCUMENT ME!
      Returns:
      DOCUMENT ME!
    • buildBurnSceneGraph

      public void buildBurnSceneGraph(float radius, float time)
      Build the image scene graph structure.
      Parameters:
      radius - burning point sphere radius
      time - burning point burning time duration.
    • buildBurnSceneGraph

      public void buildBurnSceneGraph(float radius, float time, javax.vecmath.Color3f color, int index)
      Only used by the default burning point type to reset the image sence graph when the burning sphere radius and time changes.
      Parameters:
      radius - burning sphere radius
      time - burning sphere duration time
      color - burning sphere color
      index - selected burning sphere index
    • calcTotalVolume

      public void calcTotalVolume(SurfaceAttributes surface, TreatmentInformation treatment)
      Calculate the burning points total volume.
      Parameters:
      surface - SurfaceAttributes reference
      treatment - TreatmentInformation reference
    • dispose

      public void dispose()
      Dispose memory.
    • enableBurnLabels

      public void enableBurnLabels(boolean flag)
      Attach or detach burn labels.
      Parameters:
      flag - whether to show the labels
    • findBurnPoint

      public int findBurnPoint(javax.media.j3d.Shape3D pickedShape)
      Check whether the burning sphere is picked or not.
      Parameters:
      pickedShape - sphere burning shape.
      Returns:
      int burning point index
    • getBurnMask

      public BitSet getBurnMask()
      Get the burnning point ( sphere packing or ellipsoid packing ) mask.
      Returns:
      BitSet Burning point volume mask.
    • getColor

      public javax.vecmath.Color4f getColor()
      Get the buring point surface color.
      Returns:
      Color4f burning color.
    • getDiffVolume

      public final float getDiffVolume()
      Get the volume difference btw tumor surface and burning sphere packings.
      Returns:
      float differenct volume in mm space.
    • getRadius

      public javax.vecmath.Point3f getRadius()
      Get the radius( semiX, semiY, semiZ).
      Returns:
      Point3f radius
    • getSphereBG

      public javax.media.j3d.BranchGroup getSphereBG()
      Get the current burning point brach group.
      Returns:
      BranchGroup burning point branch group reference.
    • getTranslate

      public javax.vecmath.Vector3f getTranslate()
      Get the burning point center coordinates. Called by the probe control panel to show the current burning point center.
      Returns:
      Vector3f burning point center coordinate.
    • getVolume

      public final float getVolume()
      Get the total tumor voxels of the current treatment in mm^3.
      Returns:
      float tumor volume in mm space.
    • histogramAnalysis

      public void histogramAnalysis()
      Analyze the histogram of the 10-bit binned 3D MRI. The function computes a minimum threshold, a maximum threshold, and a background threshold that are used in the image term of the surface evolution. A brightness threshold is also computed that is used for determining the initial ellipsoid that approximates the brain surface.
    • startBurn

      public void startBurn(float tipLen, float time, int _index)
      Start burning. Show the burning sphere and probing path.
      Parameters:
      tipLen - the length of the probe tip (cm)
      time - the time spent burning
      _index - index of the new burn
    • buildEntryPoint

      protected javax.media.j3d.BranchGroup buildEntryPoint()
      Build the entry point image scene graph structure.
      Returns:
      BranchGroup the entry point root branch group.
    • buildText

      protected void buildText(int index, String str, javax.vecmath.Vector3f pos)
      Attach some 3D text to a BranchGroup or TransformGroup.
      Parameters:
      index - the group to attach the text to
      str - the text to show
      pos - where to place the text
    • calcVoxels

      protected void calcVoxels()
      Identify all voxels that are inside or on the mesh that represents the brain surface. The surface voxels are constructed by rasterizing the triangles of the mesh in 3D. The centroid of these voxels is used as a seed point for a flood fill of the region enclosed by the surface.
    • createSurface

      protected javax.media.j3d.BranchGroup createSurface(ModelTriangleMesh[] meshes, javax.vecmath.Color4f color, int mode)
      Creates a surface in the scene graph from an array of triangle meshes.
      Parameters:
      meshes - Triangle meshes that make up surface
      color - Color of surface
      mode - DOCUMENT ME!
      Returns:
      Parent node of surface.
    • estimateEllipsoid

      protected void estimateEllipsoid()
      Approximate the brain surface by an ellipsoid. The approximation is based on locating all voxels of intensity larger than a brightness threshold and that are part of the upper-half of the head. The idea is that the scalp voxels in the upper-half form lie approximately on an ellipsoidal surface.

      NOTE. The assumption is that the traversal from bottom to top of head is in the y-direction of the 3D image. It does not matter if the top of the head has y-values smaller/larger than those for the bottom of the head. If this assumption is not met, the image should be permuted OR this code must be modified to attempt to recognize the orientation of the head

    • floodFill

      protected void floodFill(int iX, int iY, int iZ)
      Identify voxels enclosed by the brain surface by using a flood fill. The flood fill is nonrecursive to avoid overflowing the program stack.
      Parameters:
      iX - the x-value of the seed point for the fill
      iY - the y-value of the seed point for the fill
      iZ - the z-value of the seed point for the fill
    • generateEllipsoidMesh

      protected void generateEllipsoidMesh(int burnType, float tipLen, int iSubdivisions, boolean isImageSpace)
      Tessellate a unit sphere centered at the origin. Start with an octahedron and subdivide. The final mesh is then affinely mapped to the initial ellipsoid produced by estimateEllipsoid(). The subdivision scheme is described in BrainExtraction.pdf.
      Parameters:
      burnType - the type of the burn
      tipLen - the length of the probe tip, in cm
      iSubdivisions - the number of levels to subdivide the ellipsoid
      isImageSpace - whether to get the mesh in image space
    • generateSphereMesh

      protected void generateSphereMesh(int iSubdivisions, boolean isImageSpace)
      Tessellate a unit sphere centered at the origin. Start with an octahedron and subdivide. The final mesh is then affinely mapped to the initial ellipsoid produced by estimateEllipsoid(). The subdivision scheme is described in BrainExtraction.pdf.
      Parameters:
      iSubdivisions - the number of levels to subdivide the ellipsoid
      isImageSpace - DOCUMENT ME!
    • getIndex

      protected final int getIndex(int iX, int iY, int iZ)
      A convenience function for mapping the 3D voxel position (iX,iY,iZ) to a 1D array index. The images are stored as 1D arrays, so this function is used frequently.
      Parameters:
      iX - the x-value of the voxel position
      iY - the y-value of the voxel position
      iZ - the z-value of the voxel position
      Returns:
      the 1D array index corresponding to (iX,iY,iZ)
    • getInsideVoxels

      protected void getInsideVoxels()
      Identify all voxels that are inside or on the mesh that represents the brain surface. The surface voxels are constructed by rasterizing the triangles of the mesh in 3D. The centroid of these voxels is used as a seed point for a flood fill of the region enclosed by the surface.
    • getIntersectX

      protected int getIntersectX(javax.vecmath.Point3f kV0, javax.vecmath.Point3f kV1, javax.vecmath.Point3f kV2, int iY, int iZ)
      Compute the point of intersection between a line (0,iY,iZ)+t(1,0,0) and the triangle defined by the three input points. All calculations are in voxel coordinates and the x-value of the intersection point is truncated to an integer.
      Parameters:
      kV0 - a 3D vertex of the triangle
      kV1 - a 3D vertex of the triangle
      kV2 - a 3D vertex of the triangle
      iY - the y-value of the origin of the line
      iZ - the z-value of the origin of the line
      Returns:
      the x-value of the intersection
    • getIntersectY

      protected int getIntersectY(javax.vecmath.Point3f kV0, javax.vecmath.Point3f kV1, javax.vecmath.Point3f kV2, int iX, int iZ)
      Compute the point of intersection between a line (iX,0,iZ)+t(0,1,0) and the triangle defined by the three input points. All calculations are in voxel coordinates and the y-value of the intersection point is truncated to an integer.
      Parameters:
      kV0 - a 3D vertex of the triangle
      kV1 - a 3D vertex of the triangle
      kV2 - a 3D vertex of the triangle
      iX - the x-value of the origin of the line
      iZ - the z-value of the origin of the line
      Returns:
      the y-value of the intersection
    • getIntersectZ

      protected int getIntersectZ(javax.vecmath.Point3f kV0, javax.vecmath.Point3f kV1, javax.vecmath.Point3f kV2, int iX, int iY)
      Compute the point of intersection between a line (iX,iY,0)+t(0,0,1) and the triangle defined by the three input points. All calculations are in voxel coordinates and the z-value of the intersection point is truncated to an integer.
      Parameters:
      kV0 - a 3D vertex of the triangle
      kV1 - a 3D vertex of the triangle
      kV2 - a 3D vertex of the triangle
      iX - the x-value of the origin of the line
      iY - the y-value of the origin of the line
      Returns:
      the z-value of the intersection
    • getShape

      protected javax.media.j3d.Shape3D getShape(javax.media.j3d.BranchGroup root)
      Get the shape burning point surface.
      Parameters:
      root - Burning point branchGroup
      Returns:
      Shape3D Shape object
    • markProbe

      protected javax.media.j3d.BranchGroup markProbe()
      Mark the probing guide line.
      Returns:
      BranchGroup return the guide line root reference.
    • reGenerateEllipsoidMesh

      protected void reGenerateEllipsoidMesh(int iSubdivisions, float tipLen, boolean isImageSpace, javax.vecmath.Point3f center, javax.media.j3d.Transform3D centerTransform)
      Tessellate a unit sphere centered at the origin. Start with an octahedron and subdivide. The final mesh is then affinely mapped to the initial ellipsoid produced by estimateEllipsoid(). The subdivision scheme is described in BrainExtraction.pdf.
      Parameters:
      iSubdivisions - the number of levels to subdivide the ellipsoid
      tipLen - float the tip length
      isImageSpace - is image space, always true
      center - Point3f burning center point coordinate
      centerTransform - burning center transform
    • reGenerateSphereMesh

      protected void reGenerateSphereMesh(int iSubdivisions, javax.vecmath.Point3f center, javax.media.j3d.Transform3D centerTransform)
      Tessellate a unit sphere centered at the origin. Start with an octahedron and subdivide. The final mesh is then affinely mapped to the initial ellipsoid produced by estimateEllipsoid(). The subdivision scheme is described in BrainExtraction.pdf.
      Parameters:
      iSubdivisions - the number of levels to subdivide the ellipsoid
      center - Point3f burning center point coordinate
      centerTransform - burning center transform
    • setMaskBurnVector

      protected void setMaskBurnVector(Vector<MaskBurnAttribute> _vector)
      Initialize the mask burning vector.
      Parameters:
      _vector - MaskBurnVector reference.
    • setVolumeMask

      protected void setVolumeMask(BitSet _volumeMask)
      Initial the volume mask from burnBase.
      Parameters:
      _volumeMask - byte[] array volume mask array.