summaryrefslogtreecommitdiffstats
path: root/include/astra
diff options
context:
space:
mode:
authorWillem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl>2017-10-03 14:52:24 +0200
committerWillem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl>2017-11-22 17:07:28 +0100
commit845b398d9e2e078d7cb2a1da84fadceca66306a2 (patch)
tree3e58c85812bb3ad47ebc5c482f779bd96b17d6e3 /include/astra
parented24fb72a0f506a02a1e4a9df8e63ce62f36efef (diff)
downloadastra-845b398d9e2e078d7cb2a1da84fadceca66306a2.tar.gz
astra-845b398d9e2e078d7cb2a1da84fadceca66306a2.tar.bz2
astra-845b398d9e2e078d7cb2a1da84fadceca66306a2.tar.xz
astra-845b398d9e2e078d7cb2a1da84fadceca66306a2.zip
Add experimental accumulate_FP/BP/FDK python functions
Diffstat (limited to 'include/astra')
-rw-r--r--include/astra/CompositeGeometryManager.h18
1 files changed, 10 insertions, 8 deletions
diff --git a/include/astra/CompositeGeometryManager.h b/include/astra/CompositeGeometryManager.h
index 08eb7af..35d1da2 100644
--- a/include/astra/CompositeGeometryManager.h
+++ b/include/astra/CompositeGeometryManager.h
@@ -140,7 +140,7 @@ public:
enum {
JOB_FP, JOB_BP, JOB_FDK, JOB_NOP
} eType;
- enum {
+ enum EMode {
MODE_ADD, MODE_SET
} eMode;
@@ -154,22 +154,24 @@ public:
SJob createJobFP(CProjector3D *pProjector,
CFloat32VolumeData3D *pVolData,
- CFloat32ProjectionData3D *pProjData);
+ CFloat32ProjectionData3D *pProjData,
+ SJob::EMode eMode);
SJob createJobBP(CProjector3D *pProjector,
CFloat32VolumeData3D *pVolData,
- CFloat32ProjectionData3D *pProjData);
+ CFloat32ProjectionData3D *pProjData,
+ SJob::EMode eMode);
// Convenience functions for creating and running a single FP or BP job
bool doFP(CProjector3D *pProjector, CFloat32VolumeData3D *pVolData,
- CFloat32ProjectionData3D *pProjData);
+ CFloat32ProjectionData3D *pProjData, SJob::EMode eMode = SJob::MODE_SET);
bool doBP(CProjector3D *pProjector, CFloat32VolumeData3D *pVolData,
- CFloat32ProjectionData3D *pProjData);
+ CFloat32ProjectionData3D *pProjData, SJob::EMode eMode = SJob::MODE_SET);
bool doFDK(CProjector3D *pProjector, CFloat32VolumeData3D *pVolData,
CFloat32ProjectionData3D *pProjData, bool bShortScan,
- const float *pfFilter = 0);
+ const float *pfFilter = 0, SJob::EMode eMode = SJob::MODE_SET);
- bool doFP(CProjector3D *pProjector, const std::vector<CFloat32VolumeData3D *>& volData, const std::vector<CFloat32ProjectionData3D *>& projData);
- bool doBP(CProjector3D *pProjector, const std::vector<CFloat32VolumeData3D *>& volData, const std::vector<CFloat32ProjectionData3D *>& projData);
+ bool doFP(CProjector3D *pProjector, const std::vector<CFloat32VolumeData3D *>& volData, const std::vector<CFloat32ProjectionData3D *>& projData, SJob::EMode eMode = SJob::MODE_SET);
+ bool doBP(CProjector3D *pProjector, const std::vector<CFloat32VolumeData3D *>& volData, const std::vector<CFloat32ProjectionData3D *>& projData, SJob::EMode eMode = SJob::MODE_SET);
void setGPUIndices(const std::vector<int>& GPUIndices);