18#ifndef itkGradientRecursiveGaussianImageFilter_h
19#define itkGradientRecursiveGaussianImageFilter_h
56 typename TOutputImage =
Image<
58 TInputImage::ImageDimension>>
151 itkGetConstMacro(NormalizeAcrossScale,
bool);
172 itkSetMacro(UseImageDirection,
bool);
173 itkGetConstMacro(UseImageDirection,
bool);
174 itkBooleanMacro(UseImageDirection);
199 template <
typename TValue>
207 it.GetImage()->TransformLocalVectorToPhysicalVector(gradient, physicalGradient);
211 template <
typename T>
220 for (
unsigned int nc = 0; nc < nComponents; ++nc)
226 componentGradient[dim] =
229 it.
GetImage()->TransformLocalVectorToPhysicalVector(componentGradient, correctedComponentGradient);
233 nc *
ImageDimension + dim, correctedGradient, correctedComponentGradient[dim]);
236 it.
Set(correctedGradient);
239 template <
template <
typename,
unsigned int>
class P,
class T,
unsigned int VDimension>
245 it.GetImage()->TransformLocalVectorToPhysicalVector(gradient, it.Value());
264#ifndef ITK_MANUAL_INSTANTIATION
265# include "itkGradientRecursiveGaussianImageFilter.hxx"
A templated class holding a n-Dimensional covariant vector.
Base class for all data objects in ITK.
static ComponentType GetNthComponent(int c, const PixelType &pixel)
static void SetNthComponent(int c, PixelType &pixel, const ComponentType &v)
Simulate a standard C array with copy semantics.
ValueType * GetDataPointer()
static constexpr unsigned int ImageDimension
typename NumericTraits< PixelType >::RealType RealType
typename NumericTraits< OutputPixelType >::ValueType OutputComponentType
GradientRecursiveGaussianImageFilter Self
ImageToImageFilter< TInputImage, TOutputImage > Superclass
SmartPointer< Self > Pointer
Image< InternalRealType, Self::ImageDimension > RealImageType
typename NumericTraits< InternalRealType >::ValueType InternalScalarRealType
bool m_NormalizeAcrossScale
ScalarRealType GetSigma() const
typename NumericTraits< RealType >::FloatType InternalRealType
RecursiveGaussianImageFilter< InputImageType, RealImageType > DerivativeFilterType
void GenerateData() override
typename TOutputImage::Pointer OutputImagePointer
void TransformOutputPixel(ImageRegionIterator< VectorImage< TValue, ImageDimension > > &it)
FixedArray< ScalarRealType, Self::ImageDimension > SigmaArrayType
NthElementImageAdaptor< TOutputImage, InternalScalarRealType > OutputImageAdaptorType
typename OutputImageAdaptorType::Pointer OutputImageAdaptorPointer
void SetNormalizeAcrossScale(bool normalize)
TInputImage InputImageType
typename TInputImage::PixelType PixelType
void SetSigmaArray(const SigmaArrayType &sigma)
SigmaArrayType GetSigmaArray() const
TOutputImage OutputImageType
CovariantVector< OutputComponentType, ImageDimension > CovariantVectorType
OutputImageAdaptorPointer m_ImageAdaptor
void TransformOutputPixel(ImageRegionIterator< Image< P< T, VDimension >, VDimension > > &it)
~GradientRecursiveGaussianImageFilter() override=default
typename NumericTraits< PixelType >::ScalarRealType ScalarRealType
CovariantVector< ScalarRealType, ImageDimension > GradientVectorType
typename OutputImageType::PixelType OutputPixelType
RecursiveGaussianImageFilter< RealImageType, RealImageType > GaussianFilterType
std::vector< GaussianFilterPointer > m_SmoothingFilters
typename DerivativeFilterType::Pointer DerivativeFilterPointer
void TransformOutputPixel(ImageRegionIterator< T > &it)
void GenerateOutputInformation() override
void EnlargeOutputRequestedRegion(DataObject *output) override
void GenerateInputRequestedRegion() override
void SetSigma(ScalarRealType sigma)
void PrintSelf(std::ostream &os, Indent indent) const override
SmartPointer< const Self > ConstPointer
DerivativeFilterPointer m_DerivativeFilter
GradientRecursiveGaussianImageFilter()
typename GaussianFilterType::Pointer GaussianFilterPointer
const ImageType * GetImage() const
A multi-dimensional iterator templated over image type that walks a region of pixels.
void Set(const PixelType &value) const
Templated n-dimensional image class.
Control indentation during Print() invocation.
Presents an image as being composed of the N-th element of its pixels.
SmartPointer< Self > Pointer
static unsigned int GetLength(const T &)
Base class for computing IIR convolution with an approximation of a Gaussian kernel.
SmartPointer< Self > Pointer
Implements transparent reference counting.
Templated n-dimensional vector image class.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....