diff options
author | Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl> | 2017-10-03 14:52:24 +0200 |
---|---|---|
committer | Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl> | 2017-11-22 17:07:28 +0100 |
commit | 845b398d9e2e078d7cb2a1da84fadceca66306a2 (patch) | |
tree | 3e58c85812bb3ad47ebc5c482f779bd96b17d6e3 /include | |
parent | ed24fb72a0f506a02a1e4a9df8e63ce62f36efef (diff) | |
download | astra-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')
-rw-r--r-- | include/astra/CompositeGeometryManager.h | 18 |
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); |