Package gov.nih.mipav.model.algorithms
Class AlgorithmVOIProps
- java.lang.Object
-
- java.lang.Thread
-
- gov.nih.mipav.model.algorithms.AlgorithmBase
-
- gov.nih.mipav.model.algorithms.AlgorithmVOIProps
-
- All Implemented Interfaces:
VOIStatisticList
,java.awt.event.ActionListener
,java.awt.event.WindowListener
,java.lang.Runnable
,java.util.EventListener
public class AlgorithmVOIProps extends AlgorithmBase implements VOIStatisticList
This class calculates a properties of an image defined by a VOI. Attributes include: volume, area, number of pixels, center of mass, average pixel intensity, standard deviation of intensity, eccentricity, principalAxis, coefficient of skewness, and coefficient of kurtosis.- Version:
- 0.1 Feb 11, 1998
- Author:
- Matthew J. McAuliffe, Ph.D.
Calculates and prepares for display image statistics generated on closed VOI Contours.
The contours can exist on any of the three orthogonal image slices.
The user can select to display the contour statistics sorted by contour, contour and slice,
slice (contours are summed over a slice), or by a total sum.
Depending on the type of output selected by the user the contours are displayed with the following information tags:
By contour : Name, ID
By contour & slice: Name, orientation, slice, ID
By slice only: Name, orientation; slice
By total VOI: Name
Most of the statistics are generated by iterating through the set of voxels that are contained within
the closed contour. These statistic calculations take advantage of the information that is generated
with the VOIBase.getMask() function and stored inside the VOIBase class. Because the information is
generated once at the start of the calculation and stored, the performance for all statistic calculations is improved.
When the VOIBase.getMask() function is called the following information is stored in the VOIBase class:
BitSet mask of voxels inside the closed contour
Vector
list of voxel positions inside the closed contour Geometric Center of the contour. The following statistics can be derived directly from the stored information: -- number of voxels -- area -- volume -- min, max, sum, average intensity -- median, mode, mode count -- standard deviation, coefficient of skewness, coefficient of kurtosis, center of mass -- geometric center When the AlgorithmVOIProps is instantiated from a dialog, the user is able to select the statistics to calculate. The list of selected statistics is passed to the AlgorithmVOIProps and only the statistics requested by the user are calculated. When AlgorithmVOIProps is accessed through another algorithm, all statistics are automatically calculated. Median statistics (median, mode, mode count) are calculated in a function that takes the list of voxels as input, can be used on a single contour or on a group of contours. Standard deviation statistics are calculated in a function that takes the list of voxel positions, can be used on a single contour or on a group of contours.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
AlgorithmVOIProps.Calc34D
-
Field Summary
Fields Modifier and Type Field Description private VOI
activeVOI
The VOI on which to perform the calculations.private java.lang.ThreadGroup
calcGroup
The top-level group of threads used for calculating.private int
consecutiveNegativeNeeded
protected boolean
distanceFlag
Whether or not to calculate largest distance (only 3D), true by defaultprotected boolean
doOnlyActiveContours
Boolean for if the algorithm should ONLY check active contoursprivate double
negativeCurvatureNeeded
private double
negativeHysteresisFraction
protected java.text.DecimalFormat
nf
Formatting for float values into strings.protected java.text.DecimalFormat
nfe
private double
positiveHysteresisFraction
static int
PROCESS_PER_CONTOUR
Algorithm maintains separate statistics per contourstatic int
PROCESS_PER_SLICE
Algorithm sums all statistics from each contour on the same slicestatic int
PROCESS_PER_SLICE_AND_CONTOUR
Algorithm maintains separate statistics per contour and denotes the slice of each contourstatic int
PROCESS_PER_VOI
Algorithm sums all statistics for the entire VOIprotected int
processType
How the VOI calculations should be performed (entire, contour, slice).protected java.util.Vector<VOIStatisticalProperties>
propertyList
Vector to hold all properties calculated within the algorithm for later access.protected JPanelPixelExclusionSelector.RangeType
rangeFlag
Specifies how a range of pixels is excluded from VOI calculations.protected ViewVOIVector
selectedVOIset
Vector of all VOIs that will have calculations performed.protected boolean
showTotals
Whether or not to show totals for each calculation.protected boolean
sliceDistanceFlag
Whether or not to calculate largest slice distance, true by defaultprivate boolean
smoothCurvature
protected boolean[]
statsList
-
Fields inherited from class gov.nih.mipav.model.algorithms.AlgorithmBase
destFlag, destImage, image25D, mask, maxProgressValue, minProgressValue, multiThreadingEnabled, nthreads, progress, progressModulus, progressStep, runningInSeparateThread, separable, srcImage, threadStopped
-
Fields inherited from interface gov.nih.mipav.model.structures.VOIStatisticList
areaDescription, asymmetryIndexDescription, avgIntensity, axisDescription, circularityDescription, deviationDescription, eccentricityDescription, fractalDimensionBoxCountDescription, fractalDimensionEuclideanDistanceDescription, geometricCenterDescription, invariantMoment1Description, invariantMoment2Description, invariantMoment3Description, invariantMoment4Description, invariantMoment5Description, invariantMoment6Description, invariantMoment7Description, kurtosisDescription, largestDistanceDescription, largestSliceDistanceDescription, majorAxisDescription, massCenterDescription, maxIntensity, maxWidthDescription, meanCurvatureDescription, meanNegativeCurvatureDescription, median, minIntensity, minorAxisDescription, mode, modeCount, numberOfIndentationsCurvatureDescription, numberOfIndentationsHullDescription, numberOfStatistics, perimeterDescription, quantityDescription, skewnessDescription, solidityDescription, statisticDescription, stdDevCurvatureDescription, sumIntensities, surfaceAreaDescription, volumeDescription
-
-
Constructor Summary
Constructors Constructor Description AlgorithmVOIProps(ModelImage srcImg, int pType, JPanelPixelExclusionSelector.RangeType rangeFlag, ViewVOIVector voiSet)
constructor. note that if there are no VOIs to act on, this constructor returns quietly.AlgorithmVOIProps(ModelImage srcImg, int processType, ViewVOIVector voiSet)
constructor.AlgorithmVOIProps(ModelImage srcImg, ViewVOIVector voiSet)
constructor. sets the source image of the algorithm, and presets the algorithm to calculate properties of 3D images as a volume of interest, rather than by slice.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.String
addScannerLabels(java.lang.String baseString, WildMagic.LibFoundation.Mathematics.Vector3f currentPt)
DOCUMENT ME!void
finalize()
Prepares this class for destruction.float
getArea()
Gets the area of the VOI; return area defined by the VOI.java.lang.String
getAsymmetryIndex()
float
getAvgInten()
Gets the average intensity of the VOI return average intensity of image defined by the VOI.float
getAvgIntenB()
Gets the average intensity of the Blue channel of VOI return average intensity of the Blue channel of image defined by the VOI.float
getAvgIntenG()
Gets the average intensity of the Green channel of VOI return average intensity of the Green channel of image defined by the VOI.float
getAvgIntenR()
Gets the average intensity of the Red channel of VOI return average intensity of the Red channel of image defined by the VOI.java.lang.String
getCenterOfMass()
Gets the the center of mass of the VOI ; return center of mass defined by the VOI.java.lang.String
getCenterOfMassB()
Gets the the blue center of mass of the VOI ; return blue center of mass defined by the VOI.java.lang.String
getCenterOfMassG()
Gets the the green center of mass of the VOI ; return green center of mass defined by the VOI.java.lang.String
getCenterOfMassR()
Gets the the red center of mass of the VOI ; return red center of mass defined by the VOI.java.lang.String
getCircularity()
Gets the circularity of the VOI.float
getEccentricity()
Gets the eccentricity of the VOI: 1 = line, 0 = circle; return eccentricity of the VOI.double
getFractalDimensionBoxCount()
double
getFractalDimensionEuclideanDistance()
java.lang.String
getGeometricCenter()
Gets the the geometric center of the VOI ; return geometric center defined by the VOI.float
getKurtosis()
Gets the coefficient of kurtosis of the pixel values in the VOIfloat
getKurtosisB()
Gets the coefficient of kurtosis of the blue pixel values in the VOIfloat
getKurtosisG()
Gets the coefficient of kurtosis of the green pixel values in the VOIfloat
getKurtosisR()
Gets the coefficient of kurtosis of the red pixel values in the VOIjava.lang.String
getLargestDistance()
Gets the largest line segment totally contained within a 3D VOI (in terms of res).java.lang.String
getLargestSliceDistance()
Gets the largest line segment totally contained within a VOI slice (in terms of res).float
getMajorAxis()
Gets the major axis of VOI (only valid for 2D object); return major axis length of the VOI.float
getMaxIntensity()
Gets the maximum intensity of the VOI return average intensity of image defined by the VOI.float
getMaxIntensityBlue()
Gets the maximum intensity of the Blue channel for the VOI return average intensity of image defined by the VOI.float
getMaxIntensityGreen()
Gets the maximum intensity of the Green channel for the VOI return average intensity of image defined by the VOI.float
getMaxIntensityRed()
Gets the maximum intensity of the Red channel for the VOI return average intensity of image defined by the VOI.java.lang.String
getMeanCurvature()
java.lang.String
getMeanNegativeCurvature()
float
getMedian()
Gets the medianfloat
getMedianB()
Gets the median of the Blue channel of image defined by the VOI.float
getMedianG()
Gets the median of the Green channel of image defined by the VOI.float
getMedianR()
Gets the median of the Red channel of image defined by the VOI.float
getMinIntensity()
Gets the minimum intensity of the VOI return average intensity of image defined by the VOI.float
getMinIntensityBlue()
Gets the minimum intensity of the Blue channel for the VOI return average intensity of image defined by the VOI.float
getMinIntensityGreen()
Gets the minimum intensity of the Green channel for the VOI return average intensity of image defined by the VOI.float
getMinIntensityRed()
Gets the minimum intensity of the Red channel for the VOI return average intensity of image defined by the VOI.float
getMinorAxis()
Gets the minor axis of VOI (only valid for 2D object); return minor axis length of the VOI.float
getMode()
Gets the modefloat
getModeB()
Gets the mode of the Blue channel of image defined by the VOI.int
getModeCount()
Gets the modeint
getModeCountB()
Gets the mode of the Blue channel of image defined by the VOI.int
getModeCountG()
Gets the mode of the Green channel of image defined by the VOI.int
getModeCountR()
Gets the mode of the Red channel of image defined by the VOI.float
getModeG()
Gets the mode of the Green channel of image defined by the VOI.float
getModeR()
Gets the mode of the Red channel of image defined by the VOI.java.lang.String
getNumberOfIndentationsCurvture()
java.lang.String
getNumberOfIndentationsHull()
int
getNVoxels()
Gets the the number of pixels return number of pixels defined by the VOI.java.lang.String
getPerimeter()
Gets the perimeter of the VOI (in terms of res).float
getPrincipalAxis()
Gets the principle axis of VOI (only valid for 2D object); return pricipal axis angle of the VOI.int
getProcessType()
Reports if algorithm is performing calcs per slice, per contour, or for entire VOI.java.lang.String[]
getScannerPositionLabels(WildMagic.LibFoundation.Mathematics.Vector3f position)
Gets position data to display in message bar - for DICOM and MINC images, gives patient position as well.float
getSkewness()
Gets the coefficient of skewness of the pixel values in the VOIfloat
getSkewnessB()
Gets the coefficient of skewness of the blue pixel values in the VOIfloat
getSkewnessG()
Gets the coefficient of skewness of the green pixel values in the VOIfloat
getSkewnessR()
Gets the coefficient of skewness of the red pixel values in the VOIjava.lang.String
getSolidity()
Gets the solidity of the VOI.float
getStdDev()
Gets the standard deviation of image intensities return standard deviation of image intensities defined by the VOI.float
getStdDevB()
Gets the get standard deviation of image intensities (blue channel) return standard deviation of image intensities defined by the VOI.java.lang.String
getStdDevCurvature()
float
getStdDevG()
Gets the standard deviation of image intensities (green channel) return standard deviation of image intensities defined by the VOI.float
getStdDevR()
Gets the standard deviation of image intensities (red channel) return standard deviation of image intensities defined by the VOI.float
getSumIntensities()
Gets the sum of image intensities defined by the VOIfloat
getSumIntensitiesB()
Gets the sum of blue channel mage intensities defined by the VOIfloat
getSumIntensitiesG()
Gets the sum of green channel image intensities defined by the VOIfloat
getSumIntensitiesR()
Gets the sum of red channel image intensities defined by the VOIfloat
getSurfaceArea()
Gets the surfaceArea of the VOI; return surfaceArea defined by the VOI.ViewVOIVector
getVOIList()
gets the selected VOIsetVOIStatisticalProperties
getVOIProperties(VOI aVOI)
DOCUMENT ME!float
getVolume()
Gets the volume of the VOI; return volume defined by the VOI.protected int
indexOf(java.lang.String statistic)
private void
initialiseDataHolders(int numberOfVOIs)
DOCUMENT ME!boolean
isColor()
Accessor that indicates if the source image is a color image.java.lang.String[]
makeStatisticListDescriptions()
Creates the list of labels to use in the checkboxes.void
runAlgorithm()
Begins execution of the software.void
setConsecutiveNegativeNeeded(int consecutiveNegativeNeeded)
void
setDistanceFlag(boolean distanceFlag)
Sets whether the largest distance is calculated.void
setDoOnlyActiveContours(boolean doActive)
Sets the flag for calculating totals ONLY for active contoursvoid
setNegativeCurvatureNeeded(double negativeCurvatureNeeded)
void
setNegativeHysteresisFraction(double negativeHysteresisFraction)
void
setPositiveHysteresisFraction(double positiveHysteresisFraction)
void
setPrecisionDisplay(int numDecimal, boolean doForce)
Sets the String float formatter to trim to numDecimal number of decimals.void
setSelectedStatistics(boolean[] checkList)
Sets the list of selected statistics to calculate.void
setSelectedVOI(VOI aVOI)
DOCUMENT ME!void
setShowTotals(boolean totals)
tells the algorithm to total the property calculations.void
setSliceDistanceFlag(boolean sliceDistanceFlag)
Sets whether the largest slice distance is calculated.void
setSmoothCurvature(boolean smoothCurvature)
void
setVOIList(ViewVOIVector vvv)
sets the selected VOIset and the data set data storage sizes based on the number of curves in the Vector.void
setVOIList(javax.swing.ListModel list)
DOCUMENT ME!-
Methods inherited from class gov.nih.mipav.model.algorithms.AlgorithmBase
actionPerformed, addListener, addProgressChangeListener, calculateImageSize, calculatePrincipleAxis, computeElapsedTime, computeElapsedTime, convertIntoFloat, delinkProgressToAlgorithm, delinkProgressToAlgorithmMulti, displayError, errorCleanUp, fireProgressStateChanged, fireProgressStateChanged, fireProgressStateChanged, fireProgressStateChanged, fireProgressStateChanged, generateProgressValues, getDestImage, getElapsedTime, getMask, getMaxProgressValue, getMinProgressValue, getNumberOfThreads, getProgress, getProgressChangeListener, getProgressChangeListeners, getProgressModulus, getProgressStep, getProgressValues, getSrcImage, isCompleted, isImage25D, isMultiThreadingEnabled, isRunningInSeparateThread, isThreadStopped, linkProgressToAlgorithm, linkProgressToAlgorithm, makeProgress, notifyListeners, removeListener, removeProgressChangeListener, run, setCompleted, setImage25D, setMask, setMaxProgressValue, setMinProgressValue, setMultiThreadingEnabled, setNumberOfThreads, setProgress, setProgressModulus, setProgressStep, setProgressValues, setProgressValues, setRunningInSeparateThread, setSrcImage, setStartTime, setThreadStopped, startMethod, windowActivated, windowClosed, windowClosing, windowDeactivated, windowDeiconified, windowIconified, windowOpened
-
Methods inherited from class java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield
-
-
-
-
Field Detail
-
smoothCurvature
private boolean smoothCurvature
-
negativeHysteresisFraction
private double negativeHysteresisFraction
-
positiveHysteresisFraction
private double positiveHysteresisFraction
-
consecutiveNegativeNeeded
private int consecutiveNegativeNeeded
-
negativeCurvatureNeeded
private double negativeCurvatureNeeded
-
PROCESS_PER_VOI
public static final int PROCESS_PER_VOI
Algorithm sums all statistics for the entire VOI- See Also:
- Constant Field Values
-
PROCESS_PER_SLICE_AND_CONTOUR
public static final int PROCESS_PER_SLICE_AND_CONTOUR
Algorithm maintains separate statistics per contour and denotes the slice of each contour- See Also:
- Constant Field Values
-
PROCESS_PER_SLICE
public static final int PROCESS_PER_SLICE
Algorithm sums all statistics from each contour on the same slice- See Also:
- Constant Field Values
-
PROCESS_PER_CONTOUR
public static final int PROCESS_PER_CONTOUR
Algorithm maintains separate statistics per contour- See Also:
- Constant Field Values
-
activeVOI
private VOI activeVOI
The VOI on which to perform the calculations.
-
nf
protected java.text.DecimalFormat nf
Formatting for float values into strings.
-
nfe
protected java.text.DecimalFormat nfe
-
processType
protected int processType
How the VOI calculations should be performed (entire, contour, slice).
-
propertyList
protected java.util.Vector<VOIStatisticalProperties> propertyList
Vector to hold all properties calculated within the algorithm for later access.
-
rangeFlag
protected JPanelPixelExclusionSelector.RangeType rangeFlag
Specifies how a range of pixels is excluded from VOI calculations.
-
sliceDistanceFlag
protected boolean sliceDistanceFlag
Whether or not to calculate largest slice distance, true by default
-
distanceFlag
protected boolean distanceFlag
Whether or not to calculate largest distance (only 3D), true by default
-
selectedVOIset
protected ViewVOIVector selectedVOIset
Vector of all VOIs that will have calculations performed.
-
showTotals
protected boolean showTotals
Whether or not to show totals for each calculation.
-
doOnlyActiveContours
protected boolean doOnlyActiveContours
Boolean for if the algorithm should ONLY check active contours
-
calcGroup
private java.lang.ThreadGroup calcGroup
The top-level group of threads used for calculating.
-
statsList
protected boolean[] statsList
-
-
Constructor Detail
-
AlgorithmVOIProps
public AlgorithmVOIProps(ModelImage srcImg, int pType, JPanelPixelExclusionSelector.RangeType rangeFlag, ViewVOIVector voiSet)
constructor. note that if there are no VOIs to act on, this constructor returns quietly.- Parameters:
srcImg
- image model that contain the VOIpType
- list of items to perform the statistics operations onrangeFlag
- Whether the range of values specified by the statistics generator should be ignoredvoiSet
- The VOIs that will be calculated
-
AlgorithmVOIProps
public AlgorithmVOIProps(ModelImage srcImg, int processType, ViewVOIVector voiSet)
constructor.- Parameters:
srcImg
- image model that contain the VOIprocessType
- perform the property calculations for each slice, rather than for whole volume of interestvoiSet
- The VOIs that will be calculated
-
AlgorithmVOIProps
public AlgorithmVOIProps(ModelImage srcImg, ViewVOIVector voiSet)
constructor. sets the source image of the algorithm, and presets the algorithm to calculate properties of 3D images as a volume of interest, rather than by slice.- Parameters:
srcImg
- image model that contain the VOIvoiSet
- The VOIs that will be calculated
-
-
Method Detail
-
setSmoothCurvature
public void setSmoothCurvature(boolean smoothCurvature)
-
setNegativeHysteresisFraction
public void setNegativeHysteresisFraction(double negativeHysteresisFraction)
-
setPositiveHysteresisFraction
public void setPositiveHysteresisFraction(double positiveHysteresisFraction)
-
setConsecutiveNegativeNeeded
public void setConsecutiveNegativeNeeded(int consecutiveNegativeNeeded)
-
setNegativeCurvatureNeeded
public void setNegativeCurvatureNeeded(double negativeCurvatureNeeded)
-
finalize
public void finalize()
Prepares this class for destruction.- Overrides:
finalize
in classAlgorithmBase
-
getArea
public float getArea()
Gets the area of the VOI; return area defined by the VOI.- Returns:
- DOCUMENT ME!
-
getSurfaceArea
public float getSurfaceArea()
Gets the surfaceArea of the VOI; return surfaceArea defined by the VOI.- Returns:
- DOCUMENT ME!
-
getAvgInten
public float getAvgInten()
Gets the average intensity of the VOI return average intensity of image defined by the VOI.- Returns:
- DOCUMENT ME!
-
getAvgIntenB
public float getAvgIntenB()
Gets the average intensity of the Blue channel of VOI return average intensity of the Blue channel of image defined by the VOI.- Returns:
- DOCUMENT ME!
-
getAvgIntenG
public float getAvgIntenG()
Gets the average intensity of the Green channel of VOI return average intensity of the Green channel of image defined by the VOI.- Returns:
- DOCUMENT ME!
-
getAvgIntenR
public float getAvgIntenR()
Gets the average intensity of the Red channel of VOI return average intensity of the Red channel of image defined by the VOI.- Returns:
- DOCUMENT ME!
-
getCenterOfMass
public java.lang.String getCenterOfMass()
Gets the the center of mass of the VOI ; return center of mass defined by the VOI.- Returns:
- DOCUMENT ME!
-
getCenterOfMassB
public java.lang.String getCenterOfMassB()
Gets the the blue center of mass of the VOI ; return blue center of mass defined by the VOI.- Returns:
- DOCUMENT ME!
-
getCenterOfMassG
public java.lang.String getCenterOfMassG()
Gets the the green center of mass of the VOI ; return green center of mass defined by the VOI.- Returns:
- DOCUMENT ME!
-
getCenterOfMassR
public java.lang.String getCenterOfMassR()
Gets the the red center of mass of the VOI ; return red center of mass defined by the VOI.- Returns:
- DOCUMENT ME!
-
getEccentricity
public float getEccentricity()
Gets the eccentricity of the VOI: 1 = line, 0 = circle; return eccentricity of the VOI.- Returns:
- DOCUMENT ME!
-
getGeometricCenter
public java.lang.String getGeometricCenter()
Gets the the geometric center of the VOI ; return geometric center defined by the VOI.- Returns:
- DOCUMENT ME!
-
getKurtosis
public float getKurtosis()
Gets the coefficient of kurtosis of the pixel values in the VOI- Returns:
-
getKurtosisB
public float getKurtosisB()
Gets the coefficient of kurtosis of the blue pixel values in the VOI- Returns:
-
getKurtosisG
public float getKurtosisG()
Gets the coefficient of kurtosis of the green pixel values in the VOI- Returns:
-
getKurtosisR
public float getKurtosisR()
Gets the coefficient of kurtosis of the red pixel values in the VOI- Returns:
-
getLargestDistance
public java.lang.String getLargestDistance()
Gets the largest line segment totally contained within a 3D VOI (in terms of res). If this unexpectedly returns zero, make sure you have not inadvertently set distanceFlag to false.- Returns:
- String largest distance string
-
getLargestSliceDistance
public java.lang.String getLargestSliceDistance()
Gets the largest line segment totally contained within a VOI slice (in terms of res). If this unexpectedly returns zero, make sure you have not inadvertently set sliceDistanceFlag to false.- Returns:
- String largest slice distance string
-
getMajorAxis
public float getMajorAxis()
Gets the major axis of VOI (only valid for 2D object); return major axis length of the VOI.- Returns:
- DOCUMENT ME!
-
getMaxIntensity
public float getMaxIntensity()
Gets the maximum intensity of the VOI return average intensity of image defined by the VOI.- Returns:
- DOCUMENT ME!
-
getMaxIntensityBlue
public float getMaxIntensityBlue()
Gets the maximum intensity of the Blue channel for the VOI return average intensity of image defined by the VOI.- Returns:
- DOCUMENT ME!
-
getMaxIntensityGreen
public float getMaxIntensityGreen()
Gets the maximum intensity of the Green channel for the VOI return average intensity of image defined by the VOI.- Returns:
- DOCUMENT ME!
-
getMaxIntensityRed
public float getMaxIntensityRed()
Gets the maximum intensity of the Red channel for the VOI return average intensity of image defined by the VOI.- Returns:
- DOCUMENT ME!
-
getMedian
public float getMedian()
Gets the median- Returns:
- DOCUMENT ME!
-
getMedianB
public float getMedianB()
Gets the median of the Blue channel of image defined by the VOI.- Returns:
- DOCUMENT ME!
-
getMedianG
public float getMedianG()
Gets the median of the Green channel of image defined by the VOI.- Returns:
- DOCUMENT ME!
-
getMedianR
public float getMedianR()
Gets the median of the Red channel of image defined by the VOI.- Returns:
- DOCUMENT ME!
-
getMinIntensity
public float getMinIntensity()
Gets the minimum intensity of the VOI return average intensity of image defined by the VOI.- Returns:
- DOCUMENT ME!
-
getMinIntensityBlue
public float getMinIntensityBlue()
Gets the minimum intensity of the Blue channel for the VOI return average intensity of image defined by the VOI.- Returns:
- DOCUMENT ME!
-
getMinIntensityGreen
public float getMinIntensityGreen()
Gets the minimum intensity of the Green channel for the VOI return average intensity of image defined by the VOI.- Returns:
- DOCUMENT ME!
-
getMinIntensityRed
public float getMinIntensityRed()
Gets the minimum intensity of the Red channel for the VOI return average intensity of image defined by the VOI.- Returns:
- DOCUMENT ME!
-
getMinorAxis
public float getMinorAxis()
Gets the minor axis of VOI (only valid for 2D object); return minor axis length of the VOI.- Returns:
- DOCUMENT ME!
-
getMode
public float getMode()
Gets the mode- Returns:
- DOCUMENT ME!
-
getModeB
public float getModeB()
Gets the mode of the Blue channel of image defined by the VOI.- Returns:
- DOCUMENT ME!
-
getModeCount
public int getModeCount()
Gets the mode- Returns:
- DOCUMENT ME!
-
getModeCountB
public int getModeCountB()
Gets the mode of the Blue channel of image defined by the VOI.- Returns:
- DOCUMENT ME!
-
getModeCountG
public int getModeCountG()
Gets the mode of the Green channel of image defined by the VOI.- Returns:
- DOCUMENT ME!
-
getModeCountR
public int getModeCountR()
Gets the mode of the Red channel of image defined by the VOI.- Returns:
- DOCUMENT ME!
-
getModeG
public float getModeG()
Gets the mode of the Green channel of image defined by the VOI.- Returns:
- DOCUMENT ME!
-
getModeR
public float getModeR()
Gets the mode of the Red channel of image defined by the VOI.- Returns:
- DOCUMENT ME!
-
getNVoxels
public int getNVoxels()
Gets the the number of pixels return number of pixels defined by the VOI.- Returns:
- DOCUMENT ME!
-
getPerimeter
public java.lang.String getPerimeter()
Gets the perimeter of the VOI (in terms of res).- Returns:
- String perimeter string
-
getCircularity
public java.lang.String getCircularity()
Gets the circularity of the VOI.- Returns:
- String circularity string
-
getSolidity
public java.lang.String getSolidity()
Gets the solidity of the VOI.- Returns:
- String solidity string
-
getNumberOfIndentationsCurvture
public java.lang.String getNumberOfIndentationsCurvture()
-
getNumberOfIndentationsHull
public java.lang.String getNumberOfIndentationsHull()
-
getMeanCurvature
public java.lang.String getMeanCurvature()
- Returns:
-
getStdDevCurvature
public java.lang.String getStdDevCurvature()
- Returns:
-
getMeanNegativeCurvature
public java.lang.String getMeanNegativeCurvature()
- Returns:
-
getAsymmetryIndex
public java.lang.String getAsymmetryIndex()
-
getPrincipalAxis
public float getPrincipalAxis()
Gets the principle axis of VOI (only valid for 2D object); return pricipal axis angle of the VOI.- Returns:
- DOCUMENT ME!
-
getFractalDimensionBoxCount
public double getFractalDimensionBoxCount()
-
getFractalDimensionEuclideanDistance
public double getFractalDimensionEuclideanDistance()
-
getProcessType
public int getProcessType()
Reports if algorithm is performing calcs per slice, per contour, or for entire VOI.- Returns:
- processType (int for process type)
-
getScannerPositionLabels
public java.lang.String[] getScannerPositionLabels(WildMagic.LibFoundation.Mathematics.Vector3f position)
Gets position data to display in message bar - for DICOM and MINC images, gives patient position as well. The image's associated transformation must be FileInfoBase.TRANSFORM_SCANNER_ANATOMICAL, or the orientations must be set up correctly, or else the function returns null.- Parameters:
image
- The image the point lies within.position
- (x,y,z(slice)) position in FileCoordinates- Returns:
- An array of strings that represent patient position.
-
getSkewness
public float getSkewness()
Gets the coefficient of skewness of the pixel values in the VOI- Returns:
-
getSkewnessB
public float getSkewnessB()
Gets the coefficient of skewness of the blue pixel values in the VOI- Returns:
-
getSkewnessG
public float getSkewnessG()
Gets the coefficient of skewness of the green pixel values in the VOI- Returns:
-
getSkewnessR
public float getSkewnessR()
Gets the coefficient of skewness of the red pixel values in the VOI- Returns:
-
getStdDev
public float getStdDev()
Gets the standard deviation of image intensities return standard deviation of image intensities defined by the VOI.- Returns:
- DOCUMENT ME!
-
getStdDevB
public float getStdDevB()
Gets the get standard deviation of image intensities (blue channel) return standard deviation of image intensities defined by the VOI.- Returns:
- DOCUMENT ME!
-
getStdDevG
public float getStdDevG()
Gets the standard deviation of image intensities (green channel) return standard deviation of image intensities defined by the VOI.- Returns:
- DOCUMENT ME!
-
getStdDevR
public float getStdDevR()
Gets the standard deviation of image intensities (red channel) return standard deviation of image intensities defined by the VOI.- Returns:
- DOCUMENT ME!
-
getSumIntensities
public float getSumIntensities()
Gets the sum of image intensities defined by the VOI- Returns:
-
getSumIntensitiesB
public float getSumIntensitiesB()
Gets the sum of blue channel mage intensities defined by the VOI- Returns:
-
getSumIntensitiesG
public float getSumIntensitiesG()
Gets the sum of green channel image intensities defined by the VOI- Returns:
-
getSumIntensitiesR
public float getSumIntensitiesR()
Gets the sum of red channel image intensities defined by the VOI- Returns:
-
getVOIProperties
public VOIStatisticalProperties getVOIProperties(VOI aVOI)
DOCUMENT ME!- Parameters:
aVOI
- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
getVolume
public float getVolume()
Gets the volume of the VOI; return volume defined by the VOI.- Returns:
- DOCUMENT ME!
-
isColor
public boolean isColor()
Accessor that indicates if the source image is a color image.- Returns:
true
if the image is a color image.
-
makeStatisticListDescriptions
public java.lang.String[] makeStatisticListDescriptions()
Creates the list of labels to use in the checkboxes.- Returns:
- DOCUMENT ME!
-
runAlgorithm
public void runAlgorithm()
Begins execution of the software.- Specified by:
runAlgorithm
in classAlgorithmBase
-
setDistanceFlag
public void setDistanceFlag(boolean distanceFlag)
Sets whether the largest distance is calculated. Defaults to true, set to false if VOI will not complete.- Parameters:
distanceFlag
-
-
setDoOnlyActiveContours
public void setDoOnlyActiveContours(boolean doActive)
Sets the flag for calculating totals ONLY for active contours- Parameters:
doActive
-
-
setPrecisionDisplay
public void setPrecisionDisplay(int numDecimal, boolean doForce)
Sets the String float formatter to trim to numDecimal number of decimals.- Parameters:
numDecimal
- int number of decimalsdoForce
- boolean force numDecimal or allow zero
-
setSelectedStatistics
public void setSelectedStatistics(boolean[] checkList)
Sets the list of selected statistics to calculate. Default is to calculate all statistics.- Parameters:
checkList
-
-
setSelectedVOI
public void setSelectedVOI(VOI aVOI)
DOCUMENT ME!- Parameters:
aVOI
- DOCUMENT ME!
-
setShowTotals
public void setShowTotals(boolean totals)
tells the algorithm to total the property calculations.- Parameters:
totals
- DOCUMENT ME!
-
setSliceDistanceFlag
public void setSliceDistanceFlag(boolean sliceDistanceFlag)
Sets whether the largest slice distance is calculated. Defaults to true, set to false if VOI will not complete.- Parameters:
sliceDistanceFlag
-
-
setVOIList
public void setVOIList(javax.swing.ListModel list)
DOCUMENT ME!- Parameters:
list
- DOCUMENT ME!
-
setVOIList
public void setVOIList(ViewVOIVector vvv)
sets the selected VOIset and the data set data storage sizes based on the number of curves in the Vector.- Parameters:
vvv
- DOCUMENT ME!
-
getVOIList
public ViewVOIVector getVOIList()
gets the selected VOIset- Parameters:
vvv
- DOCUMENT ME!
-
addScannerLabels
protected java.lang.String addScannerLabels(java.lang.String baseString, WildMagic.LibFoundation.Mathematics.Vector3f currentPt)
DOCUMENT ME!- Parameters:
leadBase
- DOCUMENT ME!
-
indexOf
protected int indexOf(java.lang.String statistic)
-
initialiseDataHolders
private void initialiseDataHolders(int numberOfVOIs)
DOCUMENT ME!- Parameters:
numberOfVOIs
- DOCUMENT ME!
-
-