summaryrefslogtreecommitdiffstats
path: root/cuda/3d
diff options
context:
space:
mode:
authorWillem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl>2016-12-01 14:03:56 +0100
committerWillem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl>2016-12-01 14:05:54 +0100
commit55dabbf035b55f71c4261c9de7ef572da46300ff (patch)
tree0452eaf1342a67c56e1f785387116e1bb62fcd31 /cuda/3d
parent72aaa4f9176416303eff7cbd9ec56dcb13adc54f (diff)
downloadastra-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.cu4
-rw-r--r--cuda/3d/mem3d.h2
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);