18 #ifndef __itkGradientImageFilter_h
19 #define __itkGradientImageFilter_h
29 template <
typename TPixelType,
unsigned int VImageDimension >
class VectorImage;
54 template<
class TInputImage,
55 class TOperatorValueType = float,
56 class TOutputValueType = float,
57 class TOutputImageType = Image< CovariantVector< TOutputValueType,
58 TInputImage::ImageDimension >,
59 TInputImage::ImageDimension > >
65 itkStaticConstMacro(InputImageDimension,
unsigned int,
66 TInputImage::ImageDimension);
67 itkStaticConstMacro(OutputImageDimension,
unsigned int,
68 TInputImage::ImageDimension);
107 virtual void GenerateInputRequestedRegion()
112 void SetUseImageSpacingOn()
113 { this->SetUseImageSpacing(
true); }
117 void SetUseImageSpacingOff()
118 { this->SetUseImageSpacing(
false); }
122 itkSetMacro(UseImageSpacing,
bool);
123 itkGetConstMacro(UseImageSpacing,
bool);
126 #ifdef ITK_USE_CONCEPT_CHECKING
146 itkSetMacro(UseImageDirection,
bool);
147 itkGetConstMacro(UseImageDirection,
bool);
148 itkBooleanMacro(UseImageDirection);
154 void PrintSelf(std::ostream & os,
Indent indent)
const;
166 void ThreadedGenerateData(
const OutputImageRegionType & outputRegionForThread,
171 void operator=(
const Self &);
173 virtual void GenerateOutputInformation();
177 template <
class TValueType>
180 if ( this->m_UseImageDirection )
183 it.GetImage()->TransformLocalVectorToPhysicalVector( gradient, physicalGradient );
196 if ( this->m_UseImageDirection )
198 it.
GetImage()->TransformLocalVectorToPhysicalVector( gradient, it.
Value() );
202 it.
Value() = gradient;
215 #ifndef ITK_MANUAL_INSTANTIATION
216 #include "itkGradientImageFilter.hxx"