19 #ifndef rtkBackwardDifferenceDivergenceImageFilter_h 20 #define rtkBackwardDifferenceDivergenceImageFilter_h 22 #include <itkImageToImageFilter.h> 23 #include <itkCastImageFilter.h> 39 template <
typename TInputImage,
typename TOutputImage = itk::Image<
float, TInputImage::ImageDimension>>
41 :
public itk::ImageToImageFilter<TInputImage, TOutputImage>
47 static constexpr
unsigned int InputImageDimension = TInputImage::ImageDimension;
54 using Superclass = itk::ImageToImageFilter<InputImageType, TOutputImage>;
69 this->SetUseImageSpacing(
true);
77 this->SetUseImageSpacing(
false);
83 itkGetConstMacro(UseImageSpacing,
bool);
89 SetDimensionsProcessed(
bool * DimensionsProcessed);
93 OverrideBoundaryCondition(itk::ImageBoundaryCondition<TInputImage> * boundaryCondition);
106 GenerateInputRequestedRegion()
override;
109 BeforeThreadedGenerateData()
override;
112 DynamicThreadedGenerateData(
const typename InputImageType::RegionType & outputRegionForThread)
override;
115 AfterThreadedGenerateData()
override;
125 bool m_DimensionsProcessed[TInputImage::ImageDimension];
135 #ifndef ITK_MANUAL_INSTANTIATION 136 # include "rtkBackwardDifferenceDivergenceImageFilter.hxx" 139 #endif //__rtkBackwardDifferenceDivergenceImageFilter__ typename InputImageType::SizeType InputSizeType
void SetUseImageSpacingOff()
itk::CovariantVector< InputPixelType, InputImageDimension > CovariantVectorType
TInputImage InputImageType
bool m_IsBoundaryConditionOverriden
itk::SmartPointer< Self > Pointer
#define itkSetMacro(name, type)
TInputImage::SpacingType m_InvSpacingCoeffs
typename InputImageType::PixelType InputPixelType
itk::ImageBoundaryCondition< TInputImage, TInputImage > * m_BoundaryCondition
typename InputImageType::RegionType InputImageRegionType
itk::SmartPointer< const Self > ConstPointer
itk::ImageToImageFilter< InputImageType, TOutputImage > Superclass
Computes the backward differences divergence (adjoint of the forward differences gradient) of the inp...
void SetUseImageSpacingOn()