19 #ifndef rtkFFTRampImageFilter_h 20 #define rtkFFTRampImageFilter_h 23 #include "rtkConfiguration.h" 30 #ifndef ITK_GCC_PRAGMA_PUSH 31 #define ITK_GCC_PRAGMA_PUSH CLANG_PRAGMA_PUSH 33 #ifndef ITK_GCC_SUPPRESS_Wfloat_equal 34 #define ITK_GCC_SUPPRESS_Wfloat_equal CLANG_SUPPRESS_Wfloat_equal 36 #ifndef ITK_GCC_PRAGMA_POP 37 #define ITK_GCC_PRAGMA_POP CLANG_PRAGMA_POP 40 #define itkSetMacro(name, type) \ 41 virtual void Set##name(type _arg) \ 43 itkDebugMacro("setting " #name " to " << _arg); \ 45 ITK_GCC_SUPPRESS_Wfloat_equal \ 46 if (this->m_##name != _arg) \ 48 this->m_##name = std::move(_arg); \ 50 this->m_KernelFFT = nullptr; \ 54 ITK_MACROEND_NOOP_STATEMENT 73 template <
class TInputImage,
class TOutputImage = TInputImage,
class TFFTPrecision =
double>
90 using IndexType =
typename InputImageType::IndexType;
91 using SizeType =
typename InputImageType::SizeType;
105 itkGetConstMacro(HannCutFrequency,
double);
110 itkGetConstMacro(CosineCutFrequency,
double);
115 itkGetConstMacro(HammingFrequency,
double);
120 itkGetConstMacro(HannCutFrequencyY,
double);
131 itkGetConstMacro(RamLakCutFrequency,
double);
142 itkGetConstMacro(SheppLoganCutFrequency,
double);
151 GenerateInputRequestedRegion()
override;
156 UpdateFFTProjectionsConvolutionKernel(
const SizeType s)
override;
163 double m_HannCutFrequency{ 0. };
164 double m_CosineCutFrequency{ 0. };
165 double m_HammingFrequency{ 0. };
166 double m_HannCutFrequencyY{ 0. };
170 double m_RamLakCutFrequency{ 0. };
171 double m_SheppLoganCutFrequency{ 0. };
178 #ifndef ITK_MANUAL_INSTANTIATION 179 # include "rtkFFTRampImageFilter.hxx" 185 #define itkSetMacro(name, type) \ 186 virtual void Set##name(type _arg) \ 188 itkDebugMacro("setting " #name " to " << _arg); \ 189 ITK_GCC_PRAGMA_PUSH \ 190 ITK_GCC_SUPPRESS_Wfloat_equal \ 191 if (this->m_##name != _arg) \ 193 this->m_##name = std::move(_arg); \ 198 ITK_MACROEND_NOOP_STATEMENT Base class for 1D or 2D FFT based convolution of projections.
TFFTPrecision FFTPrecisionType
SizeType m_PreviousKernelUpdateSize
typename InputImageType::SizeType SizeType
TInputImage InputImageType
#define itkSetMacro(name, type)
typename FFTInputImageType::Pointer FFTInputImagePointer
TOutputImage OutputImageType
typename InputImageType::IndexType IndexType
typename itk::Image< TFFTPrecision, TInputImage::ImageDimension > FFTInputImageType
Implements the ramp image filter of the filtered backprojection algorithm.
typename FFTOutputImageType::Pointer FFTOutputImagePointer
typename itk::Image< std::complex< TFFTPrecision >, TInputImage::ImageDimension > FFTOutputImageType