19 #ifndef rtkTotalVariationImageFilter_h 20 #define rtkTotalVariationImageFilter_h 22 #include <itkImageToImageFilter.h> 23 #include <itkNumericTraits.h> 25 #include <itkSimpleDataObjectDecorator.h> 49 template <
typename TInputImage>
57 using Superclass = itk::ImageToImageFilter<TInputImage, TInputImage>;
71 using SizeType =
typename TInputImage::SizeType;
76 static constexpr
unsigned int ImageDimension = TInputImage::ImageDimension;
79 using RealType =
typename itk::NumericTraits<PixelType>::RealType;
92 return this->GetTotalVariationOutput()->Get();
95 GetTotalVariationOutput();
98 const RealObjectType *
99 GetTotalVariationOutput()
const;
104 using Superclass::MakeOutput;
109 itkConceptMacro(InputHasNumericTraitsCheck, (itk::Concept::HasNumericTraits<PixelType>));
117 this->SetUseImageSpacing(
true);
125 this->SetUseImageSpacing(
false);
131 itkGetConstMacro(UseImageSpacing,
bool);
138 PrintSelf(std::ostream & os, itk::Indent indent)
const override;
144 AllocateOutputs()
override;
148 BeforeThreadedGenerateData()
override;
153 AfterThreadedGenerateData()
override;
157 ThreadedGenerateData(
const RegionType & outputRegionForThread, itk::ThreadIdType threadId)
override;
161 GenerateInputRequestedRegion()
override;
165 EnlargeOutputRequestedRegion(itk::DataObject * data)
override;
174 #ifndef ITK_MANUAL_INSTANTIATION 175 # include "rtkTotalVariationImageFilter.hxx" itk::SimpleDataObjectDecorator< RealType > RealObjectType
typename TInputImage::RegionType RegionType
typename itk::NumericTraits< PixelType >::RealType RealType
itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType
typename TInputImage::IndexType IndexType
Compute the total variation of an Image.
typename itk::DataObject::Pointer DataObjectPointer
itk::SmartPointer< Self > Pointer
itk::ImageToImageFilter< TInputImage, TInputImage > Superclass
#define itkSetMacro(name, type)
typename TInputImage::SizeType SizeType
RealType GetTotalVariation() const
void SetUseImageSpacingOff()
void SetUseImageSpacingOn()
typename TInputImage::Pointer InputImagePointer
typename TInputImage::PixelType PixelType
itk::SmartPointer< const Self > ConstPointer
itk::Array< RealType > m_SumOfSquareRoots