19 #ifndef rtkSeparableQuadraticSurrogateRegularizationImageFilter_h 20 #define rtkSeparableQuadraticSurrogateRegularizationImageFilter_h 22 #include <itkConstNeighborhoodIterator.h> 23 #include <itkImageRegionIterator.h> 24 #include <itkImageToImageFilter.h> 43 template <
typename TImage>
45 :
public itk::ImageToImageFilter<TImage, TImage>
52 using Superclass = itk::ImageToImageFilter<TImage, TImage>;
62 itkSetMacro(Radius,
typename TImage::RegionType::SizeType);
63 itkGetMacro(Radius,
typename TImage::RegionType::SizeType);
67 itkSetMacro(RegularizationWeights,
typename TImage::PixelType);
68 itkGetMacro(RegularizationWeights,
typename TImage::PixelType);
76 itk::ProcessObject::DataObjectPointer
77 MakeOutput(itk::ProcessObject::DataObjectPointerArraySizeType idx)
override;
78 itk::ProcessObject::DataObjectPointer
79 MakeOutput(
const itk::ProcessObject::DataObjectIdentifierType &)
override;
84 DynamicThreadedGenerateData(
const typename TImage::RegionType & outputRegionForThread)
override;
86 GenerateInputRequestedRegion()
override;
90 typename TImage::PixelType
91 GreenPriorFirstDerivative(
typename TImage::PixelType pix);
92 typename TImage::PixelType
93 GreenPriorSecondDerivative(
typename TImage::PixelType pix);
97 typename TImage::RegionType::SizeType
m_Radius;
98 typename itk::PixelTraits<typename TImage::PixelType>::ValueType
m_C1;
99 typename itk::PixelTraits<typename TImage::PixelType>::ValueType
m_C2;
105 #ifndef ITK_MANUAL_INSTANTIATION 106 # include "rtkSeparableQuadraticSurrogateRegularizationImageFilter.hxx" itk::PixelTraits< typename TImage::PixelType >::ValueType m_C1
itk::ImageToImageFilter< TImage, TImage > Superclass
#define itkSetMacro(name, type)
itk::SmartPointer< Self > Pointer
TImage::RegionType::SizeType m_Radius
For one-step inversion of spectral CT data by the method Mechlem2017, computes regularization term's ...
TImage::PixelType m_RegularizationWeights
itk::PixelTraits< typename TImage::PixelType >::ValueType m_C2