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;
102 #ifdef itkOverrideGetNameOfClassMacro 110 itkGetConstMacro(HannCutFrequency,
double);
115 itkGetConstMacro(CosineCutFrequency,
double);
120 itkGetConstMacro(HammingFrequency,
double);
125 itkGetConstMacro(HannCutFrequencyY,
double);
136 itkGetConstMacro(RamLakCutFrequency,
double);
147 itkGetConstMacro(SheppLoganCutFrequency,
double);
156 GenerateInputRequestedRegion()
override;
161 UpdateFFTProjectionsConvolutionKernel(
const SizeType s)
override;
168 double m_HannCutFrequency{ 0. };
169 double m_CosineCutFrequency{ 0. };
170 double m_HammingFrequency{ 0. };
171 double m_HannCutFrequencyY{ 0. };
175 double m_RamLakCutFrequency{ 0. };
176 double m_SheppLoganCutFrequency{ 0. };
183 #ifndef ITK_MANUAL_INSTANTIATION 184 # include "rtkFFTRampImageFilter.hxx" 190 #define itkSetMacro(name, type) \ 191 virtual void Set##name(type _arg) \ 193 itkDebugMacro("setting " #name " to " << _arg); \ 194 ITK_GCC_PRAGMA_PUSH \ 195 ITK_GCC_SUPPRESS_Wfloat_equal \ 196 if (this->m_##name != _arg) \ 198 this->m_##name = std::move(_arg); \ 203 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