summaryrefslogtreecommitdiffstats
path: root/include/astra/CudaReconstructionAlgorithm2D.h
diff options
context:
space:
mode:
authorWillem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl>2015-10-08 11:24:49 +0200
committerWillem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl>2015-10-09 12:10:31 +0200
commit003663649a191fc5bc011d6e5424496576b5e793 (patch)
treec7ae9cc0b3982ca461038f8c678dae834584b605 /include/astra/CudaReconstructionAlgorithm2D.h
parent43a38c117405f99e3a1b498f899de4ba6d01a044 (diff)
downloadastra-003663649a191fc5bc011d6e5424496576b5e793.tar.gz
astra-003663649a191fc5bc011d6e5424496576b5e793.tar.bz2
astra-003663649a191fc5bc011d6e5424496576b5e793.tar.xz
astra-003663649a191fc5bc011d6e5424496576b5e793.zip
Improve option passing through CudaProjector2D
Not all constructors were reading options from the projector. Also allow passing GPUIndex via CudaProjector2D. Also refactor CudaReconstructionAlgorithm::initialize/check to avoid code duplication with ReconstructionAlgorithm.
Diffstat (limited to 'include/astra/CudaReconstructionAlgorithm2D.h')
-rw-r--r--include/astra/CudaReconstructionAlgorithm2D.h22
1 files changed, 5 insertions, 17 deletions
diff --git a/include/astra/CudaReconstructionAlgorithm2D.h b/include/astra/CudaReconstructionAlgorithm2D.h
index e19bb8f..dc93a1a 100644
--- a/include/astra/CudaReconstructionAlgorithm2D.h
+++ b/include/astra/CudaReconstructionAlgorithm2D.h
@@ -70,28 +70,13 @@ public:
/** Initialize class.
*
- * @param _pProjector Projector Object. (Ignored)
+ * @param _pProjector Projector Object. (Optional)
* @param _pSinogram ProjectionData2D object containing the sinogram data.
* @param _pReconstruction VolumeData2D object for storing the reconstructed volume.
*/
- bool initialize(CProjector2D* _pProjector,
- CFloat32ProjectionData2D* _pSinogram,
- CFloat32VolumeData2D* _pReconstruction);
-
- /** Initialize class.
- *
- * @param _pProjector Projector Object. (Ignored)
- * @param _pSinogram ProjectionData2D object containing the sinogram data.
- * @param _pReconstruction VolumeData2D object for storing the reconstructed volume.
- * @param _iGPUindex GPU to use.
- * @param _iDetectorSuperSampling Supersampling factor for the FP.
- * @param _iPixelSuperSampling Square root of number of samples per voxel, used to compute the backprojection
- */
virtual bool initialize(CProjector2D* _pProjector,
CFloat32ProjectionData2D* _pSinogram,
- CFloat32VolumeData2D* _pReconstruction,
- int _iGPUindex = -1, int _iDetectorSuperSampling = 1,
- int _iPixelSuperSampling = 1);
+ CFloat32VolumeData2D* _pReconstruction);
/** Clear this class.
@@ -166,6 +151,9 @@ protected:
int m_iGPUIndex;
bool m_bAlgoInit;
+
+ void initializeFromProjector();
+ virtual bool requiresProjector() const { return false; }
};
// inline functions