Class VolumeData


  • public class VolumeData
    extends java.lang.Object
    • Field Detail

      • doIterate

        public boolean doIterate
      • volumetricOrigin

        public final javajs.util.P3 volumetricOrigin
      • origin

        public final float[] origin
      • volumetricVectors

        public final javajs.util.V3[] volumetricVectors
      • voxelCounts

        public final int[] voxelCounts
      • nPoints

        public int nPoints
      • voxelData

        private float[][][] voxelData
      • voxelMap

        private java.util.Map<java.lang.Integer,​java.lang.Float> voxelMap
      • volumetricVectorLengths

        public final float[] volumetricVectorLengths
      • maxVectorLength

        private float maxVectorLength
      • minToPlaneDistance

        private float minToPlaneDistance
      • yzCount

        private int yzCount
      • unitVolumetricVectors

        public final javajs.util.V3[] unitVolumetricVectors
      • volumetricMatrix

        private final javajs.util.M3 volumetricMatrix
      • inverseMatrix

        private final javajs.util.M3 inverseMatrix
      • thePlane

        private javajs.util.P4 thePlane
      • thePlaneNormalMag

        private float thePlaneNormalMag
      • ptXyzTemp

        private final javajs.util.P3 ptXyzTemp
      • xmlData

        public java.lang.String xmlData
      • mappingPlane

        public javajs.util.P4 mappingPlane
      • mappingPlaneNormalMag

        float mappingPlaneNormalMag
      • minGrid

        public float minGrid
      • maxGrid

        public float maxGrid
      • voxelVolume

        public float voxelVolume
      • spanningVectors

        public javajs.util.V3[] spanningVectors
      • isPeriodic

        public boolean isPeriodic
      • isSquared

        private boolean isSquared
      • edgeVector

        private final javajs.util.V3 edgeVector
      • ptTemp

        private javajs.util.P3 ptTemp
    • Constructor Detail

      • VolumeData

        public VolumeData()
    • Method Detail

      • getVoxelData

        public float[][][] getVoxelData()
      • setVoxelDataAsArray

        public void setVoxelDataAsArray​(float[][][] voxelData)
      • hasPlane

        public boolean hasPlane()
      • setMappingPlane

        public void setMappingPlane​(javajs.util.P4 plane)
      • distanceToMappingPlane

        public float distanceToMappingPlane​(javajs.util.T3 pt)
      • setVolumetricOrigin

        public void setVolumetricOrigin​(float x,
                                        float y,
                                        float z)
      • getOriginFloat

        public float[] getOriginFloat()
      • getYzCount

        public int getYzCount()
      • getVolumetricVectorLengths

        public float[] getVolumetricVectorLengths()
      • setVolumetricVector

        public void setVolumetricVector​(int i,
                                        float x,
                                        float y,
                                        float z)
      • getVoxelCounts

        public int[] getVoxelCounts()
      • setVoxelCounts

        public int setVoxelCounts​(int nPointsX,
                                  int nPointsY,
                                  int nPointsZ)
      • getVoxelDataAt

        public float getVoxelDataAt​(int pt)
      • getPointIndex

        public int getPointIndex​(int x,
                                 int y,
                                 int z)
      • getPoint

        public void getPoint​(int ipt,
                             javajs.util.P3 pt)
      • setVoxelData

        public void setVoxelData​(int pt,
                                 float value)
      • setVoxelMap

        public void setVoxelMap()
      • setMatrix

        private boolean setMatrix()
      • transform

        public void transform​(javajs.util.V3 v1,
                              javajs.util.V3 v2)
      • setPlaneParameters

        public void setPlaneParameters​(javajs.util.P4 plane)
      • calcVoxelPlaneDistance

        public float calcVoxelPlaneDistance​(int x,
                                            int y,
                                            int z)
      • getToPlaneParameter

        public float getToPlaneParameter()
      • isNearPlane

        public boolean isNearPlane​(int x,
                                   int y,
                                   int z,
                                   float toPlaneParameter)
      • distancePointToPlane

        public float distancePointToPlane​(javajs.util.T3 pt)
      • voxelPtToXYZ

        public void voxelPtToXYZ​(int x,
                                 int y,
                                 int z,
                                 javajs.util.T3 pt)
      • setUnitVectors

        public boolean setUnitVectors()
      • xyzToVoxelPt

        public void xyzToVoxelPt​(float x,
                                 float y,
                                 float z,
                                 javajs.util.T3i pt3i)
      • lookupInterpolatedVoxelValue

        public float lookupInterpolatedVoxelValue​(javajs.util.T3 point,
                                                  boolean getSource)
      • mantissa

        private float mantissa​(float f)
      • getVoxelValue

        public float getVoxelValue​(int x,
                                   int y,
                                   int z)
      • getFractional2DValue

        public static float getFractional2DValue​(float fx,
                                                 float fy,
                                                 float x11,
                                                 float x12,
                                                 float x21,
                                                 float x22)
      • indexLower

        private int indexLower​(float x,
                               int xMax)
        periodic grids should have val[0] == val[xMax] voxelCount: 1....2....3....4....5 xMax/index: 0....1....2....3....4.... nonper. ^ ---> [0,0] ^ --> [4, 4] periodic ^ ---> [3,4] ^ --> [0, 1]
        Parameters:
        x -
        xMax -
        Returns:
        lower index in range
      • indexUpper

        private int indexUpper​(float x,
                               int xLower,
                               int xMax)
      • offsetCenter

        void offsetCenter​(javajs.util.P3 center)
      • setDataDistanceToPlane

        public void setDataDistanceToPlane​(javajs.util.P4 plane)
      • filterData

        public void filterData​(boolean isSquared,
                               float invertCutoff)
      • capData

        public void capData​(javajs.util.P4 plane,
                            float cutoff)
      • setVolumetricXml

        public java.lang.String setVolumetricXml()
      • setVoxelMapValue

        public void setVoxelMapValue​(int x,
                                     int y,
                                     int z,
                                     float v)
        for sparse data mapping, as for a plane
        Parameters:
        x -
        y -
        z -
        v -
      • calculateFractionalPoint

        public float calculateFractionalPoint​(float cutoff,
                                              javajs.util.P3 pointA,
                                              javajs.util.P3 pointB,
                                              float valueA,
                                              float valueB,
                                              javajs.util.P3 pt)