18 #ifndef rtkProjectionStackToFourDImageFilter_h 19 #define rtkProjectionStackToFourDImageFilter_h 104 template <
typename VolumeSeriesType,
typename ProjectionStackType,
typename TFFTPrecision =
double>
123 #ifdef itkOverrideGetNameOfClassMacro 132 SetInputVolumeSeries(
const VolumeSeriesType * VolumeSeries);
133 typename VolumeSeriesType::ConstPointer
134 GetInputVolumeSeries();
139 SetInputProjectionStack(
const ProjectionStackType * Projection);
140 typename ProjectionStackType::ConstPointer
141 GetInputProjectionStack();
156 typedef typename std::conditional<std::is_same<VolumeSeriesType, CPUVolumeSeriesType>::value,
159 typedef typename std::conditional<std::is_same<VolumeSeriesType, CPUVolumeSeriesType>::value,
162 typedef typename std::conditional<std::is_same<VolumeSeriesType, CPUVolumeSeriesType>::value,
180 itkGetMacro(UseCudaSplat,
bool);
182 itkGetMacro(UseCudaSources,
bool);
192 SetSignal(
const std::vector<double> signal);
200 VerifyPreconditions() ITKv5_CONST override;
204 GenerateData() override;
207 GenerateOutputInformation() override;
210 GenerateInputRequestedRegion() override;
213 InitializeConstantSource();
226 bool m_UseCudaSources;
227 std::vector<
double> m_Signal;
232 #ifndef ITK_MANUAL_INSTANTIATION 233 # include "rtkProjectionStackToFourDImageFilter.hxx"
Generate an n-dimensional image with constant pixel values.
Splats (linearly) a 3D volume into a 3D+t sequence of volumes.
typename itk::Image< typename VolumeSeriesType::PixelType, VolumeSeriesType::ImageDimension > CPUVolumeSeriesType
Projection geometry for a source and a 2-D flat panel.
#define itkSetMacro(name, type)
Implements part of the 4D reconstruction by conjugate gradient.
ProjectionStackType VolumeType