ITK
6.0.0
Insight 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://doi.org/10.54294/efycla
Definition at line 62 of file itkHistogramThresholdImageFilter.h.
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
static double | GetGlobalDefaultCoordinateTolerance () |
static double | GetGlobalDefaultDirectionTolerance () |
static void | SetGlobalDefaultCoordinateTolerance (double) |
static void | SetGlobalDefaultDirectionTolerance (double) |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool val) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes | |
static constexpr unsigned int | InputImageDimension = InputImageType::ImageDimension |
static constexpr unsigned int | MaskImageDimension = MaskImageType::ImageDimension |
static constexpr unsigned int | OutputImageDimension = OutputImageType::ImageDimension |
Static Public Attributes inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
static constexpr unsigned int | InputImageDimension = TInputImage::ImageDimension |
static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Static Public Attributes inherited from itk::ImageSource< TOutputImage > | |
static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Private Member Functions | |
void | SetUpHistogramGenerator (HistogramGeneratorPointer histogramGenerator) |
Private Attributes | |
bool | m_AutoMinimumMaximum {} |
CalculatorPointer | m_Calculator {} |
OutputPixelType | m_InsideValue {} |
bool | m_MaskOutput { true } |
MaskPixelType | m_MaskValue {} |
unsigned int | m_NumberOfHistogramBins { 256 } |
OutputPixelType | m_OutsideValue {} |
InputPixelType | m_Threshold {} |
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::CalculatorPointer = typename CalculatorType::Pointer |
Definition at line 112 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::CalculatorType = HistogramThresholdCalculator<HistogramType, InputPixelType> |
Definition at line 111 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::ConstPointer = SmartPointer<const Self> |
Definition at line 71 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::HistogramConstPointer = typename HistogramType::ConstPointer |
Definition at line 107 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::HistogramGeneratorPointer = typename HistogramGeneratorType::Pointer |
Definition at line 115 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::HistogramGeneratorType = Statistics::ImageToHistogramFilter<InputImageType> |
Definition at line 114 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::HistogramMeasurementType = typename HistogramType::MeasurementType |
Definition at line 109 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::HistogramMeasurementVectorType = typename HistogramType::MeasurementVectorType |
Definition at line 110 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::HistogramPointer = typename HistogramType::Pointer |
Definition at line 106 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::HistogramSizeType = typename HistogramType::SizeType |
Definition at line 108 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::HistogramType = Statistics::Histogram<ValueRealType> |
Definition at line 105 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::InputImagePointer = typename InputImageType::Pointer |
Image related type alias.
Definition at line 89 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::InputImageRegionType = typename InputImageType::RegionType |
Definition at line 95 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::InputImageType = TInputImage |
Definition at line 79 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::InputIndexType = typename InputImageType::IndexType |
Definition at line 94 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::InputPixelType = typename InputImageType::PixelType |
Image pixel value type alias.
Definition at line 84 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::InputSizeType = typename InputImageType::SizeType |
Definition at line 93 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::MaskImagePointer = typename MaskImageType::Pointer |
Definition at line 91 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::MaskImageRegionType = typename MaskImageType::RegionType |
Definition at line 101 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::MaskImageType = TMaskImage |
Definition at line 81 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::MaskIndexType = typename MaskImageType::IndexType |
Definition at line 100 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::MaskPixelType = typename MaskImageType::PixelType |
Definition at line 86 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::MaskSizeType = typename MaskImageType::SizeType |
Definition at line 99 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::OutputImagePointer = typename OutputImageType::Pointer |
Definition at line 90 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::OutputImageRegionType = typename OutputImageType::RegionType |
Definition at line 98 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::OutputImageType = TOutputImage |
Definition at line 80 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::OutputIndexType = typename OutputImageType::IndexType |
Definition at line 97 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::OutputPixelType = typename OutputImageType::PixelType |
Definition at line 85 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::OutputSizeType = typename OutputImageType::SizeType |
Definition at line 96 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::Pointer = SmartPointer<Self> |
Definition at line 70 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::Self = HistogramThresholdImageFilter |
Standard Self type alias
Definition at line 68 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::Superclass = ImageToImageFilter<TInputImage, TOutputImage> |
Definition at line 69 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::ValueRealType = typename NumericTraits<ValueType>::RealType |
Definition at line 104 of file itkHistogramThresholdImageFilter.h.
using itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::ValueType = typename NumericTraits<InputPixelType>::ValueType |
Definition at line 103 of file itkHistogramThresholdImageFilter.h.
|
protected |
|
overrideprotecteddefault |
|
virtual |
Does histogram generator compute min and max from data? Default is true for all but char types
|
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 DynamicThreadedGenerateData(). 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 can be threaded, it should NOT provide a GenerateData() method but should provide a DynamicThreadedGenerateData() instead.
Reimplemented from itk::ImageSource< TOutputImage >.
Reimplemented in itk::IntermodesThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, and itk::OtsuThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >.
|
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 |
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
|
overridevirtual |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Reimplemented in itk::LiThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::OtsuThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::HuangThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::IntermodesThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::IsoDataThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::KittlerIllingworthThresholdImageFilter< 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 >, 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.
|
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 >.
|
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::KittlerIllingworthThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::KittlerIllingworthThresholdImageFilter().
|
inline |
Set the input image
Definition at line 129 of file itkHistogramThresholdImageFilter.h.
|
inline |
Set the marker image
Definition at line 136 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 OutputPixelType{}.
|
private |
Set up the histogram generator.
|
inlineoverrideprotectedvirtual |
Verifies that the process object has been configured correctly, that all required inputs are set, and needed parameters are set appropriately. If not valid an exceptions will be thrown.
This method is called before UpdateOutputInformation() is propagated to the inputs.
The ProcessObject's implementation verifies that the m_NumberOfRequiredInputs are set and not null.
Reimplemented from itk::ProcessObject.
Reimplemented in itk::OtsuThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, and itk::IntermodesThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >.
Definition at line 210 of file itkHistogramThresholdImageFilter.h.
|
staticconstexpr |
Image related type alias.
Definition at line 118 of file itkHistogramThresholdImageFilter.h.
|
private |
Definition at line 230 of file itkHistogramThresholdImageFilter.h.
|
private |
Definition at line 228 of file itkHistogramThresholdImageFilter.h.
|
private |
Definition at line 224 of file itkHistogramThresholdImageFilter.h.
|
private |
Definition at line 231 of file itkHistogramThresholdImageFilter.h.
|
private |
Definition at line 227 of file itkHistogramThresholdImageFilter.h.
|
private |
Definition at line 229 of file itkHistogramThresholdImageFilter.h.
|
private |
Definition at line 225 of file itkHistogramThresholdImageFilter.h.
|
private |
Definition at line 226 of file itkHistogramThresholdImageFilter.h.
|
staticconstexpr |
Definition at line 120 of file itkHistogramThresholdImageFilter.h.
|
staticconstexpr |
Definition at line 119 of file itkHistogramThresholdImageFilter.h.