19 #ifndef rtkCudaWarpBackProjectionImageFilter_h 20 #define rtkCudaWarpBackProjectionImageFilter_h 22 #include "rtkConfiguration.h" 27 # include "RTKExport.h" 29 # include <itkCudaImage.h> 30 # include <itkCudaInPlaceImageFilter.h> 47 class RTK_EXPORT CudaWarpBackProjectionImageFilter
48 :
public itk::CudaInPlaceImageFilter<itk::CudaImage<float, 3>,
49 itk::CudaImage<float, 3>,
50 BackProjectionImageFilter<itk::CudaImage<float, 3>, itk::CudaImage<float, 3>>>
53 ITK_DISALLOW_COPY_AND_MOVE(CudaWarpBackProjectionImageFilter);
56 using ImageType = itk::CudaImage<float, 3>;
57 using DVFType = itk::CudaImage<itk::CovariantVector<float, 3>, 3>;
58 using BackProjectionImageFilterType = BackProjectionImageFilter<ImageType, ImageType>;
59 using Self = CudaWarpBackProjectionImageFilter;
60 using Superclass = itk::CudaInPlaceImageFilter<ImageType, ImageType, BackProjectionImageFilterType>;
64 using OutputImageRegionType = ImageType::RegionType;
65 using ProjectionImageType = itk::CudaImage<float, 2>;
66 using ProjectionImagePointer = ProjectionImageType::Pointer;
72 # ifdef itkOverrideGetNameOfClassMacro 73 itkOverrideGetNameOfClassMacro(CudaWarpBackProjectionImageFilter);
75 itkTypeMacro(CudaWarpBackProjectionImageFilter,
Superclass);
81 SetInputProjectionStack(
const InputImageType * ProjectionStack);
82 InputImageType::Pointer
83 GetInputProjectionStack();
88 SetInputVolume(
const InputImageType * Volume);
89 InputImageType::Pointer
95 SetDisplacementField(
const DVFType * MVF);
97 GetDisplacementField();
101 CudaWarpBackProjectionImageFilter();
102 ~CudaWarpBackProjectionImageFilter(){};
105 GenerateInputRequestedRegion();
113 #endif // end conditional definition of the class BinaryGeneratorImageFilter< TInputImage1, TInputImage2, TOutputImage > Superclass