ITK
4.13.0
Insight Segmentation and Registration Toolkit
|
#include <itkHistogramThresholdImageFilter.h>
Threshold an image using a HistogramThresholdCalculator.
This filter creates a binary thresholded image that separates an image into foreground and background components. The filter computes the threshold using a user provided HistogramThresholdCalculator and applies that threshold to the input image using the BinaryThresholdImageFilter.
The filter also has the option of providing a mask, in which case the histogram and therefore the threshold is computed from the parts of the mask with values indicated by MaskValue. The output image is, by default, masked by the same image. This output masking can be disabled using SetMaskOutput(false). Note that there is an inconsistency here. The MaskImageFilter (used internally) masks by non zero values, where as the MaskedImageToHistogramFilter uses explicit values. If this does not match your usage then the output masking will need to be managed by the user.
This implementation was taken from the Insight Journal paper: https://hdl.handle.net/10380/3279 or http://www.insight-journal.org/browse/publication/811
Definition at line 61 of file itkHistogramThresholdImageFilter.h.
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool flag) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes | |
static const unsigned int | InputImageDimension = InputImageType::ImageDimension |
static const unsigned int | OutputImageDimension = OutputImageType::ImageDimension |
static const unsigned int | MaskImageDimension = MaskImageType::ImageDimension |
Static Public Attributes inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
static const unsigned int | InputImageDimension = TInputImage::ImageDimension |
static const unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Static Public Attributes inherited from itk::ImageSource< TOutputImage > | |
static const unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Private Attributes | |
bool | m_AutoMinimumMaximum |
CalculatorPointer | m_Calculator |
OutputPixelType | m_InsideValue |
bool | m_MaskOutput |
MaskPixelType | m_MaskValue |
unsigned | m_NumberOfHistogramBins |
OutputPixelType | m_OutsideValue |
InputPixelType | m_Threshold |
Additional Inherited Members | |
Protected Types inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
typedef ImageToImageFilterDetail::ImageRegionCopier < itkGetStaticConstMacro(OutputImageDimension), itkGetStaticConstMacro(InputImageDimension) > | InputToOutputRegionCopierType |
typedef ImageToImageFilterDetail::ImageRegionCopier < itkGetStaticConstMacro(InputImageDimension), itkGetStaticConstMacro(OutputImageDimension) > | OutputToInputRegionCopierType |
Static Protected Member Functions inherited from itk::ImageSource< TOutputImage > | |
static const ImageRegionSplitterBase * | GetGlobalDefaultSplitter () |
static ITK_THREAD_RETURN_TYPE | ThreaderCallback (void *arg) |
Protected Attributes inherited from itk::ProcessObject | |
TimeStamp | m_OutputInformationMTime |
bool | m_Updating |
Protected Attributes inherited from itk::LightObject | |
AtomicInt< int > | m_ReferenceCount |
typedef CalculatorType::Pointer itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::CalculatorPointer |
Definition at line 111 of file itkHistogramThresholdImageFilter.h.
typedef HistogramThresholdCalculator<HistogramType, InputPixelType> itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::CalculatorType |
Definition at line 110 of file itkHistogramThresholdImageFilter.h.
typedef SmartPointer<const Self> itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::ConstPointer |
Definition at line 69 of file itkHistogramThresholdImageFilter.h.
typedef HistogramType::ConstPointer itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::HistogramConstPointer |
Definition at line 105 of file itkHistogramThresholdImageFilter.h.
typedef HistogramType::MeasurementType itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::HistogramMeasurementType |
Definition at line 107 of file itkHistogramThresholdImageFilter.h.
typedef HistogramType::MeasurementVectorType itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::HistogramMeasurementVectorType |
Definition at line 108 of file itkHistogramThresholdImageFilter.h.
typedef HistogramType::Pointer itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::HistogramPointer |
Definition at line 104 of file itkHistogramThresholdImageFilter.h.
typedef HistogramType::SizeType itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::HistogramSizeType |
Definition at line 106 of file itkHistogramThresholdImageFilter.h.
typedef Statistics::Histogram< ValueRealType > itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::HistogramType |
Definition at line 103 of file itkHistogramThresholdImageFilter.h.
typedef InputImageType::Pointer itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::InputImagePointer |
Image related typedefs.
Definition at line 87 of file itkHistogramThresholdImageFilter.h.
typedef InputImageType::RegionType itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::InputImageRegionType |
Definition at line 93 of file itkHistogramThresholdImageFilter.h.
typedef TInputImage itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::InputImageType |
Definition at line 75 of file itkHistogramThresholdImageFilter.h.
typedef InputImageType::IndexType itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::InputIndexType |
Definition at line 92 of file itkHistogramThresholdImageFilter.h.
typedef InputImageType::PixelType itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::InputPixelType |
Image pixel value typedef.
Definition at line 82 of file itkHistogramThresholdImageFilter.h.
typedef InputImageType::SizeType itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::InputSizeType |
Definition at line 91 of file itkHistogramThresholdImageFilter.h.
typedef MaskImageType::Pointer itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::MaskImagePointer |
Definition at line 89 of file itkHistogramThresholdImageFilter.h.
typedef MaskImageType::RegionType itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::MaskImageRegionType |
Definition at line 99 of file itkHistogramThresholdImageFilter.h.
typedef TMaskImage itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::MaskImageType |
Definition at line 79 of file itkHistogramThresholdImageFilter.h.
typedef MaskImageType::IndexType itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::MaskIndexType |
Definition at line 98 of file itkHistogramThresholdImageFilter.h.
typedef MaskImageType::PixelType itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::MaskPixelType |
Definition at line 84 of file itkHistogramThresholdImageFilter.h.
typedef MaskImageType::SizeType itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::MaskSizeType |
Definition at line 97 of file itkHistogramThresholdImageFilter.h.
typedef OutputImageType::Pointer itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::OutputImagePointer |
Definition at line 88 of file itkHistogramThresholdImageFilter.h.
typedef OutputImageType::RegionType itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::OutputImageRegionType |
Definition at line 96 of file itkHistogramThresholdImageFilter.h.
typedef TOutputImage itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::OutputImageType |
Definition at line 78 of file itkHistogramThresholdImageFilter.h.
typedef OutputImageType::IndexType itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::OutputIndexType |
Definition at line 95 of file itkHistogramThresholdImageFilter.h.
typedef OutputImageType::PixelType itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::OutputPixelType |
Definition at line 83 of file itkHistogramThresholdImageFilter.h.
typedef OutputImageType::SizeType itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::OutputSizeType |
Definition at line 94 of file itkHistogramThresholdImageFilter.h.
typedef SmartPointer<Self> itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::Pointer |
Definition at line 68 of file itkHistogramThresholdImageFilter.h.
typedef HistogramThresholdImageFilter itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::Self |
Standard Self typedef
Definition at line 66 of file itkHistogramThresholdImageFilter.h.
typedef ImageToImageFilter<TInputImage,TOutputImage> itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::Superclass |
Definition at line 67 of file itkHistogramThresholdImageFilter.h.
typedef NumericTraits< ValueType >::RealType itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::ValueRealType |
Definition at line 102 of file itkHistogramThresholdImageFilter.h.
typedef NumericTraits< InputPixelType >::ValueType itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::ValueType |
Definition at line 101 of file itkHistogramThresholdImageFilter.h.
|
protected |
|
inlineoverrideprotected |
Definition at line 201 of file itkHistogramThresholdImageFilter.h.
|
virtual |
Does histogram generator compute min and max from data? Default is true for all but char types
|
virtual |
Does histogram generator compute min and max from data? Default is true for all but char types
|
virtual |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::Object.
Reimplemented in itk::OtsuThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::HuangThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::IsoDataThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::KittlerIllingworthThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::LiThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::MaximumEntropyThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::MomentsThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::RenyiEntropyThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::ShanbhagThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::TriangleThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::IntermodesThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, and itk::YenThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >.
|
overrideprotectedvirtual |
A version of GenerateData() specific for image processing filters. This implementation will split the processing across multiple threads. The buffer is allocated by this method. Then the BeforeThreadedGenerateData() method is called (if provided). Then, a series of threads are spawned each calling ThreadedGenerateData(). After all the threads have completed processing, the AfterThreadedGenerateData() method is called (if provided). If an image processing filter cannot be threaded, the filter should provide an implementation of GenerateData(). That implementation is responsible for allocating the output buffer. If a filter an be threaded, it should NOT provide a GenerateData() method but should provide a ThreadedGenerateData() instead.
Reimplemented from itk::ImageSource< TOutputImage >.
|
overrideprotectedvirtual |
What is the input requested region that is required to produce the output requested region? The base assumption for image processing filters is that the input requested region can be set to match the output requested region. If a filter requires more input (for instance a filter that uses neighborhoods needs more input than output to avoid introducing artificial boundary conditions) or less input (for instance a magnify filter) will have to override this method. In doing so, it should call its superclass' implementation as its first step. Note that imaging filters operate differently than the classes to this point in the class hierarchy. Up till now, the base assumption has been that the largest possible region will be requested of the input.
This implementation of GenerateInputRequestedRegion() only processes the inputs that are a subclass of the ImageBase<InputImageDimension>. If an input is another type of DataObject (including an Image of a different dimension), they are skipped by this method. The subclasses of ImageToImageFilter are responsible for providing an implementation of GenerateInputRequestedRegion() when there are multiple inputs of different types.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
|
virtual |
Does histogram generator compute min and max from data? Default is true for all but char types
|
virtual |
Set/Get the calculator to use to compute the threshold
|
virtual |
Get the "inside" pixel value.
|
virtual |
Set and Get the mask image
|
virtual |
Do you want the output to be masked by the mask used in histogram construction. Only relevant if masking is in use. Default is true.
|
virtual |
The value in the mask image, if used, indicating voxels that should be included. Default is the max of pixel type, as in the MaskedImageToHistogramFilter
|
virtual |
Set/Get the calculator to use to compute the threshold
|
virtual |
Runtime information support.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Reimplemented in itk::OtsuThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::HuangThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::IsoDataThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::KittlerIllingworthThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::LiThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::MaximumEntropyThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::MomentsThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::RenyiEntropyThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::ShanbhagThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::TriangleThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::IntermodesThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, and itk::YenThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >.
|
virtual |
Set the number of histogram bins
|
virtual |
Get the "outside" pixel value.
|
virtual |
Get the computed threshold.
|
virtual |
Do you want the output to be masked by the mask used in histogram construction. Only relevant if masking is in use. Default is true.
|
virtual |
Do you want the output to be masked by the mask used in histogram construction. Only relevant if masking is in use. Default is true.
|
static |
Method for creation through the object factory.
|
overrideprotectedvirtual |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Reimplemented in itk::IntermodesThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >.
Referenced by itk::IntermodesThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::PrintSelf().
|
virtual |
Does histogram generator compute min and max from data? Default is true for all but char types
|
virtual |
Set/Get the calculator to use to compute the threshold
Referenced by itk::HuangThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::HuangThresholdImageFilter(), itk::IntermodesThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::IntermodesThresholdImageFilter(), itk::IsoDataThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::IsoDataThresholdImageFilter(), itk::KittlerIllingworthThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::KittlerIllingworthThresholdImageFilter(), itk::LiThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::LiThresholdImageFilter(), itk::MaximumEntropyThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::MaximumEntropyThresholdImageFilter(), itk::MomentsThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::MomentsThresholdImageFilter(), itk::OtsuThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::OtsuThresholdImageFilter(), itk::RenyiEntropyThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::RenyiEntropyThresholdImageFilter(), itk::ShanbhagThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::ShanbhagThresholdImageFilter(), itk::TriangleThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::TriangleThresholdImageFilter(), and itk::YenThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::YenThresholdImageFilter().
|
inline |
Set the input image
Definition at line 128 of file itkHistogramThresholdImageFilter.h.
|
inline |
Set the marker image
Definition at line 134 of file itkHistogramThresholdImageFilter.h.
|
virtual |
Set the "inside" pixel value. The default value NumericTraits<OutputPixelType>::max()
|
virtual |
Set and Get the mask image
|
virtual |
Do you want the output to be masked by the mask used in histogram construction. Only relevant if masking is in use. Default is true.
|
virtual |
The value in the mask image, if used, indicating voxels that should be included. Default is the max of pixel type, as in the MaskedImageToHistogramFilter
|
virtual |
Set the number of histogram bins
|
virtual |
Set the "outside" pixel value. The default value NumericTraits<OutputPixelType>::ZeroValue().
|
static |
Image related typedefs.
Definition at line 115 of file itkHistogramThresholdImageFilter.h.
|
private |
Definition at line 216 of file itkHistogramThresholdImageFilter.h.
|
private |
Definition at line 214 of file itkHistogramThresholdImageFilter.h.
|
private |
Definition at line 208 of file itkHistogramThresholdImageFilter.h.
|
private |
Definition at line 217 of file itkHistogramThresholdImageFilter.h.
|
private |
Definition at line 213 of file itkHistogramThresholdImageFilter.h.
|
private |
Definition at line 215 of file itkHistogramThresholdImageFilter.h.
|
private |
Definition at line 211 of file itkHistogramThresholdImageFilter.h.
|
private |
Definition at line 212 of file itkHistogramThresholdImageFilter.h.
|
static |
Image related typedefs.
Definition at line 119 of file itkHistogramThresholdImageFilter.h.
|
static |
Image related typedefs.
Definition at line 117 of file itkHistogramThresholdImageFilter.h.