ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkDiscreteGaussianDerivativeImageFilter.h>
Calculates image derivatives using discrete derivative gaussian kernels. This filter calculates Gaussian derivative by separable convolution of an image and a discrete Gaussian derivative operator (kernel).
The Gaussian operators used here were described by Tony Lindeberg (Discrete Scale-Space Theory and the Scale-Space Primal Sketch. Dissertation. Royal Institute of Technology, Stockholm, Sweden. May 1991.)
The variance or standard deviation (sigma) will be evaluated as pixel units if SetUseImageSpacing is off (false) or as physical units if SetUseImageSpacing is on (true, default). The variance can be set independently in each dimension.
When the Gaussian kernel is small, this filter tends to run faster than itk::RecursiveGaussianImageFilter.
This implementation was taken from the Insight Journal paper: http://hdl.handle.net/1926/1290
Definition at line 60 of file itkDiscreteGaussianDerivativeImageFilter.h.
typedef FixedArray< double, itkGetStaticConstMacro(ImageDimension) > itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::ArrayType |
Typedef of double containers
Definition at line 93 of file itkDiscreteGaussianDerivativeImageFilter.h.
typedef SmartPointer< const Self > itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::ConstPointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 68 of file itkDiscreteGaussianDerivativeImageFilter.h.
typedef TInputImage itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::InputImageType |
Image type information.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 74 of file itkDiscreteGaussianDerivativeImageFilter.h.
typedef TInputImage::InternalPixelType itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::InputInternalPixelType |
Definition at line 85 of file itkDiscreteGaussianDerivativeImageFilter.h.
typedef TInputImage::PixelType itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::InputPixelType |
Definition at line 84 of file itkDiscreteGaussianDerivativeImageFilter.h.
typedef FixedArray< unsigned int, itkGetStaticConstMacro(ImageDimension) > itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::OrderArrayType |
Array for storing desired order of derivatives
Definition at line 96 of file itkDiscreteGaussianDerivativeImageFilter.h.
typedef TOutputImage itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::OutputImageType |
Some convenient typedefs.
Reimplemented from itk::ImageSource< TOutputImage >.
Definition at line 78 of file itkDiscreteGaussianDerivativeImageFilter.h.
typedef TOutputImage::InternalPixelType itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::OutputInternalPixelType |
Definition at line 83 of file itkDiscreteGaussianDerivativeImageFilter.h.
typedef TOutputImage::PixelType itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::OutputPixelType |
Extract some information from the image types. Dimensionality of the two images is assumed to be the same.
Definition at line 82 of file itkDiscreteGaussianDerivativeImageFilter.h.
typedef SmartPointer< Self > itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::Pointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 67 of file itkDiscreteGaussianDerivativeImageFilter.h.
typedef DiscreteGaussianDerivativeImageFilter itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::Self |
Standard class typedefs.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 65 of file itkDiscreteGaussianDerivativeImageFilter.h.
typedef ImageToImageFilter< TInputImage, TOutputImage > itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::Superclass |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 66 of file itkDiscreteGaussianDerivativeImageFilter.h.
itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::DiscreteGaussianDerivativeImageFilter | ( | ) | [inline, protected] |
End concept checking
Definition at line 194 of file itkDiscreteGaussianDerivativeImageFilter.h.
virtual itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::~DiscreteGaussianDerivativeImageFilter | ( | ) | [inline, protected, virtual] |
Definition at line 205 of file itkDiscreteGaussianDerivativeImageFilter.h.
itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::DiscreteGaussianDerivativeImageFilter | ( | const Self & | ) | [private] |
virtual::itk::LightObject::Pointer itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::CreateAnother | ( | void | ) | const [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.
void itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::GenerateData | ( | ) | [protected, virtual] |
Standard pipeline method. While this class does not implement a ThreadedGenerateData(), its GenerateData() delegates all calculations to an NeighborhoodOperatorImageFilter. Since the NeighborhoodOperatorImageFilter is multithreaded, this filter is multithreaded by default.
Reimplemented from itk::ImageSource< TOutputImage >.
virtual void itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::GenerateInputRequestedRegion | ( | ) | throw ( InvalidRequestedRegionError ) [protected, virtual] |
DiscreteGaussianDerivativeImageFilter needs a larger input requested region than the output requested region (larger by the size of the Gaussian kernel). As such, DiscreteGaussianDerivativeImageFilter needs to provide an implementation for GenerateInputRequestedRegion() in order to inform the pipeline execution model.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
virtual unsigned int itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::GetInternalNumberOfStreamDivisions | ( | ) | const [virtual] |
virtual const ArrayType itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::GetMaximumError | ( | ) | const [virtual] |
The algorithm will size the discrete kernel so that the error resulting from truncation of the kernel is no greater than MaximumError. The default is 0.01 in each dimension.
virtual int itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::GetMaximumKernelWidth | ( | ) | const [virtual] |
Set the kernel to be no wider than MaximumKernelWidth pixels, even if MaximumError demands it. The default is 32 pixels.
virtual const char* itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
virtual bool itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::GetNormalizeAcrossScale | ( | ) | const [virtual] |
Set/Get the flag for calculating scale-space normalized derivatives. Normalized derivatives are obtained multiplying by the scale parameter t.
virtual const OrderArrayType itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::GetOrder | ( | ) | const [virtual] |
Order of derivatives in each dimension. Sets the derivative order independently for each dimension, but see also SetOrder(const unsigned int v). The default is 1 in each dimension.
virtual bool itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::GetUseImageSpacing | ( | ) | const [virtual] |
Set/Get whether or not the filter will use the spacing of the input image in its calculations. Default is ImageSpacingOn.
virtual const ArrayType itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::GetVariance | ( | ) | const [virtual] |
The variance for the discrete Gaussian kernel. Sets the variance independently for each dimension, but see also SetVariance(const double v). The default is 0.0 in each dimension. If UseImageSpacing is true, the units are the physical units of your image. If UseImageSpacing is false then the units are pixels.
static Pointer itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from itk::Object.
virtual void itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::NormalizeAcrossScaleOff | ( | ) | [virtual] |
Set/Get the flag for calculating scale-space normalized derivatives. Normalized derivatives are obtained multiplying by the scale parameter t.
virtual void itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::NormalizeAcrossScaleOn | ( | ) | [virtual] |
Set/Get the flag for calculating scale-space normalized derivatives. Normalized derivatives are obtained multiplying by the scale parameter t.
void itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::operator= | ( | const Self & | ) | [private] |
PushBackInput(), PushFronInput() in the public section force the input to be the type expected by an ImageToImageFilter. However, these methods end of "hiding" the versions from the superclass (ProcessObject) whose arguments are DataObjects. Here, we re-expose the versions from ProcessObject to avoid warnings about hiding methods from the superclass.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
void itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::PrintSelf | ( | std::ostream & | os, |
Indent | indent | ||
) | const [protected, virtual] |
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::ImageToImageFilter< TInputImage, TOutputImage >.
virtual void itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::SetInternalNumberOfStreamDivisions | ( | unsigned int | _arg | ) | [virtual] |
Set/Get number of pieces to divide the input for the internal composite pipeline. The upstream pipeline will not be effected.
The default value is $ImageDimension^2$.
This parameter was introduced to reduce the memory used by images internally, at the cost of performance.
virtual void itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::SetMaximumError | ( | ArrayType | _arg | ) | [virtual] |
The algorithm will size the discrete kernel so that the error resulting from truncation of the kernel is no greater than MaximumError. The default is 0.01 in each dimension.
void itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::SetMaximumError | ( | const typename ArrayType::ValueType | v | ) | [inline] |
Convenience Set methods for setting all dimensional parameters to the same values.
Definition at line 160 of file itkDiscreteGaussianDerivativeImageFilter.h.
References itk::FixedArray< TValueType, VLength >::Fill().
virtual void itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::SetMaximumKernelWidth | ( | int | _arg | ) | [virtual] |
Set the kernel to be no wider than MaximumKernelWidth pixels, even if MaximumError demands it. The default is 32 pixels.
virtual void itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::SetNormalizeAcrossScale | ( | bool | _arg | ) | [virtual] |
Set/Get the flag for calculating scale-space normalized derivatives. Normalized derivatives are obtained multiplying by the scale parameter t.
virtual void itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::SetOrder | ( | OrderArrayType | _arg | ) | [virtual] |
Order of derivatives in each dimension. Sets the derivative order independently for each dimension, but see also SetOrder(const unsigned int v). The default is 1 in each dimension.
void itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::SetOrder | ( | const typename OrderArrayType::ValueType | v | ) | [inline] |
Convenience Set methods for setting all dimensional parameters to the same values.
Definition at line 144 of file itkDiscreteGaussianDerivativeImageFilter.h.
References itk::FixedArray< TValueType, VLength >::Fill().
virtual void itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::SetUseImageSpacing | ( | bool | _arg | ) | [virtual] |
Set/Get whether or not the filter will use the spacing of the input image in its calculations. Default is ImageSpacingOn.
virtual void itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::SetVariance | ( | ArrayType | _arg | ) | [virtual] |
The variance for the discrete Gaussian kernel. Sets the variance independently for each dimension, but see also SetVariance(const double v). The default is 0.0 in each dimension. If UseImageSpacing is true, the units are the physical units of your image. If UseImageSpacing is false then the units are pixels.
void itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::SetVariance | ( | const typename ArrayType::ValueType | v | ) | [inline] |
Convenience Set methods for setting all dimensional parameters to the same values.
Definition at line 152 of file itkDiscreteGaussianDerivativeImageFilter.h.
References itk::FixedArray< TValueType, VLength >::Fill().
itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::typedef | ( | Concept::HasNumericTraits< OutputPixelType > | ) |
Begin concept checking This class requires OutputHasNumericTraitsCheck in the form of ( Concept::HasNumericTraits< OutputPixelType > )
virtual void itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::UseImageSpacingOff | ( | ) | [virtual] |
Set/Get whether or not the filter will use the spacing of the input image in its calculations. Default is ImageSpacingOn.
virtual void itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::UseImageSpacingOn | ( | ) | [virtual] |
Set/Get whether or not the filter will use the spacing of the input image in its calculations. Default is ImageSpacingOn.
const unsigned int itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::ImageDimension = TOutputImage::ImageDimension [static] |
Extract some information from the image types. Dimensionality of the two images is assumed to be the same.
Definition at line 90 of file itkDiscreteGaussianDerivativeImageFilter.h.
unsigned int itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::m_InternalNumberOfStreamDivisions [private] |
Number of pieces to divide the input on the internal composite pipeline. The upstream pipeline will not be effected.
Definition at line 255 of file itkDiscreteGaussianDerivativeImageFilter.h.
ArrayType itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::m_MaximumError [private] |
The maximum error of the gaussian blurring kernel in each dimensional direction. For definition of maximum error, see GaussianOperator.
Definition at line 241 of file itkDiscreteGaussianDerivativeImageFilter.h.
int itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::m_MaximumKernelWidth [private] |
Maximum allowed kernel width for any dimension of the discrete Gaussian approximation
Definition at line 245 of file itkDiscreteGaussianDerivativeImageFilter.h.
bool itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::m_NormalizeAcrossScale [private] |
Flag for scale-space normalization of derivatives.
Definition at line 251 of file itkDiscreteGaussianDerivativeImageFilter.h.
OrderArrayType itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::m_Order [private] |
The order of the derivatives in each dimensional direction.
Definition at line 232 of file itkDiscreteGaussianDerivativeImageFilter.h.
bool itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::m_UseImageSpacing [private] |
Flag to indicate whether to use image spacing
Definition at line 248 of file itkDiscreteGaussianDerivativeImageFilter.h.
ArrayType itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::m_Variance [private] |
The variance of the gaussian blurring kernel in each dimensional direction.
Definition at line 236 of file itkDiscreteGaussianDerivativeImageFilter.h.