#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.
Inheritance diagram for itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >:
Collaboration diagram for itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >: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 {} |
Additional Inherited Members | |
Protected Types inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
| using | InputToOutputRegionCopierType |
| using | OutputToInputRegionCopierType |
Static Protected Member Functions inherited from itk::ImageSource< TOutputImage > | |
| static const ImageRegionSplitterBase * | GetGlobalDefaultSplitter () |
| static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | ThreaderCallback (void *arg) |
Static Protected Member Functions inherited from itk::ProcessObject | |
| template<typename TSourceObject> | |
| static void | MakeRequiredOutputs (TSourceObject &sourceObject, const DataObjectPointerArraySizeType numberOfRequiredOutputs) |
| static constexpr float | progressFixedToFloat (uint32_t fixed) |
| static uint32_t | progressFloatToFixed (float f) |
Protected Attributes inherited from itk::ImageSource< TOutputImage > | |
| bool | m_DynamicMultiThreading { true } |
Protected Attributes inherited from itk::ProcessObject | |
| TimeStamp | m_OutputInformationMTime {} |
| bool | m_Updating {} |
Protected Attributes inherited from itk::LightObject | |
| std::atomic< int > | m_ReferenceCount {} |
| 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
|
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::LightObject.
Reimplemented in itk::HuangThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::IntermodesThresholdImageFilter< 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::OtsuThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::RenyiEntropyThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::ShanbhagThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::TriangleThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, and itk::YenThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >.
|
overrideprotectedvirtual |
This method causes the filter to generate its output.
Reimplemented from itk::ProcessObject.
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? By default, the largest possible region is always required but this is overridden in many subclasses. For instance, for an image processing filter where an output pixel is a simple function of an input pixel, the input requested region will be set to the output requested region. For an image processing filter where an output pixel is a function of the pixels in a neighborhood of an input pixel, then the input requested region will need to be larger than the output requested region (to avoid introducing artificial boundary conditions). This function should never request an input region that is outside the the input largest possible region (i.e. implementations of this method should crop the input requested region at the boundaries of the input largest possible region).
Reimplemented from itk::ProcessObject.
|
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 |
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 |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Reimplemented in itk::HuangThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::IntermodesThresholdImageFilter< 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::OtsuThresholdImageFilter< 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.
| itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::itkGetInputMacro | ( | MaskImage | , |
| TMaskImage | ) |
Set and Get the mask image
| itk::HistogramThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >::itkSetInputMacro | ( | MaskImage | , |
| TMaskImage | ) |
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 |
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::LightObject.
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
|
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 |
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::IntermodesThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >, and itk::OtsuThresholdImageFilter< TInputImage, TOutputImage, TMaskImage >.
Definition at line 206 of file itkHistogramThresholdImageFilter.h.
|
staticconstexpr |
Image related type alias.
Definition at line 118 of file itkHistogramThresholdImageFilter.h.
|
private |
Definition at line 226 of file itkHistogramThresholdImageFilter.h.
|
private |
Definition at line 224 of file itkHistogramThresholdImageFilter.h.
|
private |
Definition at line 220 of file itkHistogramThresholdImageFilter.h.
|
private |
Definition at line 227 of file itkHistogramThresholdImageFilter.h.
|
private |
Definition at line 223 of file itkHistogramThresholdImageFilter.h.
|
private |
Definition at line 225 of file itkHistogramThresholdImageFilter.h.
|
private |
Definition at line 221 of file itkHistogramThresholdImageFilter.h.
|
private |
Definition at line 222 of file itkHistogramThresholdImageFilter.h.
|
staticconstexpr |
Definition at line 120 of file itkHistogramThresholdImageFilter.h.
|
staticconstexpr |
Definition at line 119 of file itkHistogramThresholdImageFilter.h.