15 #ifndef itkDasGradientFilter_h
16 #define itkDasGradientFilter_h
18 #include <itkVector.h>
20 #include <itkImageToImageFilter.h>
21 #include <itkLinearInterpolateImageFunction.h>
22 #include <itkVectorLinearInterpolateImageFunction.h>
23 #include <itkImageFileWriter.h>
44 template <
typename TScalarType,
unsigned int NDimensions = 3>
46 public ImageToImageFilter<
47 Image< TScalarType, NDimensions>,
48 Image< Vector<TScalarType, NDimensions>, NDimensions>
55 typedef ImageToImageFilter<
72 typedef VectorLinearInterpolateImageFunction <VectorImageType,
86 itkStaticConstMacro(
Dimension,
unsigned int, NDimensions);
92 itkSetMacro(ReverseGradient,
bool);
93 itkGetMacro(ReverseGradient,
bool);
99 itkSetMacro(UseGradientTransformedMovingImage,
bool);
100 itkGetMacro(UseGradientTransformedMovingImage,
bool);
105 void PrintSelf(std::ostream& os, Indent indent)
const;
108 virtual void BeforeThreadedGenerateData();
111 virtual void ThreadedGenerateData(
const InputImageRegionType &outputRegionForThread, ThreadIdType threadId);
119 void operator=(
const Self&);
122 typename VectorImageType::Pointer m_PhiTransformation;
125 typename LinearInterpolatorType::Pointer m_ThicknessInterpolator;
128 typename LinearInterpolatorType::Pointer m_WhiteMatterInterpolator;
131 typename VectorInterpolatorType::Pointer m_GradientInterpolator;
134 typename GradientFilterType::Pointer m_GradientFilter;
137 typename TransformImageFilterType::Pointer m_TransformImageFilter;
140 bool m_ReverseGradient;
143 bool m_UseGradientTransformedMovingImage;
146 bool m_GradientFilterInitialized;
152 #ifndef ITK_MANUAL_INSTANTIATION
153 #include "itkDasGradientFilter.txx"
void SetTransformation(VectorImageType *image)
Definition: itkDasGradientFilter.h:89
ScalarImageToNormalizedGradientVectorImageFilter< InputImageType, TScalarType > GradientFilterType
Definition: itkDasGradientFilter.h:76
Image< VectorPixelType, NDimensions > VectorImageType
Definition: itkDasGradientFilter.h:69
ImageToImageFilter< Image< TScalarType, NDimensions >, Image< Vector< TScalarType, NDimensions >, NDimensions > > Superclass
Definition: itkDasGradientFilter.h:60
GLenum GLsizei GLenum GLenum const GLvoid * image
Definition: glew.h:4052
VectorImageType OutputImageType
Definition: itkDasGradientFilter.h:71
DasGradientFilter Self
Definition: itkDasGradientFilter.h:54
Definition: niftkITKAffineResampleImage.cxx:74
ImageType::IndexType IndexType
Definition: niftkMakeLapUSProbeBasicModel.cxx:32
Image< TScalarType, NDimensions > InputImageType
Definition: itkDasGradientFilter.h:65
InputImageType::RegionType InputImageRegionType
Definition: itkDasGradientFilter.h:67
VectorLinearInterpolateImageFunction< VectorImageType, TScalarType > VectorInterpolatorType
Definition: itkDasGradientFilter.h:73
SmartPointer< const Self > ConstPointer
Definition: itkDasGradientFilter.h:62
This class calculates the gradient as per equation 3 in Das et. al. Neuroimage 45 (2009) 867-879...
Definition: itkDasGradientFilter.h:45
ImageType::RegionType RegionType
Definition: niftkMakeLapUSProbeBasicModel.cxx:30
~DasGradientFilter()
Definition: itkDasGradientFilter.h:104
LinearInterpolateImageFunction< InputImageType, TScalarType > LinearInterpolatorType
Definition: itkDasGradientFilter.h:74
DasTransformImageFilter< TScalarType, NDimensions > TransformImageFilterType
Definition: itkDasGradientFilter.h:77
SmartPointer< Self > Pointer
Definition: itkDasGradientFilter.h:61
Simultaneous itk::Image and itk::Array (and hence vnl_vector) class.
Vector< TScalarType, NDimensions > VectorPixelType
Definition: itkDasGradientFilter.h:68
const unsigned int Dimension
Definition: niftkBreastDCEandADC.cxx:89
This class takes scalar image as input, and outputs a vector field of image gradient.
Definition: itkScalarImageToNormalizedGradientVectorImageFilter.h:67
InputImageType::IndexType InputImageIndexType
Definition: itkDasGradientFilter.h:66
VectorPixelType OutputPixelType
Definition: itkDasGradientFilter.h:70