19 #ifndef rtkTotalVariationDenoiseSequenceImageFilter_h 20 #define rtkTotalVariationDenoiseSequenceImageFilter_h 24 #include <itkExtractImageFilter.h> 25 #include <itkPasteImageFilter.h> 26 #include <itkCastImageFilter.h> 78 template <
typename TImageSequence>
80 :
public itk::ImageToImageFilter<TImageSequence, TImageSequence>
87 using Superclass = itk::ImageToImageFilter<TImageSequence, TImageSequence>;
97 itkGetMacro(Gamma,
double);
101 itkGetMacro(NumberOfIterations,
int);
105 SetDimensionsProcessed(
bool * arg);
108 using CPUImageSequenceType =
typename itk::Image<typename TImageSequence::PixelType, TImageSequence::ImageDimension>;
109 using ImageType =
typename TImageSequence::template RebindImageType<
typename TImageSequence::PixelType,
110 TImageSequence::ImageDimension - 1>;
112 using TVDenoisingFilterType =
typename std::conditional_t<std::is_same_v<TImageSequence, CPUImageSequenceType>,
129 GenerateData()
override;
132 GenerateOutputInformation()
override;
134 GenerateInputRequestedRegion()
override;
147 double m_Gamma{ 1. };
148 int m_NumberOfIterations{ 1 };
149 bool m_DimensionsProcessed[ImageType::ImageDimension];
154 #ifndef ITK_MANUAL_INSTANTIATION 155 # include "rtkTotalVariationDenoiseSequenceImageFilter.hxx" PasteFilterType::Pointer m_PasteFilter
Implements the TotalVariationDenoisingBPDQImageFilter on GPU.
Generate an n-dimensional image with constant pixel values.
ConstantImageSourceType::Pointer m_ConstantSource
itk::ImageToImageFilter< TImageSequence, TImageSequence > Superclass
Applies 3D total variation denoising to a 3D + time sequence of images.
Applies a total variation denoising, only alm_SingularValueThresholdFilterong the dimensions specifie...
typename std::conditional_t< std::is_same_v< TImageSequence, CPUImageSequenceType >, TotalVariationDenoisingBPDQImageFilter< ImageType >, CudaTotalVariationDenoisingBPDQImageFilter > TVDenoisingFilterType
itk::SmartPointer< Self > Pointer
#define itkSetMacro(name, type)
itk::PasteImageFilter< TImageSequence, TImageSequence > PasteFilterType
typename itk::Image< typename TImageSequence::PixelType, TImageSequence::ImageDimension > CPUImageSequenceType
itk::CastImageFilter< ImageType, TImageSequence > CastFilterType
itk::SmartPointer< Self > Pointer
TImageSequence::RegionType m_ExtractAndPasteRegion
TVDenoisingFilterType::Pointer m_TVDenoisingFilter
typename TImageSequence::template RebindImageType< typename TImageSequence::PixelType, TImageSequence::ImageDimension - 1 > ImageType
CastFilterType::Pointer m_CastFilter
ExtractFilterType::Pointer m_ExtractFilter
itk::ExtractImageFilter< TImageSequence, ImageType > ExtractFilterType