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);
152 itkGetConstMacro(NormalizeAcrossScale,
bool);
172 itkSetMacro(UseImageDirection,
bool);
173 itkGetConstMacro(UseImageDirection,
bool);
174 itkBooleanMacro(UseImageDirection);
177 #ifdef ITK_USE_CONCEPT_CHECKING
200 template <typename TValue>
207 it.GetImage()->TransformLocalVectorToPhysicalVector(gradient, physicalGradient );
211 template <
typename T >
219 for (
unsigned int nc = 0; nc < nComponents; nc++ )
227 it.
GetImage()->TransformLocalVectorToPhysicalVector(componentGradient, correctedComponentGradient );
231 correctedComponentGradient[dim] );
234 it.
Set(correctedGradient);
237 template <
template<
typename,
unsigned int>
class P,
class T,
unsigned int N>
242 it.GetImage()->TransformLocalVectorToPhysicalVector(gradient, it.Value() );
267 #ifndef ITK_MANUAL_INSTANTIATION
268 #include "itkGradientRecursiveGaussianImageFilter.hxx"
CovariantVector< OutputComponentType, ImageDimension > CovariantVectorType
static const unsigned int ImageDimension
SigmaArrayType GetSigmaArray() const
void SetSigmaArray(const SigmaArrayType &sigmas)
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 &)
FixedArray< ScalarRealType, itkGetStaticConstMacro(ImageDimension) > SigmaArrayType
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
void GenerateOutputInformation() override
virtual void GenerateInputRequestedRegion() override
Simulate a standard C array with copy semnatics.
static ComponentType GetNthComponent(int c, const PixelType &pixel)
NumericTraits< PixelType >::RealType RealType
NumericTraits< PixelType >::ScalarRealType ScalarRealType
SmartPointer< Self > Pointer
NumericTraits< OutputPixelType >::ValueType OutputComponentType
void GenerateData(void) override
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
void EnlargeOutputRequestedRegion(DataObject *output) override
Presents an image as being composed of the N-th element of its pixels.
void TransformOutputPixel(ImageRegionIterator< Image< P< T, N >, N > > &it)
GradientRecursiveGaussianImageFilter Self
Base class for filters that take an image as input and produce an image as output.
ScalarRealType GetSigma() const
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
void PrintSelf(std::ostream &os, Indent indent) const override
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