18 #ifndef __itkGradientRecursiveGaussianImageFilter_h
19 #define __itkGradientRecursiveGaussianImageFilter_h
51 template<
typename TInputImage,
52 typename TOutputImage = Image< CovariantVector<
53 typename NumericTraits< typename TInputImage::PixelType >::RealType,
54 TInputImage::ImageDimension >,
55 TInputImage::ImageDimension > >
80 TInputImage::ImageDimension);
145 itkGetConstMacro(NormalizeAcrossScale,
bool);
165 itkSetMacro(UseImageDirection,
bool);
166 itkGetConstMacro(UseImageDirection,
bool);
167 itkBooleanMacro(UseImageDirection);
170 #ifdef ITK_USE_CONCEPT_CHECKING
192 template <
typename TValue>
199 it.GetImage()->TransformLocalVectorToPhysicalVector(gradient, physicalGradient );
203 template <
typename T >
211 for (
unsigned int nc = 0; nc < nComponents; nc++ )
219 it.
GetImage()->TransformLocalVectorToPhysicalVector(componentGradient, correctedComponentGradient );
223 correctedComponentGradient[dim] );
226 it.
Set(correctedGradient);
229 template <
template<
typename,
unsigned int>
class P,
class T,
unsigned int N>
234 it.GetImage()->TransformLocalVectorToPhysicalVector(gradient, it.Value() );
256 #ifndef ITK_MANUAL_INSTANTIATION
257 #include "itkGradientRecursiveGaussianImageFilter.hxx"
CovariantVector< OutputComponentType, ImageDimension > CovariantVectorType
static const unsigned int ImageDimension
OutputImageAdaptorType::Pointer OutputImageAdaptorPointer
RecursiveGaussianImageFilter< RealImageType, RealImageType > GaussianFilterType
GaussianFilterType::Pointer GaussianFilterPointer
static void SetNthComponent(int c, PixelType &pixel, const ComponentType &v)
RecursiveGaussianImageFilter< InputImageType, RealImageType > DerivativeFilterType
TInputImage::PixelType PixelType
void Set(const PixelType &value) const
void operator=(const Self &)
virtual ~GradientRecursiveGaussianImageFilter()
Base class for computing IIR convolution with an approximation of a Gaussian kernel.
void TransformOutputPixel(ImageRegionIterator< T > &it)
Templated n-dimensional vector image class.
Computes the gradient of an image by convolution with the first derivative of a Gaussian.
Image< InternalRealType, itkGetStaticConstMacro(ImageDimension) > RealImageType
TInputImage InputImageType
Base class for all process objects that output image data.
CovariantVector< ScalarRealType, ImageDimension > GradientVectorType
virtual void GenerateInputRequestedRegion()
RealType GetSigma() const
static ComponentType GetNthComponent(int c, const PixelType &pixel)
NumericTraits< PixelType >::RealType RealType
NumericTraits< PixelType >::ScalarRealType ScalarRealType
SmartPointer< Self > Pointer
NumericTraits< OutputPixelType >::ValueType OutputComponentType
void EnlargeOutputRequestedRegion(DataObject *output)
void SetNormalizeAcrossScale(bool normalizeInScaleSpace)
OutputImageType::PixelType OutputPixelType
OutputImageAdaptorPointer m_ImageAdaptor
DerivativeFilterPointer m_DerivativeFilter
std::vector< GaussianFilterPointer > m_SmoothingFilters
static unsigned int GetLength()
void TransformOutputPixel(ImageRegionIterator< VectorImage< TValue, ImageDimension > > &it)
SmartPointer< const Self > ConstPointer
TOutputImage OutputImageType
GradientRecursiveGaussianImageFilter()
NumericTraits< InternalRealType >::ValueType InternalScalarRealType
void SetSigma(ScalarRealType sigma)
bool m_NormalizeAcrossScale
Presents an image as being composed of the N-th element of its pixels.
void TransformOutputPixel(ImageRegionIterator< Image< P< T, N >, N > > &it)
void GenerateOutputInformation()
GradientRecursiveGaussianImageFilter Self
void PrintSelf(std::ostream &os, Indent indent) const
Base class for filters that take an image as input and produce an image as output.
Control indentation during Print() invocation.
ImageToImageFilter< TInputImage, TOutputImage > Superclass
NumericTraits< RealType >::FloatType InternalRealType
Define additional traits for native types such as int or float.
DerivativeFilterType::Pointer DerivativeFilterPointer
#define itkConceptMacro(name, concept)
PixelType Get(void) const
A templated class holding a n-Dimensional covariant vector.
Base class for all data objects in ITK.
Templated n-dimensional image class.
A multi-dimensional iterator templated over image type that walks a region of pixels.
NthElementImageAdaptor< TOutputImage, InternalScalarRealType > OutputImageAdaptorType
TOutputImage::Pointer OutputImagePointer
const ImageType * GetImage() const