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);
152 void PrintSelf(std::ostream & os,
Indent indent)
const;
165 void ThreadedGenerateData(
const OutputImageRegionType & outputRegionForThread,
170 void operator=(
const Self &);
172 virtual void GenerateOutputInformation();
176 template <
class TValueType>
179 if ( this->m_UseImageDirection )
182 it.GetImage()->TransformLocalVectorToPhysicalVector( gradient, physicalGradient );
195 if ( this->m_UseImageDirection )
197 it.
GetImage()->TransformLocalVectorToPhysicalVector( gradient, it.
Value() );
201 it.
Value() = gradient;
214 #ifndef ITK_MANUAL_INSTANTIATION
215 #include "itkGradientImageFilter.hxx"