template<typename TImageType, typename TKernel = Neighborhood<bool, TImageType::ImageDimension>>
class itk::AdaptiveHistogramEqualizationImageFilter< TImageType, TKernel >
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. The size of the window is controlled by SetRadius – the default Radius is 5 in all directions.
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.
- ITK Sphinx Examples:
-
- Examples
- SphinxExamples/src/Filtering/ImageStatistics/AdaptiveHistogramEqualizationImageFilter/Code.cxx.
Definition at line 72 of file itkAdaptiveHistogramEqualizationImageFilter.h.
|
using | ConstPointer = SmartPointer< const Self > |
|
using | ImageSizeType = typename ImageType::SizeType |
|
using | ImageType = TImageType |
|
using | InputPixelType = typename ImageType::PixelType |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = AdaptiveHistogramEqualizationImageFilter |
|
using | Superclass = MovingHistogramImageFilter< TImageType, TImageType, TKernel, typename Function::AdaptiveEqualizationHistogram< typename TImageType::PixelType, typename TImageType::PixelType > > |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | IndexType = typename TImageType ::IndexType |
|
using | InputImageType = TImageType |
|
using | KernelIteratorType = typename KernelType::ConstIterator |
|
using | KernelType = TKernel |
|
using | OffsetListType = typename std::list< OffsetType > |
|
using | OffsetMapType = typename std::map< OffsetType, OffsetListType, Functor::LexicographicCompare > |
|
using | OffsetType = typename TImageType ::OffsetType |
|
using | OutputImageType = TImageType |
|
using | OutputPixelType = typename TImageType ::PixelType |
|
using | PixelType = typename TImageType ::PixelType |
|
using | Pointer = SmartPointer< Self > |
|
using | RadiusType = typename KernelType::SizeType |
|
using | RegionType = typename TImageType ::RegionType |
|
using | Self = MovingHistogramImageFilter |
|
using | SizeType = typename TImageType ::SizeType |
|
using | Superclass = MovingHistogramImageFilterBase< TImageType, TImageType, TKernel > |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | IndexType = typename TImageType ::IndexType |
|
using | InputImageType = TImageType |
|
using | KernelIteratorType = typename KernelType::ConstIterator |
|
using | KernelType = TKernel |
|
using | OffsetListType = typename std::list< OffsetType > |
|
using | OffsetMapType = typename std::map< OffsetType, OffsetListType, Functor::LexicographicCompare > |
|
using | OffsetType = typename TImageType ::OffsetType |
|
using | OutputImageType = TImageType |
|
using | OutputPixelType = typename TImageType ::PixelType |
|
using | PixelType = typename TImageType ::PixelType |
|
using | Pointer = SmartPointer< Self > |
|
using | RadiusType = typename KernelType::SizeType |
|
using | RegionType = typename TImageType ::RegionType |
|
using | Self = MovingHistogramImageFilterBase |
|
using | SizeType = typename TImageType ::SizeType |
|
using | Superclass = KernelImageFilter< TImageType, TImageType, TKernel > |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | FlatKernelType = FlatStructuringElement<(Self::ImageDimension)> |
|
using | IndexType = typename TImageType ::IndexType |
|
using | InputImageType = TImageType |
|
using | InputPixelType = typename TImageType ::PixelType |
|
using | KernelType = TKernel |
|
using | OffsetType = typename TImageType ::OffsetType |
|
using | OutputImageType = TImageType |
|
using | OutputPixelType = typename TImageType ::PixelType |
|
using | Pointer = SmartPointer< Self > |
|
using | RadiusType = typename TImageType ::SizeType |
|
using | RegionType = typename TImageType ::RegionType |
|
using | Self = KernelImageFilter |
|
using | SizeType = typename TImageType ::SizeType |
|
using | Superclass = BoxImageFilter< TImageType, TImageType > |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | IndexType = typename TInputImage::IndexType |
|
using | InputImageType = TInputImage |
|
using | InputPixelType = typename TInputImage::PixelType |
|
using | OffsetType = typename TInputImage::OffsetType |
|
using | OutputImageType = TOutputImage |
|
using | OutputPixelType = typename TOutputImage::PixelType |
|
using | Pointer = SmartPointer< Self > |
|
using | RadiusType = typename TInputImage::SizeType |
|
using | RadiusValueType = typename TInputImage::SizeValueType |
|
using | RegionType = typename TInputImage::RegionType |
|
using | Self = BoxImageFilter |
|
using | SizeType = typename TInputImage::SizeType |
|
using | Superclass = ImageToImageFilter< TInputImage, TOutputImage > |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | InputImageConstPointer = typename InputImageType::ConstPointer |
|
using | InputImagePixelType = typename InputImageType::PixelType |
|
using | InputImagePointer = typename InputImageType::Pointer |
|
using | InputImageRegionType = typename InputImageType::RegionType |
|
using | InputImageType = TInputImage |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = ImageToImageFilter |
|
using | Superclass = ImageSource< TOutputImage > |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | DataObjectIdentifierType = Superclass::DataObjectIdentifierType |
|
using | DataObjectPointer = DataObject::Pointer |
|
using | DataObjectPointerArraySizeType = Superclass::DataObjectPointerArraySizeType |
|
using | OutputImagePixelType = typename OutputImageType::PixelType |
|
using | OutputImagePointer = typename OutputImageType::Pointer |
|
using | OutputImageRegionType = typename OutputImageType::RegionType |
|
using | OutputImageType = TOutputImage |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = ImageSource |
|
using | Superclass = ProcessObject |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | DataObjectIdentifierType = DataObject::DataObjectIdentifierType |
|
using | DataObjectPointer = DataObject::Pointer |
|
using | DataObjectPointerArray = std::vector< DataObjectPointer > |
|
using | DataObjectPointerArraySizeType = DataObjectPointerArray::size_type |
|
using | MultiThreaderType = MultiThreaderBase |
|
using | NameArray = std::vector< DataObjectIdentifierType > |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = ProcessObject |
|
using | Superclass = Object |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = Object |
|
using | Superclass = LightObject |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = LightObject |
|
|
| AdaptiveHistogramEqualizationImageFilter () |
|
void | BeforeThreadedGenerateData () override |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
| ~AdaptiveHistogramEqualizationImageFilter () override=default |
|
void | DynamicThreadedGenerateData (const OutputImageRegionType &outputRegionForThread) override |
|
| MovingHistogramImageFilter () |
|
void | PushHistogram (HistogramType &histogram, const OffsetListType *addedList, const OffsetListType *removedList, const RegionType &inputRegion, const RegionType &kernRegion, const InputImageType *inputImage, const IndexType currentIdx) |
|
| ~MovingHistogramImageFilter () override=default |
|
void | GetDirAndOffset (const IndexType LineStart, const IndexType PrevLineStart, OffsetType &LineOffset, OffsetType &Changes, int &LineDirection) |
|
| MovingHistogramImageFilterBase () |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
| ~MovingHistogramImageFilterBase () override=default |
|
| KernelImageFilter () |
|
| ~KernelImageFilter () override=default |
|
| BoxImageFilter () |
|
void | GenerateInputRequestedRegion () override |
|
| ~BoxImageFilter () override=default |
|
virtual void | CallCopyInputRegionToOutputRegion (OutputImageRegionType &destRegion, const InputImageRegionType &srcRegion) |
|
virtual void | CallCopyOutputRegionToInputRegion (InputImageRegionType &destRegion, const OutputImageRegionType &srcRegion) |
|
| ImageToImageFilter () |
|
void | VerifyInputInformation () const override |
|
| ~ImageToImageFilter () override=default |
|
virtual void | PushBackInput (const DataObject *input) |
|
virtual void | PushFrontInput (const DataObject *input) |
|
virtual void | AfterThreadedGenerateData () |
|
virtual void | AllocateOutputs () |
|
void | ClassicMultiThread (ThreadFunctionType callbackFunction) |
|
void | GenerateData () override |
|
virtual const ImageRegionSplitterBase * | GetImageRegionSplitter () const |
|
| ImageSource () |
|
virtual unsigned int | SplitRequestedRegion (unsigned int i, unsigned int pieces, OutputImageRegionType &splitRegion) |
|
| ~ImageSource () override=default |
|
virtual void | ThreadedGenerateData (const OutputImageRegionType ®ion, ThreadIdType threadId) |
|
virtual bool | GetDynamicMultiThreading () const |
|
virtual void | SetDynamicMultiThreading (bool _arg) |
|
virtual void | DynamicMultiThreadingOn () |
|
virtual void | AddInput (DataObject *input) |
|
void | AddOptionalInputName (const DataObjectIdentifierType &) |
|
void | AddOptionalInputName (const DataObjectIdentifierType &, DataObjectPointerArraySizeType idx) |
|
virtual void | AddOutput (DataObject *output) |
|
bool | AddRequiredInputName (const DataObjectIdentifierType &) |
|
bool | AddRequiredInputName (const DataObjectIdentifierType &, DataObjectPointerArraySizeType idx) |
|
virtual void | CacheInputReleaseDataFlags () |
|
virtual void | GenerateOutputInformation () |
|
virtual void | GenerateOutputRequestedRegion (DataObject *output) |
|
DataObject * | GetInput (const DataObjectIdentifierType &key) |
|
const DataObject * | GetInput (const DataObjectIdentifierType &key) const |
|
virtual const DataObjectPointerArraySizeType & | GetNumberOfRequiredInputs () const |
|
virtual const DataObjectPointerArraySizeType & | GetNumberOfRequiredOutputs () const |
|
bool | IsIndexedInputName (const DataObjectIdentifierType &) const |
|
bool | IsIndexedOutputName (const DataObjectIdentifierType &) const |
|
bool | IsRequiredInputName (const DataObjectIdentifierType &) const |
|
DataObjectPointerArraySizeType | MakeIndexFromInputName (const DataObjectIdentifierType &name) const |
|
DataObjectPointerArraySizeType | MakeIndexFromOutputName (const DataObjectIdentifierType &name) const |
|
DataObjectIdentifierType | MakeNameFromInputIndex (DataObjectPointerArraySizeType idx) const |
|
DataObjectIdentifierType | MakeNameFromOutputIndex (DataObjectPointerArraySizeType idx) const |
|
| ProcessObject () |
|
virtual void | PropagateResetPipeline () |
|
virtual void | PushBackInput (const DataObject *input) |
|
virtual void | PushFrontInput (const DataObject *input) |
|
virtual void | ReleaseInputs () |
|
virtual void | RemoveInput (const DataObjectIdentifierType &key) |
|
virtual void | RemoveInput (DataObjectPointerArraySizeType) |
|
virtual void | RemoveOutput (const DataObjectIdentifierType &key) |
|
virtual void | RemoveOutput (DataObjectPointerArraySizeType idx) |
|
bool | RemoveRequiredInputName (const DataObjectIdentifierType &) |
|
virtual void | RestoreInputReleaseDataFlags () |
|
virtual void | SetInput (const DataObjectIdentifierType &key, DataObject *input) |
|
virtual void | SetNthInput (DataObjectPointerArraySizeType idx, DataObject *input) |
|
virtual void | SetNthOutput (DataObjectPointerArraySizeType idx, DataObject *output) |
|
void | SetNumberOfIndexedInputs (DataObjectPointerArraySizeType num) |
|
void | SetNumberOfIndexedOutputs (DataObjectPointerArraySizeType num) |
|
virtual void | SetNumberOfRequiredInputs (DataObjectPointerArraySizeType) |
|
virtual void | SetNumberOfRequiredOutputs (DataObjectPointerArraySizeType _arg) |
|
virtual void | SetOutput (const DataObjectIdentifierType &name, DataObject *output) |
|
virtual void | SetPrimaryInput (DataObject *object) |
|
virtual void | SetPrimaryOutput (DataObject *object) |
|
void | SetRequiredInputNames (const NameArray &) |
|
virtual void | VerifyPreconditions () const |
|
| ~ProcessObject () override |
|
DataObject * | GetInput (DataObjectPointerArraySizeType idx) |
|
const DataObject * | GetInput (DataObjectPointerArraySizeType idx) const |
|
DataObject * | GetPrimaryInput () |
|
const DataObject * | GetPrimaryInput () const |
|
virtual void | SetPrimaryInputName (const DataObjectIdentifierType &key) |
|
virtual const char * | GetPrimaryInputName () const |
|
DataObject * | GetOutput (const DataObjectIdentifierType &key) |
|
const DataObject * | GetOutput (const DataObjectIdentifierType &key) const |
|
virtual void | SetPrimaryOutputName (const DataObjectIdentifierType &key) |
|
virtual const char * | GetPrimaryOutputName () const |
|
DataObject * | GetOutput (DataObjectPointerArraySizeType i) |
|
const DataObject * | GetOutput (DataObjectPointerArraySizeType i) const |
|
DataObject * | GetPrimaryOutput () |
|
const DataObject * | GetPrimaryOutput () const |
|
virtual bool | GetThreaderUpdateProgress () const |
|
virtual void | ThreaderUpdateProgressOn () |
|
virtual void | SetThreaderUpdateProgress (bool arg) |
|
| Object () |
|
bool | PrintObservers (std::ostream &os, Indent indent) const |
|
virtual void | SetTimeStamp (const TimeStamp &timeStamp) |
|
| ~Object () override |
|
virtual LightObject::Pointer | InternalClone () const |
|
| LightObject () |
|
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
|
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
|
virtual | ~LightObject () |
|