19 #ifndef rtkTotalVariationDenoiseSequenceImageFilter_h 20 #define rtkTotalVariationDenoiseSequenceImageFilter_h 78 template <
typename TImageSequence>
97 itkGetMacro(Gamma,
double);
101 itkGetMacro(NumberOfIterations,
int);
105 SetDimensionsProcessed(
bool * arg);
111 typename std::conditional_t<std::is_same_v<TImageSequence, CPUImageSequenceType>,
112 itk::Image<
typename TImageSequence::PixelType, TImageSequence::ImageDimension - 1>,
113 itk::CudaImage<
typename TImageSequence::PixelType, TImageSequence::ImageDimension - 1>>;
114 using TVDenoisingFilterType =
typename std::conditional_t<std::is_same_v<TImageSequence, CPUImageSequenceType>,
118 using ImageType =
itk::Image<
typename TImageSequence::PixelType, TImageSequence::ImageDimension - 1>;
132 GenerateData()
override;
135 GenerateOutputInformation()
override;
137 GenerateInputRequestedRegion()
override;
150 double m_Gamma{ 1. };
151 int m_NumberOfIterations{ 1 };
152 bool m_DimensionsProcessed[ImageType::ImageDimension];
157 #ifndef ITK_MANUAL_INSTANTIATION 158 # 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
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
#define itkSetMacro(name, type)
typename itk::Image< typename TImageSequence::PixelType, TImageSequence::ImageDimension > CPUImageSequenceType
TImageSequence::RegionType m_ExtractAndPasteRegion
TVDenoisingFilterType::Pointer m_TVDenoisingFilter
CastFilterType::Pointer m_CastFilter
ExtractFilterType::Pointer m_ExtractFilter
typename std::conditional_t< std::is_same_v< TImageSequence, CPUImageSequenceType >, itk::Image< typename TImageSequence::PixelType, TImageSequence::ImageDimension - 1 >, itk::CudaImage< typename TImageSequence::PixelType, TImageSequence::ImageDimension - 1 > > ImageType