ITK
4.9.0
Insight Segmentation and Registration Toolkit
|
#include <itkAdaptiveHistogramEqualizationImageFilter.h>
Power Law Adaptive Histogram Equalization.
Histogram equalization modifies the contrast in an image. The AdaptiveHistogramEqualizationImageFilter is a superset of many contrast enhancing filters. By modifying its parameters (alpha, beta, and window), the AdaptiveHistogramEqualizationImageFilter can produce an adaptively equalized histogram or a version of unsharp mask (local mean subtraction). Instead of applying a strict histogram equalization in a window about a pixel, this filter prescribes a mapping function (power law) controlled by the parameters alpha and beta.
The parameter alpha controls how much the filter acts like the classical histogram equalization method (alpha=0) to how much the filter acts like an unsharp mask (alpha=1).
The parameter beta controls how much the filter acts like an unsharp mask (beta=0) to much the filter acts like pass through (beta=1, with alpha=1).
The parameter window controls the size of the region over which local statistics are calculated.
By altering alpha, beta and window, a host of equalization and unsharp masking filters is available.
The boundary condition ignores the part of the neighborhood outside the image, and over-weights the valid part of the neighborhood.
For detail description, reference "Adaptive Image Contrast Enhancement using Generalizations of Histogram Equalization." J.Alex Stark. IEEE Transactions on Image Processing, May 2000.
Definition at line 71 of file itkAdaptiveHistogramEqualizationImageFilter.h.
Public Types | |
typedef SmartPointer< const Self > | ConstPointer |
typedef ImageType::SizeType | ImageSizeType |
typedef TImageType | ImageType |
typedef ImageType::PixelType | InputPixelType |
typedef SmartPointer< Self > | Pointer |
typedef AdaptiveHistogramEqualizationImageFilter | Self |
typedef MovingHistogramImageFilter < TImageType, TImageType, TKernel, typename Function::AdaptiveEqualizationHistogram < typename TImageType::PixelType, typename TImageType::PixelType > > | Superclass |
Public Types inherited from itk::MovingHistogramImageFilter< TImageType, TImageType, TKernel, Function::AdaptiveEqualizationHistogram< TImageType::PixelType, TImageType::PixelType > > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef TImageType::IndexType | IndexType |
typedef TImageType | InputImageType |
typedef KernelType::ConstIterator | KernelIteratorType |
typedef TKernel | KernelType |
typedef std::list< OffsetType > | OffsetListType |
typedef std::map< OffsetType, OffsetListType, typename OffsetType::LexicographicCompare > | OffsetMapType |
typedef TImageType::OffsetType | OffsetType |
typedef Superclass::OutputImageRegionType | OutputImageRegionType |
typedef TImageType | OutputImageType |
typedef TImageType::PixelType | OutputPixelType |
typedef TImageType::PixelType | PixelType |
typedef SmartPointer< Self > | Pointer |
typedef KernelType::SizeType | RadiusType |
typedef TImageType::RegionType | RegionType |
typedef MovingHistogramImageFilter | Self |
typedef TImageType::SizeType | SizeType |
typedef MovingHistogramImageFilterBase < TImageType, TImageType, TKernel > | Superclass |
Public Types inherited from itk::MovingHistogramImageFilterBase< TImageType, TImageType, TKernel > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef TImageType::IndexType | IndexType |
typedef TImageType | InputImageType |
typedef KernelType::ConstIterator | KernelIteratorType |
typedef TKernel | KernelType |
typedef std::list< OffsetType > | OffsetListType |
typedef std::map< OffsetType, OffsetListType, typename OffsetType::LexicographicCompare > | OffsetMapType |
typedef TImageType::OffsetType | OffsetType |
typedef Superclass::OutputImageRegionType | OutputImageRegionType |
typedef TImageType | OutputImageType |
typedef TImageType::PixelType | OutputPixelType |
typedef TImageType::PixelType | PixelType |
typedef SmartPointer< Self > | Pointer |
typedef KernelType::SizeType | RadiusType |
typedef TImageType::RegionType | RegionType |
typedef MovingHistogramImageFilterBase | Self |
typedef TImageType::SizeType | SizeType |
typedef KernelImageFilter < TImageType, TImageType, TKernel > | Superclass |
Public Types inherited from itk::KernelImageFilter< TImageType, TImageType, TKernel > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef FlatStructuringElement < itkGetStaticConstMacro(ImageDimension) > | FlatKernelType |
typedef TImageType::IndexType | IndexType |
typedef TImageType | InputImageType |
typedef TImageType::PixelType | InputPixelType |
typedef TKernel | KernelType |
typedef TImageType::OffsetType | OffsetType |
typedef TImageType | OutputImageType |
typedef TImageType::PixelType | OutputPixelType |
typedef SmartPointer< Self > | Pointer |
typedef TImageType::SizeType | RadiusType |
typedef TImageType::RegionType | RegionType |
typedef KernelImageFilter | Self |
typedef TImageType::SizeType | SizeType |
typedef BoxImageFilter < TImageType, TImageType > | Superclass |
Public Types inherited from itk::BoxImageFilter< TInputImage, TOutputImage > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef TInputImage::IndexType | IndexType |
typedef TInputImage | InputImageType |
typedef TInputImage::PixelType | InputPixelType |
typedef TInputImage::OffsetType | OffsetType |
typedef TOutputImage | OutputImageType |
typedef TOutputImage::PixelType | OutputPixelType |
typedef SmartPointer< Self > | Pointer |
typedef TInputImage::SizeType | RadiusType |
typedef TInputImage::SizeValueType | RadiusValueType |
typedef TInputImage::RegionType | RegionType |
typedef BoxImageFilter | Self |
typedef TInputImage::SizeType | SizeType |
typedef ImageToImageFilter < TInputImage, TOutputImage > | Superclass |
Public Types inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef InputImageType::ConstPointer | InputImageConstPointer |
typedef InputImageType::PixelType | InputImagePixelType |
typedef InputImageType::Pointer | InputImagePointer |
typedef InputImageType::RegionType | InputImageRegionType |
typedef TInputImage | InputImageType |
typedef Superclass::OutputImagePixelType | OutputImagePixelType |
typedef Superclass::OutputImageRegionType | OutputImageRegionType |
typedef SmartPointer< Self > | Pointer |
typedef ImageToImageFilter | Self |
typedef ImageSource< TOutputImage > | Superclass |
Public Types inherited from itk::ImageSource< TOutputImage > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef Superclass::DataObjectIdentifierType | DataObjectIdentifierType |
typedef DataObject::Pointer | DataObjectPointer |
typedef Superclass::DataObjectPointerArraySizeType | DataObjectPointerArraySizeType |
typedef OutputImageType::PixelType | OutputImagePixelType |
typedef OutputImageType::Pointer | OutputImagePointer |
typedef OutputImageType::RegionType | OutputImageRegionType |
typedef TOutputImage | OutputImageType |
typedef SmartPointer< Self > | Pointer |
typedef ImageSource | Self |
typedef ProcessObject | Superclass |
Public Types inherited from itk::ProcessObject | |
typedef SmartPointer< const Self > | ConstPointer |
typedef DataObject::DataObjectIdentifierType | DataObjectIdentifierType |
typedef DataObject::Pointer | DataObjectPointer |
typedef std::vector < DataObjectPointer > | DataObjectPointerArray |
typedef DataObjectPointerArray::size_type | DataObjectPointerArraySizeType |
typedef std::vector < DataObjectIdentifierType > | NameArray |
typedef SmartPointer< Self > | Pointer |
typedef ProcessObject | Self |
typedef Object | Superclass |
Public Types inherited from itk::Object | |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef Object | Self |
typedef LightObject | Superclass |
Public Types inherited from itk::LightObject | |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef LightObject | Self |
Static Public Attributes | |
static const unsigned int | ImageDimension = TImageType::ImageDimension |
Static Public Attributes inherited from itk::MovingHistogramImageFilter< TImageType, TImageType, TKernel, Function::AdaptiveEqualizationHistogram< TImageType::PixelType, TImageType::PixelType > > | |
static const unsigned int | ImageDimension |
Static Public Attributes inherited from itk::MovingHistogramImageFilterBase< TImageType, TImageType, TKernel > | |
static const unsigned int | ImageDimension |
Static Public Attributes inherited from itk::KernelImageFilter< TImageType, TImageType, TKernel > | |
static const unsigned int | ImageDimension |
Static Public Attributes inherited from itk::BoxImageFilter< TInputImage, TOutputImage > | |
static const unsigned int | ImageDimension = TInputImage::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 Member Functions | |
AdaptiveHistogramEqualizationImageFilter (const Self &) ITK_DELETE_FUNCTION | |
void | operator= (const Self &) ITK_DELETE_FUNCTION |
Private Attributes | |
float | m_Alpha |
float | m_Beta |
InputPixelType | m_InputMaximum |
InputPixelType | m_InputMinimum |
bool | m_UseLookupTable |
typedef SmartPointer< const Self > itk::AdaptiveHistogramEqualizationImageFilter< TImageType, TKernel >::ConstPointer |
Definition at line 91 of file itkAdaptiveHistogramEqualizationImageFilter.h.
typedef ImageType::SizeType itk::AdaptiveHistogramEqualizationImageFilter< TImageType, TKernel >::ImageSizeType |
Definition at line 105 of file itkAdaptiveHistogramEqualizationImageFilter.h.
typedef TImageType itk::AdaptiveHistogramEqualizationImageFilter< TImageType, TKernel >::ImageType |
Image type typedef support.
Definition at line 100 of file itkAdaptiveHistogramEqualizationImageFilter.h.
typedef ImageType::PixelType itk::AdaptiveHistogramEqualizationImageFilter< TImageType, TKernel >::InputPixelType |
Definition at line 104 of file itkAdaptiveHistogramEqualizationImageFilter.h.
typedef SmartPointer< Self > itk::AdaptiveHistogramEqualizationImageFilter< TImageType, TKernel >::Pointer |
Definition at line 90 of file itkAdaptiveHistogramEqualizationImageFilter.h.
typedef AdaptiveHistogramEqualizationImageFilter itk::AdaptiveHistogramEqualizationImageFilter< TImageType, TKernel >::Self |
Standard class typedefs
Definition at line 83 of file itkAdaptiveHistogramEqualizationImageFilter.h.
typedef MovingHistogramImageFilter< TImageType, TImageType, TKernel, typename Function::AdaptiveEqualizationHistogram< typename TImageType::PixelType, typename TImageType::PixelType > > itk::AdaptiveHistogramEqualizationImageFilter< TImageType, TKernel >::Superclass |
Definition at line 89 of file itkAdaptiveHistogramEqualizationImageFilter.h.
|
inlineprotected |
Definition at line 158 of file itkAdaptiveHistogramEqualizationImageFilter.h.
References itk::AdaptiveHistogramEqualizationImageFilter< TImageType, TKernel >::m_Alpha, itk::AdaptiveHistogramEqualizationImageFilter< TImageType, TKernel >::m_Beta, itk::AdaptiveHistogramEqualizationImageFilter< TImageType, TKernel >::m_UseLookupTable, and itk::KernelImageFilter< TImageType, TImageType, TKernel >::SetRadius().
|
inlineprotectedvirtual |
Definition at line 166 of file itkAdaptiveHistogramEqualizationImageFilter.h.
|
private |
|
overrideprotectedvirtual |
Standard pipeline method
Reimplemented from itk::ImageSource< TOutputImage >.
|
inlineoverridevirtual |
Definition at line 142 of file itkAdaptiveHistogramEqualizationImageFilter.h.
References itk::BoxImageFilter< TInputImage, TOutputImage >::GetRadius(), itk::AdaptiveHistogramEqualizationImageFilter< TImageType, TKernel >::ImageDimension, itk::AdaptiveHistogramEqualizationImageFilter< TImageType, TKernel >::m_Alpha, itk::AdaptiveHistogramEqualizationImageFilter< TImageType, TKernel >::m_Beta, itk::AdaptiveHistogramEqualizationImageFilter< TImageType, TKernel >::m_InputMaximum, and itk::AdaptiveHistogramEqualizationImageFilter< TImageType, TKernel >::m_InputMinimum.
|
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::BoxImageFilter< TInputImage, TOutputImage >.
|
virtual |
Set/Get the value of alpha. Alpha=0 produces the adaptive histogram equalization (provided beta=0). Alpha=1 produces an unsharp mask. Default is 0.3.
|
virtual |
Set/Get the value of beta. If beta=1 (and alpha=1), then the output image matches the input image. As beta approaches 0, the filter behaves as an unsharp mask. Default is 0.3.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::MovingHistogramImageFilter< TImageType, TImageType, TKernel, Function::AdaptiveEqualizationHistogram< TImageType::PixelType, TImageType::PixelType > >.
|
virtual |
Set/Get whether an optimized lookup table for the intensity mapping function is used. Default is off.
|
static |
Method for creation through the object factory.
|
private |
|
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::BoxImageFilter< TInputImage, TOutputImage >.
|
virtual |
Set/Get the value of alpha. Alpha=0 produces the adaptive histogram equalization (provided beta=0). Alpha=1 produces an unsharp mask. Default is 0.3.
|
virtual |
Set/Get the value of beta. If beta=1 (and alpha=1), then the output image matches the input image. As beta approaches 0, the filter behaves as an unsharp mask. Default is 0.3.
|
inlinevirtual |
Set/Get whether an optimized lookup table for the intensity mapping function is used. Default is off.
Definition at line 127 of file itkAdaptiveHistogramEqualizationImageFilter.h.
References itk::AdaptiveHistogramEqualizationImageFilter< TImageType, TKernel >::m_UseLookupTable, and itk::Object::Modified().
|
virtual |
Set/Get whether an optimized lookup table for the intensity mapping function is used. Default is off.
|
virtual |
Set/Get whether an optimized lookup table for the intensity mapping function is used. Default is off.
|
static |
Definition at line 94 of file itkAdaptiveHistogramEqualizationImageFilter.h.
Referenced by itk::AdaptiveHistogramEqualizationImageFilter< TImageType, TKernel >::ConfigureHistogram().
|
private |
The beta parameter of the AdaptiveHistogramEqualization.
Definition at line 179 of file itkAdaptiveHistogramEqualizationImageFilter.h.
Referenced by itk::AdaptiveHistogramEqualizationImageFilter< TImageType, TKernel >::AdaptiveHistogramEqualizationImageFilter(), and itk::AdaptiveHistogramEqualizationImageFilter< TImageType, TKernel >::ConfigureHistogram().
|
private |
The alpha parameter of the AdaptiveHistogramEqualization.
Definition at line 182 of file itkAdaptiveHistogramEqualizationImageFilter.h.
Referenced by itk::AdaptiveHistogramEqualizationImageFilter< TImageType, TKernel >::AdaptiveHistogramEqualizationImageFilter(), and itk::AdaptiveHistogramEqualizationImageFilter< TImageType, TKernel >::ConfigureHistogram().
|
private |
Definition at line 185 of file itkAdaptiveHistogramEqualizationImageFilter.h.
Referenced by itk::AdaptiveHistogramEqualizationImageFilter< TImageType, TKernel >::ConfigureHistogram().
|
private |
Definition at line 184 of file itkAdaptiveHistogramEqualizationImageFilter.h.
Referenced by itk::AdaptiveHistogramEqualizationImageFilter< TImageType, TKernel >::ConfigureHistogram().
|
private |
Should we use a lookup table to optimize the use of the intensity mapping function?
Definition at line 189 of file itkAdaptiveHistogramEqualizationImageFilter.h.
Referenced by itk::AdaptiveHistogramEqualizationImageFilter< TImageType, TKernel >::AdaptiveHistogramEqualizationImageFilter(), and itk::AdaptiveHistogramEqualizationImageFilter< TImageType, TKernel >::SetUseLookupTable().