ITK
4.6.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.
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 66 of file itkAdaptiveHistogramEqualizationImageFilter.h.
Public Types | |
typedef SmartPointer< const Self > | ConstPointer |
typedef ImageType::SizeType | ImageSizeType |
typedef TImageType | ImageType |
typedef SmartPointer< Self > | Pointer |
typedef AdaptiveHistogramEqualizationImageFilter | Self |
typedef ImageToImageFilter < TImageType, TImageType > | Superclass |
Public Types inherited from itk::BoxImageFilter< TImageType, TImageType > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef TImageType::IndexType | IndexType |
typedef TImageType | InputImageType |
typedef TImageType::PixelType | InputPixelType |
typedef TImageType::OffsetType | OffsetType |
typedef TImageType | OutputImageType |
typedef TImageType::PixelType | OutputPixelType |
typedef SmartPointer< Self > | Pointer |
typedef TImageType::SizeType | RadiusType |
typedef TImageType::SizeValueType | RadiusValueType |
typedef TImageType::RegionType | RegionType |
typedef BoxImageFilter | Self |
typedef TImageType::SizeType | SizeType |
typedef ImageToImageFilter < TImageType, TImageType > | Superclass |
Public Types inherited from itk::ImageToImageFilter< TImageType, TImageType > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef InputImageType::ConstPointer | InputImageConstPointer |
typedef InputImageType::PixelType | InputImagePixelType |
typedef InputImageType::Pointer | InputImagePointer |
typedef InputImageType::RegionType | InputImageRegionType |
typedef TImageType | InputImageType |
typedef Superclass::OutputImagePixelType | OutputImagePixelType |
typedef Superclass::OutputImageRegionType | OutputImageRegionType |
typedef SmartPointer< Self > | Pointer |
typedef ImageToImageFilter | Self |
typedef ImageSource< TImageType > | Superclass |
Public Types inherited from itk::ImageSource< TImageType > | |
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 TImageType | 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 |
Public Member Functions | |
virtual ::itk::LightObject::Pointer | CreateAnother (void) const |
virtual const char * | GetNameOfClass () const |
virtual void | SetAlpha (float _arg) |
virtual float | GetAlpha () const |
virtual void | SetBeta (float _arg) |
virtual float | GetBeta () const |
virtual void | SetUseLookupTable (bool _arg) |
virtual bool | GetUseLookupTable () const |
virtual void | UseLookupTableOn () |
virtual void | UseLookupTableOff () |
Public Member Functions inherited from itk::BoxImageFilter< TImageType, TImageType > | |
virtual ::itk::LightObject::Pointer | CreateAnother (void) const |
virtual const RadiusType & | GetRadius () const |
virtual void | SetRadius (const RadiusType &radius) |
virtual void | SetRadius (const RadiusValueType &radius) |
Public Member Functions inherited from itk::ImageToImageFilter< TImageType, TImageType > | |
const InputImageType * | GetInput (void) const |
const InputImageType * | GetInput (unsigned int idx) const |
virtual void | PopBackInput () |
virtual void | PopFrontInput () |
virtual void | PushBackInput (const InputImageType *image) |
virtual void | PushFrontInput (const InputImageType *image) |
virtual void | SetInput (const InputImageType *image) |
virtual void | SetInput (unsigned int, const TImageType *image) |
virtual void | SetCoordinateTolerance (double _arg) |
virtual double | GetCoordinateTolerance () const |
virtual void | SetDirectionTolerance (double _arg) |
virtual double | GetDirectionTolerance () const |
Public Member Functions inherited from itk::ImageSource< TImageType > | |
OutputImageType * | GetOutput (unsigned int idx) |
virtual void | GraftNthOutput (unsigned int idx, DataObject *output) |
virtual void | GraftOutput (DataObject *output) |
virtual void | GraftOutput (const DataObjectIdentifierType &key, DataObject *output) |
OutputImageType * | GetOutput (void) |
const OutputImageType * | GetOutput (void) const |
virtual ProcessObject::DataObjectPointer | MakeOutput (ProcessObject::DataObjectPointerArraySizeType idx) ITK_OVERRIDE |
Public Member Functions inherited from itk::ProcessObject | |
virtual void | AbortGenerateDataOff () |
virtual void | AbortGenerateDataOn () |
virtual void | EnlargeOutputRequestedRegion (DataObject *) |
virtual const bool & | GetAbortGenerateData () const |
NameArray | GetInputNames () const |
MultiThreader * | GetMultiThreader () const |
DataObjectPointerArraySizeType | GetNumberOfIndexedInputs () const |
DataObjectPointerArraySizeType | GetNumberOfInputs () const |
DataObjectPointerArraySizeType | GetNumberOfOutputs () const |
virtual DataObjectPointerArraySizeType | GetNumberOfValidRequiredInputs () const |
NameArray | GetOutputNames () const |
virtual const float & | GetProgress () const |
NameArray | GetRequiredInputNames () const |
bool | HasInput (const DataObjectIdentifierType &key) const |
bool | HasOutput (const DataObjectIdentifierType &key) const |
virtual DataObjectPointer | MakeOutput (const DataObjectIdentifierType &) |
virtual void | PrepareOutputs () |
virtual void | PropagateRequestedRegion (DataObject *output) |
virtual void | ResetPipeline () |
virtual void | SetAbortGenerateData (bool _arg) |
virtual void | Update () |
virtual void | UpdateLargestPossibleRegion () |
virtual void | UpdateOutputData (DataObject *output) |
virtual void | UpdateOutputInformation () |
void | UpdateProgress (float progress) |
DataObjectPointerArray | GetInputs () |
DataObjectPointerArray | GetOutputs () |
DataObjectPointerArray | GetIndexedInputs () |
DataObjectPointerArray | GetIndexedOutputs () |
DataObjectPointerArraySizeType | GetNumberOfIndexedOutputs () const |
void | SetProgress (float progress) |
virtual void | SetReleaseDataFlag (bool flag) |
virtual bool | GetReleaseDataFlag () const |
void | ReleaseDataFlagOn () |
void | ReleaseDataFlagOff () |
virtual void | SetReleaseDataBeforeUpdateFlag (bool _arg) |
virtual const bool & | GetReleaseDataBeforeUpdateFlag () const |
virtual void | ReleaseDataBeforeUpdateFlagOn () |
virtual void | ReleaseDataBeforeUpdateFlagOff () |
virtual void | SetNumberOfThreads (ThreadIdType _arg) |
virtual const ThreadIdType & | GetNumberOfThreads () const |
Public Member Functions inherited from itk::Object | |
unsigned long | AddObserver (const EventObject &event, Command *) |
unsigned long | AddObserver (const EventObject &event, Command *) const |
virtual void | DebugOff () const |
virtual void | DebugOn () const |
Command * | GetCommand (unsigned long tag) |
bool | GetDebug () const |
MetaDataDictionary & | GetMetaDataDictionary (void) |
const MetaDataDictionary & | GetMetaDataDictionary (void) const |
virtual ModifiedTimeType | GetMTime () const |
virtual const TimeStamp & | GetTimeStamp () const |
bool | HasObserver (const EventObject &event) const |
void | InvokeEvent (const EventObject &) |
void | InvokeEvent (const EventObject &) const |
virtual void | Modified () const |
virtual void | Register () const ITK_OVERRIDE |
void | RemoveAllObservers () |
void | RemoveObserver (unsigned long tag) |
void | SetDebug (bool debugFlag) const |
void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
virtual void | SetReferenceCount (int) ITK_OVERRIDE |
virtual void | UnRegister () const ITK_OVERRIDE |
virtual void | SetObjectName (std::string _arg) |
virtual const std::string & | GetObjectName () const |
Public Member Functions inherited from itk::LightObject | |
virtual void | Delete () |
virtual int | GetReferenceCount () const |
itkCloneMacro (Self) | |
void | Print (std::ostream &os, Indent indent=0) const |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::BoxImageFilter< TImageType, TImageType > | |
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 | ImageDimension = TImageType::ImageDimension |
Static Public Attributes inherited from itk::BoxImageFilter< TImageType, TImageType > | |
static const unsigned int | ImageDimension |
Static Public Attributes inherited from itk::ImageToImageFilter< TImageType, TImageType > | |
static const unsigned int | InputImageDimension |
static const unsigned int | OutputImageDimension |
Static Public Attributes inherited from itk::ImageSource< TImageType > | |
static const unsigned int | OutputImageDimension |
Private Member Functions | |
AdaptiveHistogramEqualizationImageFilter (const Self &) | |
void | operator= (const Self &) |
float | CumulativeFunction (float u, float v) |
Private Attributes | |
float | m_Alpha |
float | m_Beta |
bool | m_UseLookupTable |
Additional Inherited Members | |
Protected Types inherited from itk::ImageToImageFilter< TImageType, TImageType > | |
typedef ImageToImageFilterDetail::ImageRegionCopier < itkGetStaticConstMacro(OutputImageDimension), itkGetStaticConstMacro(InputImageDimension) > | InputToOutputRegionCopierType |
typedef ImageToImageFilterDetail::ImageRegionCopier < itkGetStaticConstMacro(InputImageDimension), itkGetStaticConstMacro(OutputImageDimension) > | OutputToInputRegionCopierType |
Protected Types inherited from itk::LightObject | |
typedef int | InternalReferenceCountType |
Static Protected Member Functions inherited from itk::ImageSource< TImageType > | |
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 | |
InternalReferenceCountType | m_ReferenceCount |
SimpleFastMutexLock | m_ReferenceCountLock |
typedef SmartPointer< const Self > itk::AdaptiveHistogramEqualizationImageFilter< TImageType >::ConstPointer |
Definition at line 77 of file itkAdaptiveHistogramEqualizationImageFilter.h.
typedef ImageType::SizeType itk::AdaptiveHistogramEqualizationImageFilter< TImageType >::ImageSizeType |
Definition at line 90 of file itkAdaptiveHistogramEqualizationImageFilter.h.
typedef TImageType itk::AdaptiveHistogramEqualizationImageFilter< TImageType >::ImageType |
Image type typedef support.
Definition at line 86 of file itkAdaptiveHistogramEqualizationImageFilter.h.
typedef SmartPointer< Self > itk::AdaptiveHistogramEqualizationImageFilter< TImageType >::Pointer |
Definition at line 76 of file itkAdaptiveHistogramEqualizationImageFilter.h.
typedef AdaptiveHistogramEqualizationImageFilter itk::AdaptiveHistogramEqualizationImageFilter< TImageType >::Self |
Standard class typedefs
Definition at line 74 of file itkAdaptiveHistogramEqualizationImageFilter.h.
typedef ImageToImageFilter< TImageType, TImageType > itk::AdaptiveHistogramEqualizationImageFilter< TImageType >::Superclass |
Definition at line 75 of file itkAdaptiveHistogramEqualizationImageFilter.h.
|
inlineprotected |
Definition at line 115 of file itkAdaptiveHistogramEqualizationImageFilter.h.
References itk::AdaptiveHistogramEqualizationImageFilter< TImageType >::m_Alpha, itk::AdaptiveHistogramEqualizationImageFilter< TImageType >::m_Beta, itk::AdaptiveHistogramEqualizationImageFilter< TImageType >::m_UseLookupTable, and itk::BoxImageFilter< TImageType, TImageType >::SetRadius().
|
inlineprotectedvirtual |
Definition at line 123 of file itkAdaptiveHistogramEqualizationImageFilter.h.
|
private |
|
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.
|
private |
A function which is used in GenerateData().
|
protectedvirtual |
Standard pipeline method
Reimplemented from itk::ImageSource< TImageType >.
|
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::BoxImageFilter< TImageType, TImageType >.
|
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 |
|
protectedvirtual |
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< TImageType, TImageType >.
|
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 |
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.
|
virtual |
Set/Get whether an optimized lookup table for the intensity mapping function is used. Default is off.
|
static |
Definition at line 80 of file itkAdaptiveHistogramEqualizationImageFilter.h.
|
private |
The beta parameter of the AdaptiveHistogramEqualization.
Definition at line 139 of file itkAdaptiveHistogramEqualizationImageFilter.h.
Referenced by itk::AdaptiveHistogramEqualizationImageFilter< TImageType >::AdaptiveHistogramEqualizationImageFilter().
|
private |
The alpha parameter of the AdaptiveHistogramEqualization.
Definition at line 142 of file itkAdaptiveHistogramEqualizationImageFilter.h.
Referenced by itk::AdaptiveHistogramEqualizationImageFilter< TImageType >::AdaptiveHistogramEqualizationImageFilter().
|
private |
Should we use a lookup table to optimize the use of the intensity mapping function?
Definition at line 146 of file itkAdaptiveHistogramEqualizationImageFilter.h.
Referenced by itk::AdaptiveHistogramEqualizationImageFilter< TImageType >::AdaptiveHistogramEqualizationImageFilter().