diff options
author | Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl> | 2016-12-01 14:03:56 +0100 |
---|---|---|
committer | Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl> | 2016-12-01 14:05:54 +0100 |
commit | 55dabbf035b55f71c4261c9de7ef572da46300ff (patch) | |
tree | 0452eaf1342a67c56e1f785387116e1bb62fcd31 /cuda/3d | |
parent | 72aaa4f9176416303eff7cbd9ec56dcb13adc54f (diff) | |
download | astra-55dabbf035b55f71c4261c9de7ef572da46300ff.tar.gz astra-55dabbf035b55f71c4261c9de7ef572da46300ff.tar.bz2 astra-55dabbf035b55f71c4261c9de7ef572da46300ff.tar.xz astra-55dabbf035b55f71c4261c9de7ef572da46300ff.zip |
Expose the density weighting option of cone_bp
It is now exposed via the new DensityWeighting option of CudaProjector3D.
Diffstat (limited to 'cuda/3d')
-rw-r--r-- | cuda/3d/mem3d.cu | 4 | ||||
-rw-r--r-- | cuda/3d/mem3d.h | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/cuda/3d/mem3d.cu b/cuda/3d/mem3d.cu index eae9676..2b26fe1 100644 --- a/cuda/3d/mem3d.cu +++ b/cuda/3d/mem3d.cu @@ -249,7 +249,7 @@ bool FP(const astra::CProjectionGeometry3D* pProjGeom, MemHandle3D projData, con return ok; } -bool BP(const astra::CProjectionGeometry3D* pProjGeom, MemHandle3D projData, const astra::CVolumeGeometry3D* pVolGeom, MemHandle3D volData, int iVoxelSuperSampling) +bool BP(const astra::CProjectionGeometry3D* pProjGeom, MemHandle3D projData, const astra::CVolumeGeometry3D* pVolGeom, MemHandle3D volData, int iVoxelSuperSampling, bool bFDKWeighting) { SDimensions3D dims; SProjectorParams3D params; @@ -269,6 +269,8 @@ bool BP(const astra::CProjectionGeometry3D* pProjGeom, MemHandle3D projData, con pParProjs, pConeProjs, params); + params.bFDKWeighting = bFDKWeighting; + if (pParProjs) ok &= Par3DBP(volData.d->ptr, projData.d->ptr, dims, pParProjs, params); else diff --git a/cuda/3d/mem3d.h b/cuda/3d/mem3d.h index 0e29774..a0829e2 100644 --- a/cuda/3d/mem3d.h +++ b/cuda/3d/mem3d.h @@ -93,7 +93,7 @@ bool setGPUIndex(int index); bool FP(const astra::CProjectionGeometry3D* pProjGeom, MemHandle3D projData, const astra::CVolumeGeometry3D* pVolGeom, MemHandle3D volData, int iDetectorSuperSampling, astra::Cuda3DProjectionKernel projKernel); -bool BP(const astra::CProjectionGeometry3D* pProjGeom, MemHandle3D projData, const astra::CVolumeGeometry3D* pVolGeom, MemHandle3D volData, int iVoxelSuperSampling); +bool BP(const astra::CProjectionGeometry3D* pProjGeom, MemHandle3D projData, const astra::CVolumeGeometry3D* pVolGeom, MemHandle3D volData, int iVoxelSuperSampling, bool bFDKWeighting); bool FDK(const astra::CProjectionGeometry3D* pProjGeom, MemHandle3D projData, const astra::CVolumeGeometry3D* pVolGeom, MemHandle3D volData, bool bShortScan, const float *pfFilter = 0); |