summaryrefslogtreecommitdiffstats
path: root/cuda/3d
diff options
context:
space:
mode:
authorWillem Jan Palenstijn <wjp@usecode.org>2016-12-01 06:00:19 -0800
committerGitHub <noreply@github.com>2016-12-01 06:00:19 -0800
commit75ae79136451cad28375c1bbce6e6cac6080f29e (patch)
tree4da463b6f94f20b1da4167e9e5f9827316e85f6c /cuda/3d
parent08b14da8cf13d4fe9dcc4787306991e453976494 (diff)
parent55dabbf035b55f71c4261c9de7ef572da46300ff (diff)
downloadastra-75ae79136451cad28375c1bbce6e6cac6080f29e.tar.gz
astra-75ae79136451cad28375c1bbce6e6cac6080f29e.tar.bz2
astra-75ae79136451cad28375c1bbce6e6cac6080f29e.tar.xz
astra-75ae79136451cad28375c1bbce6e6cac6080f29e.zip
Merge pull request #84 from wjp/expose_ConeBP_density_weighting
Expose the density weighting option of cone_bp
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);