15 #ifndef itkScalarImageToNormalizedGradientVectorImageFilter_h
16 #define itkScalarImageToNormalizedGradientVectorImageFilter_h
18 #include <itkImageToImageFilter.h>
19 #include <itkVector.h>
21 #include <itkGradientImageFilter.h>
22 #include <itkGradientRecursiveGaussianImageFilter.h>
23 #include <itkCovariantVector.h>
66 template<
class TInputImage,
typename TScalarType >
68 public ImageToImageFilter<TInputImage,
69 Image< Vector< TScalarType,
70 TInputImage::ImageDimension >,
71 TInputImage::ImageDimension > >
78 typedef ImageToImageFilter<TInputImage,
79 Image< Vector< VectorDataType,
80 TInputImage::ImageDimension >,
86 typedef enum {CENTRAL_DIFFERENCES, DERIVATIVE_OPERATOR, DERIVATIVE_OF_GAUSSIAN} DerivativeType;
95 itkStaticConstMacro(
Dimension,
unsigned int, TInputImage::ImageDimension);
98 typedef Vector< VectorDataType, itkGetStaticConstMacro(Dimension) >
OutputPixelType;
116 void SetScalarImage(
const InputImageType *
image) {this->SetNthInput(0, const_cast<InputImageType *>(image)); }
119 itkSetMacro(UseMillimetreScaling,
bool);
120 itkGetMacro(UseMillimetreScaling,
bool);
123 itkSetMacro(DivideByTwo,
bool);
124 itkGetMacro(DivideByTwo,
bool);
136 itkSetMacro(PadValue, InputPixelType);
137 itkGetMacro(PadValue, InputPixelType);
142 itkSetMacro(DerivativeType, DerivativeType);
143 itkGetMacro(DerivativeType, DerivativeType);
146 itkSetMacro(Sigma,
double);
147 itkGetMacro(Sigma,
double);
153 void PrintSelf(std::ostream& os, Indent indent)
const;
156 virtual void GenerateData();
164 void operator=(
const Self&);
167 bool m_UseMillimetreScaling;
179 InputPixelType m_PadValue;
182 DerivativeType m_DerivativeType;
185 GradientImageFilterPointer m_GradientImageFilter;
188 GradientRecursiveGaussianImageFilterPointer m_GradientRecursiveGaussianImageFilter;
191 GaussianSmoothFilterPointer m_GaussianSmoothFilter;
194 NormaliseFilterPointer m_NormalizeFilter;
200 #ifndef ITK_MANUAL_INSTANTIATION
201 #include "itkScalarImageToNormalizedGradientVectorImageFilter.txx"
CovariantVectorImageType::Pointer CovariantVectorImagePointer
Definition: itkScalarImageToNormalizedGradientVectorImageFilter.h:102
~ScalarImageToNormalizedGradientVectorImageFilter()
Definition: itkScalarImageToNormalizedGradientVectorImageFilter.h:152
ScalarImageToNormalizedGradientVectorImageFilter Self
Definition: itkScalarImageToNormalizedGradientVectorImageFilter.h:77
This class takes a vector field and normalises each vector to unit length.
Definition: itkNormaliseVectorFilter.h:28
SmartPointer< Self > Pointer
Definition: itkScalarImageToNormalizedGradientVectorImageFilter.h:82
GaussianSmoothVectorFieldFilter< VectorDataType, itkGetStaticConstMacro(Dimension), itkGetStaticConstMacro(Dimension)> GaussianSmoothFilterType
Definition: itkScalarImageToNormalizedGradientVectorImageFilter.h:110
GradientImageFilter< TInputImage, VectorDataType, VectorDataType > GradientImageFilterType
Definition: itkScalarImageToNormalizedGradientVectorImageFilter.h:106
GLenum GLsizei GLenum GLenum const GLvoid * image
Definition: glew.h:4052
Vector< VectorDataType, itkGetStaticConstMacro(Dimension) > OutputPixelType
Definition: itkScalarImageToNormalizedGradientVectorImageFilter.h:98
TScalarType VectorDataType
Definition: itkScalarImageToNormalizedGradientVectorImageFilter.h:75
Definition: niftkITKAffineResampleImage.cxx:74
void SetScalarImage(const InputImageType *image)
Definition: itkScalarImageToNormalizedGradientVectorImageFilter.h:116
Image< OutputPixelType, itkGetStaticConstMacro(Dimension) > OutputImageType
Definition: itkScalarImageToNormalizedGradientVectorImageFilter.h:100
NormaliseFilterType::Pointer NormaliseFilterPointer
Definition: itkScalarImageToNormalizedGradientVectorImageFilter.h:113
GradientRecursiveGaussianImageFilterType::Pointer GradientRecursiveGaussianImageFilterPointer
Definition: itkScalarImageToNormalizedGradientVectorImageFilter.h:109
GaussianSmoothFilterType::Pointer GaussianSmoothFilterPointer
Definition: itkScalarImageToNormalizedGradientVectorImageFilter.h:111
void Normalize(std::vector< double > &x)
Definition: niftiImageToMitk.cxx:34
InputImageType::RegionType InputRegionType
Definition: itkScalarImageToNormalizedGradientVectorImageFilter.h:105
float PixelType
Definition: niftkBreastDCEandADC.cxx:88
SmartPointer< Self > Pointer
Definition: itkGaussianSmoothVectorFieldFilter.h:45
SmartPointer< Self > Pointer
Definition: itkNormaliseVectorFilter.h:41
ImageType::RegionType RegionType
Definition: niftkMakeLapUSProbeBasicModel.cxx:30
GradientRecursiveGaussianImageFilter< TInputImage, CovariantVectorImageType > GradientRecursiveGaussianImageFilterType
Definition: itkScalarImageToNormalizedGradientVectorImageFilter.h:108
SmartPointer< const Self > ConstPointer
Definition: itkScalarImageToNormalizedGradientVectorImageFilter.h:83
InputImageType::PixelType InputPixelType
Definition: itkScalarImageToNormalizedGradientVectorImageFilter.h:104
Superclass::InputImageType InputImageType
Definition: itkScalarImageToNormalizedGradientVectorImageFilter.h:103
CovariantVector< VectorDataType, itkGetStaticConstMacro(Dimension) > CovariantVectorType
Definition: itkScalarImageToNormalizedGradientVectorImageFilter.h:99
Simultaneous itk::Image and itk::Array (and hence vnl_vector) class.
GradientImageFilterType::Pointer GradientImageFilterPointer
Definition: itkScalarImageToNormalizedGradientVectorImageFilter.h:107
Image< CovariantVectorType, itkGetStaticConstMacro(Dimension) > CovariantVectorImageType
Definition: itkScalarImageToNormalizedGradientVectorImageFilter.h:101
const unsigned int Dimension
Definition: niftkBreastDCEandADC.cxx:89
ImageToImageFilter< TInputImage, Image< Vector< VectorDataType, TInputImage::ImageDimension >, TInputImage::ImageDimension > > Superclass
Definition: itkScalarImageToNormalizedGradientVectorImageFilter.h:81
Class that takes a vector field, and applies Gaussian smoothing.
Definition: itkGaussianSmoothVectorFieldFilter.h:35
This class takes scalar image as input, and outputs a vector field of image gradient.
Definition: itkScalarImageToNormalizedGradientVectorImageFilter.h:67
NormaliseVectorFilter< VectorDataType, itkGetStaticConstMacro(Dimension) > NormaliseFilterType
Definition: itkScalarImageToNormalizedGradientVectorImageFilter.h:112