#include <itkMinMaxCurvatureFlowImageFilter.h>
Inheritance diagram for itk::MinMaxCurvatureFlowImageFilter:
Public Types | |
typedef MinMaxCurvatureFlowImageFilter | Self |
typedef CurvatureFlowImageFilter< TInputImage, TOutputImage > | Superclass |
typedef SmartPointer< Self > | Pointer |
typedef SmartPointer< const Self > | ConstPointer |
typedef Superclass::FiniteDifferenceFunctionType | FiniteDifferenceFunctionType |
typedef Superclass::OutputImageType | OutputImageType |
typedef MinMaxCurvatureFlowFunction< OutputImageType > | MinMaxCurvatureFlowFunctionType |
typedef FiniteDifferenceFunctionType::RadiusType | RadiusType |
typedef RadiusType::SizeValueType | RadiusValueType |
Public Methods | |
virtual const char * | GetClassName () const |
itkStaticConstMacro (ImageDimension, unsigned int, Superclass::ImageDimension) | |
virtual void | SetStencilRadius (RadiusValueType _arg) |
virtual RadiusValueType | GetStencilRadius () |
Static Public Methods | |
Pointer | New () |
Protected Methods | |
MinMaxCurvatureFlowImageFilter () | |
~MinMaxCurvatureFlowImageFilter () | |
void | PrintSelf (std::ostream &os, Indent indent) const |
virtual void | InitializeIteration () |
MinMaxCurvatureFlowImageFilter implements a curvature driven image denoising algorithm. Iso-brightness contours in the grayscale input image are viewed as a level set. The level set is then evolved using a curvature-based speed function:
where if is less than or equal to and , otherwise. is the mean curvature of the iso-brightness contour at point .
In min/max curvature flow, movement is turned on or off depending on the scale of the noise one wants to remove. Switching depends on the average image value of a region of radius around each point. The choice of , the stencil radius, governs the scale of the noise to be removed.
The threshold value is the average intensity obtained in the direction perpendicular to the gradient at point at the extrema of the local neighborhood.
This filter make use of the multi-threaded finite difference solver hierarchy. Updates are computed using a MinMaxCurvatureFlowFunction object. A zero flux Neumann boundary condition is used when computing derivatives near the data boundary.
Definition at line 75 of file itkMinMaxCurvatureFlowImageFilter.h.
|
Reimplemented from itk::CurvatureFlowImageFilter< TInputImage, TOutputImage >. Reimplemented in itk::BinaryMinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >. Definition at line 84 of file itkMinMaxCurvatureFlowImageFilter.h. |
|
Inherit typedefs from Superclass. Reimplemented from itk::CurvatureFlowImageFilter< TInputImage, TOutputImage >. Reimplemented in itk::BinaryMinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >. Definition at line 95 of file itkMinMaxCurvatureFlowImageFilter.h. |
|
MinMaxCurvatureFlowFunction type. Definition at line 100 of file itkMinMaxCurvatureFlowImageFilter.h. |
|
OutputImage type. Reimplemented from itk::CurvatureFlowImageFilter< TInputImage, TOutputImage >. Reimplemented in itk::BinaryMinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >. Definition at line 96 of file itkMinMaxCurvatureFlowImageFilter.h. |
|
Reimplemented from itk::CurvatureFlowImageFilter< TInputImage, TOutputImage >. Reimplemented in itk::BinaryMinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >. Definition at line 83 of file itkMinMaxCurvatureFlowImageFilter.h. |
|
Typedef support for the neighbour radius. Definition at line 108 of file itkMinMaxCurvatureFlowImageFilter.h. |
|
Definition at line 109 of file itkMinMaxCurvatureFlowImageFilter.h. Referenced by itk::MinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >::~MinMaxCurvatureFlowImageFilter(). |
|
Standard class typedefs. Reimplemented from itk::CurvatureFlowImageFilter< TInputImage, TOutputImage >. Reimplemented in itk::BinaryMinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >. Definition at line 80 of file itkMinMaxCurvatureFlowImageFilter.h. |
|
Reimplemented from itk::CurvatureFlowImageFilter< TInputImage, TOutputImage >. Reimplemented in itk::BinaryMinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >. Definition at line 82 of file itkMinMaxCurvatureFlowImageFilter.h. |
|
|
|
Definition at line 118 of file itkMinMaxCurvatureFlowImageFilter.h. References itk::MinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >::RadiusValueType. |
|
Run-time type information (and related methods). Reimplemented from itk::CurvatureFlowImageFilter< TInputImage, TOutputImage >. Reimplemented in itk::BinaryMinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >. |
|
Set/Get the stencil radius. |
|
Initialize the state of filter and equation before each iteration. Progress feeback is implemented as part of this method. Reimplemented from itk::CurvatureFlowImageFilter< TInputImage, TOutputImage >. Reimplemented in itk::BinaryMinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >. |
|
Dimensionality of input and output data is assumed to be the same. It is inherited from the superclass. Reimplemented from itk::CurvatureFlowImageFilter< TInputImage, TOutputImage >. Reimplemented in itk::BinaryMinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >. |
|
Method for creation through the object factory. Reimplemented from itk::CurvatureFlowImageFilter< TInputImage, TOutputImage >. Reimplemented in itk::BinaryMinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >. |
|
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::CurvatureFlowImageFilter< TInputImage, TOutputImage >. Reimplemented in itk::BinaryMinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >. |
|
Set/Get the stencil radius. |