|
ITK
5.2.0
Insight Toolkit
|
Go to the documentation of this file.
18 #ifndef itkGradientRecursiveGaussianImageFilter_h
19 #define itkGradientRecursiveGaussianImageFilter_h
56 typename TOutputImage = Image<
57 CovariantVector<typename NumericTraits<typename TInputImage::PixelType>::RealType, TInputImage::ImageDimension>,
58 TInputImage::ImageDimension>>
83 static constexpr
unsigned int ImageDimension = TInputImage::ImageDimension;
140 GetSigmaArray()
const;
148 SetNormalizeAcrossScale(
bool normalize);
149 itkGetConstMacro(NormalizeAcrossScale,
bool);
158 GenerateInputRequestedRegion()
override;
170 itkSetMacro(UseImageDirection,
bool);
171 itkGetConstMacro(UseImageDirection,
bool);
172 itkBooleanMacro(UseImageDirection);
175 #ifdef ITK_USE_CONCEPT_CHECKING
187 PrintSelf(std::ostream & os,
Indent indent)
const override;
191 GenerateData()
override;
195 EnlargeOutputRequestedRegion(
DataObject * output)
override;
198 GenerateOutputInformation()
override;
201 template <
typename TValue>
209 it.GetImage()->TransformLocalVectorToPhysicalVector(gradient, physicalGradient);
210 it.Set(
OutputPixelType(physicalGradient.GetDataPointer(), ImageDimension,
false));
213 template <
typename T>
222 for (
unsigned int nc = 0; nc < nComponents; nc++)
226 for (
unsigned int dim = 0; dim < ImageDimension; dim++)
228 componentGradient[dim] =
231 it.
GetImage()->TransformLocalVectorToPhysicalVector(componentGradient, correctedComponentGradient);
232 for (
unsigned int dim = 0; dim < ImageDimension; dim++)
235 nc * ImageDimension + dim, correctedGradient, correctedComponentGradient[dim]);
238 it.
Set(correctedGradient);
241 template <
template <
typename,
unsigned int>
class P,
class T,
unsigned int N>
247 it.GetImage()->TransformLocalVectorToPhysicalVector(gradient, it.Value());
266 #ifndef ITK_MANUAL_INSTANTIATION
267 # include "itkGradientRecursiveGaussianImageFilter.hxx"
Presents an image as being composed of the N-th element of its pixels.
DerivativeFilterPointer m_DerivativeFilter
typename OutputImageType::Pointer OutputImagePointer
typename NumericTraits< InternalRealType >::ValueType InternalScalarRealType
Templated n-dimensional vector image class.
const ImageType * GetImage() const
void TransformOutputPixel(ImageRegionIterator< Image< P< T, N >, N >> &it)
OutputImageAdaptorPointer m_ImageAdaptor
void TransformOutputPixel(ImageRegionIterator< T > &it)
Control indentation during Print() invocation.
void TransformOutputPixel(ImageRegionIterator< VectorImage< TValue, ImageDimension >> &it)
A multi-dimensional iterator templated over image type that walks a region of pixels.
bool m_NormalizeAcrossScale
Base class for filters that take an image as input and produce an image as output.
Base class for all process objects that output image data.
typename NumericTraits< OutputPixelType >::ValueType OutputComponentType
typename OutputImageType::PixelType OutputPixelType
typename OutputImageAdaptorType::Pointer OutputImageAdaptorPointer
std::vector< GaussianFilterPointer > m_SmoothingFilters
static void SetNthComponent(int c, PixelType &pixel, const ComponentType &v)
Computes the gradient of an image by convolution with the first derivative of a Gaussian.
typename NumericTraits< PixelType >::ScalarRealType ScalarRealType
TInputImage InputImageType
void Set(const PixelType &value) const
typename GaussianFilterType::Pointer GaussianFilterPointer
Define additional traits for native types such as int or float.
A templated class holding a n-Dimensional covariant vector.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
static unsigned int GetLength()
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
static ComponentType GetNthComponent(int c, const PixelType &pixel)
typename TInputImage::PixelType PixelType
Templated n-dimensional image class.
Base class for computing IIR convolution with an approximation of a Gaussian kernel.
typename NumericTraits< PixelType >::RealType RealType
TOutputImage OutputImageType
Base class for all data objects in ITK.
typename NumericTraits< RealType >::FloatType InternalRealType
typename DerivativeFilterType::Pointer DerivativeFilterPointer