Package org.itk.simple
Class ThresholdMaximumConnectedComponentsImageFilter
java.lang.Object
org.itk.simple.ProcessObject
org.itk.simple.ImageFilter
org.itk.simple.ThresholdMaximumConnectedComponentsImageFilter
Finds the threshold value of an image based on maximizing the number
of objects in the image that are larger than a given minimal size.
This method is based on Topological Stable State Thresholding to
calculate the threshold set point. This method is particularly
effective when there are a large number of objects in a microscopy
image. Compiling in Debug mode and enable the debug flag for this
filter to print debug information to see how the filter focuses in on
a threshold value. Please see the Insight Journal's MICCAI 2005
workshop for a complete description. References are below.
Parameters
The MinimumObjectSizeInPixels parameter is controlled through the
class Get/SetMinimumObjectSizeInPixels() method. Similar to the
standard itk::BinaryThresholdImageFilter the Get/SetInside and Get/SetOutside values of the threshold can be
set. The GetNumberOfObjects() and GetThresholdValue() methods return
the number of objects above the minimum pixel size and the calculated
threshold value.
Automatic Thresholding in ITK
There are multiple methods to automatically calculate the threshold
intensity value of an image. As of version 4.0, ITK has a Thresholding
( ITKThresholding ) module which contains numerous automatic
thresholding methods.implements two of these. Topological Stable State
Thresholding works well on images with a large number of objects to be
counted.
References:
1) Urish KL, August J, Huard J. "Unsupervised segmentation for
myofiber counting in immunofluorescent microscopy images". Insight
Journal. ISC/NA-MIC/MICCAI Workshop on Open-Source Software (2005) https://insight-journal.org/browse/publication/40 2) Pikaz A, Averbuch, A. "Digital image thresholding based on
topological stable-state". Pattern Recognition, 29(5): 829-843, 1996.
Questions: email Ken Urish at ken.urish(at)gmail.com Please cc the itk
list serve for archival purposes.
See:
itk::simple::ThresholdMaximumConnectedComponents for the procedural interface
itk::ThresholdMaximumConnectedComponentsImageFilter for the Doxygen on the original ITK class.
C++ includes: sitkThresholdMaximumConnectedComponentsImageFilter.h
-
Field Summary
Fields inherited from class org.itk.simple.ProcessObject
swigCMemOwn
-
Constructor Summary
ConstructorsModifierConstructorDescriptionitk::simple::ThresholdMaximumConnectedComponentsImageFilter::ThresholdMaximumConnectedComponentsImageFilter() Default Constructor that takes no arguments and initializes default parametersprotected
ThresholdMaximumConnectedComponentsImageFilter
(long cPtr, boolean cMemoryOwn) -
Method Summary
Modifier and TypeMethodDescriptionvoid
delete()
virtual itk::simple::ThresholdMaximumConnectedComponentsImageFilter::~ThresholdMaximumConnectedComponentsImageFilter() DestructorImage itk::simple::ThresholdMaximumConnectedComponentsImageFilter::Execute(const Image &image1) Execute the filter on the input imageprotected void
finalize()
protected static long
short
uint8_t itk::simple::ThresholdMaximumConnectedComponentsImageFilter::GetInsideValue() const The following Set/Get methods are for the binary threshold function.long
uint32_t itk::simple::ThresholdMaximumConnectedComponentsImageFilter::GetMinimumObjectSizeInPixels() const The pixel type must support comparison operators.getName()
std::string itk::simple::ThresholdMaximumConnectedComponentsImageFilter::GetName() const Name of this classshort
uint8_t itk::simple::ThresholdMaximumConnectedComponentsImageFilter::GetOutsideValue() const The following Set/Get methods are for the binary threshold function.double
double itk::simple::ThresholdMaximumConnectedComponentsImageFilter::GetUpperBoundary() const The following Set/Get methods are for the binary threshold function.void
setInsideValue
(short InsideValue) Self& itk::simple::ThresholdMaximumConnectedComponentsImageFilter::SetInsideValue(uint8_t InsideValue) The following Set/Get methods are for the binary threshold function.void
setMinimumObjectSizeInPixels
(long MinimumObjectSizeInPixels) Self& itk::simple::ThresholdMaximumConnectedComponentsImageFilter::SetMinimumObjectSizeInPixels(uint32_t MinimumObjectSizeInPixels) The pixel type must support comparison operators.void
setOutsideValue
(short OutsideValue) Self& itk::simple::ThresholdMaximumConnectedComponentsImageFilter::SetOutsideValue(uint8_t OutsideValue) The following Set/Get methods are for the binary threshold function.void
setUpperBoundary
(double UpperBoundary) Self& itk::simple::ThresholdMaximumConnectedComponentsImageFilter::SetUpperBoundary(double UpperBoundary) The following Set/Get methods are for the binary threshold function.protected static long
toString()
std::string itk::simple::ThresholdMaximumConnectedComponentsImageFilter::ToString() const Print ourselves outMethods inherited from class org.itk.simple.ImageFilter
getCPtr, swigRelease
Methods inherited from class org.itk.simple.ProcessObject
abort, addCommand, debugOff, debugOn, getCPtr, getDebug, getGlobalDefaultCoordinateTolerance, getGlobalDefaultDebug, getGlobalDefaultDirectionTolerance, getGlobalDefaultNumberOfThreads, getGlobalDefaultThreader, getGlobalWarningDisplay, getNumberOfThreads, getNumberOfWorkUnits, getProgress, globalDefaultDebugOff, globalDefaultDebugOn, globalWarningDisplayOff, globalWarningDisplayOn, hasCommand, removeAllCommands, setDebug, setGlobalDefaultCoordinateTolerance, setGlobalDefaultDebug, setGlobalDefaultDirectionTolerance, setGlobalDefaultNumberOfThreads, setGlobalDefaultThreader, setGlobalWarningDisplay, setNumberOfThreads, setNumberOfWorkUnits, swigRelease
-
Constructor Details
-
ThresholdMaximumConnectedComponentsImageFilter
protected ThresholdMaximumConnectedComponentsImageFilter(long cPtr, boolean cMemoryOwn) -
ThresholdMaximumConnectedComponentsImageFilter
public ThresholdMaximumConnectedComponentsImageFilter()itk::simple::ThresholdMaximumConnectedComponentsImageFilter::ThresholdMaximumConnectedComponentsImageFilter() Default Constructor that takes no arguments and initializes default parameters
-
-
Method Details
-
getCPtr
-
swigRelease
-
finalize
protected void finalize()- Overrides:
finalize
in classImageFilter
-
delete
public void delete()virtual itk::simple::ThresholdMaximumConnectedComponentsImageFilter::~ThresholdMaximumConnectedComponentsImageFilter() Destructor- Overrides:
delete
in classImageFilter
-
setMinimumObjectSizeInPixels
public void setMinimumObjectSizeInPixels(long MinimumObjectSizeInPixels) Self& itk::simple::ThresholdMaximumConnectedComponentsImageFilter::SetMinimumObjectSizeInPixels(uint32_t MinimumObjectSizeInPixels) The pixel type must support comparison operators. Set the minimum pixel area used to count objects on the image. Thus, only objects that have a pixel area greater than the minimum pixel area will be counted as an object in the optimization portion of this filter. Essentially, it eliminates noise from being counted as an object. The default value is zero. -
getMinimumObjectSizeInPixels
public long getMinimumObjectSizeInPixels()uint32_t itk::simple::ThresholdMaximumConnectedComponentsImageFilter::GetMinimumObjectSizeInPixels() const The pixel type must support comparison operators. Set the minimum pixel area used to count objects on the image. Thus, only objects that have a pixel area greater than the minimum pixel area will be counted as an object in the optimization portion of this filter. Essentially, it eliminates noise from being counted as an object. The default value is zero. -
setUpperBoundary
public void setUpperBoundary(double UpperBoundary) Self& itk::simple::ThresholdMaximumConnectedComponentsImageFilter::SetUpperBoundary(double UpperBoundary) The following Set/Get methods are for the binary threshold function. This class automatically calculates the lower threshold boundary. The upper threshold boundary, inside value, and outside value can be defined by the user, however the standard values are used as default if not set by the user. The default value of the: Inside value is the maximum pixel type intensity. Outside value is the minimum pixel type intensity. Upper threshold boundary is the maximum pixel type intensity. -
getUpperBoundary
public double getUpperBoundary()double itk::simple::ThresholdMaximumConnectedComponentsImageFilter::GetUpperBoundary() const The following Set/Get methods are for the binary threshold function. This class automatically calculates the lower threshold boundary. The upper threshold boundary, inside value, and outside value can be defined by the user, however the standard values are used as default if not set by the user. The default value of the: Inside value is the maximum pixel type intensity. Outside value is the minimum pixel type intensity. Upper threshold boundary is the maximum pixel type intensity. -
setInsideValue
public void setInsideValue(short InsideValue) Self& itk::simple::ThresholdMaximumConnectedComponentsImageFilter::SetInsideValue(uint8_t InsideValue) The following Set/Get methods are for the binary threshold function. This class automatically calculates the lower threshold boundary. The upper threshold boundary, inside value, and outside value can be defined by the user, however the standard values are used as default if not set by the user. The default value of the: Inside value is the maximum pixel type intensity. Outside value is the minimum pixel type intensity. Upper threshold boundary is the maximum pixel type intensity. -
getInsideValue
public short getInsideValue()uint8_t itk::simple::ThresholdMaximumConnectedComponentsImageFilter::GetInsideValue() const The following Set/Get methods are for the binary threshold function. This class automatically calculates the lower threshold boundary. The upper threshold boundary, inside value, and outside value can be defined by the user, however the standard values are used as default if not set by the user. The default value of the: Inside value is the maximum pixel type intensity. Outside value is the minimum pixel type intensity. Upper threshold boundary is the maximum pixel type intensity. -
setOutsideValue
public void setOutsideValue(short OutsideValue) Self& itk::simple::ThresholdMaximumConnectedComponentsImageFilter::SetOutsideValue(uint8_t OutsideValue) The following Set/Get methods are for the binary threshold function. This class automatically calculates the lower threshold boundary. The upper threshold boundary, inside value, and outside value can be defined by the user, however the standard values are used as default if not set by the user. The default value of the: Inside value is the maximum pixel type intensity. Outside value is the minimum pixel type intensity. Upper threshold boundary is the maximum pixel type intensity. -
getOutsideValue
public short getOutsideValue()uint8_t itk::simple::ThresholdMaximumConnectedComponentsImageFilter::GetOutsideValue() const The following Set/Get methods are for the binary threshold function. This class automatically calculates the lower threshold boundary. The upper threshold boundary, inside value, and outside value can be defined by the user, however the standard values are used as default if not set by the user. The default value of the: Inside value is the maximum pixel type intensity. Outside value is the minimum pixel type intensity. Upper threshold boundary is the maximum pixel type intensity. -
getName
std::string itk::simple::ThresholdMaximumConnectedComponentsImageFilter::GetName() const Name of this class- Overrides:
getName
in classProcessObject
-
toString
std::string itk::simple::ThresholdMaximumConnectedComponentsImageFilter::ToString() const Print ourselves out- Overrides:
toString
in classProcessObject
-
execute
Image itk::simple::ThresholdMaximumConnectedComponentsImageFilter::Execute(const Image &image1) Execute the filter on the input image
-