summaryrefslogtreecommitdiffstats
path: root/include/astra
diff options
context:
space:
mode:
authorWillem Jan Palenstijn <wjp@usecode.org>2016-10-07 16:28:41 +0200
committerGitHub <noreply@github.com>2016-10-07 16:28:41 +0200
commit8f2b55a66db9747419e75dae5973281a7536b934 (patch)
treee7ca39da75ad5c9d728698295ac9c8ec32e4e499 /include/astra
parente4b8b6e94be7c5f7dbaad51543c5eace8882a115 (diff)
parente835d5d588b7404037289c7b5cfa1475e931ba44 (diff)
downloadastra-8f2b55a66db9747419e75dae5973281a7536b934.tar.gz
astra-8f2b55a66db9747419e75dae5973281a7536b934.tar.bz2
astra-8f2b55a66db9747419e75dae5973281a7536b934.tar.xz
astra-8f2b55a66db9747419e75dae5973281a7536b934.zip
Merge pull request #42 from wjp/FDK
Use CompositeGeometryManager for FDK
Diffstat (limited to 'include/astra')
-rw-r--r--include/astra/CompositeGeometryManager.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/include/astra/CompositeGeometryManager.h b/include/astra/CompositeGeometryManager.h
index 18dd72f..064370a 100644
--- a/include/astra/CompositeGeometryManager.h
+++ b/include/astra/CompositeGeometryManager.h
@@ -55,6 +55,10 @@ struct SGPUParams {
size_t memory;
};
+struct SFDKSettings {
+ bool bShortScan;
+};
+
class _AstraExport CCompositeGeometryManager {
public:
@@ -127,9 +131,10 @@ public:
CProjector3D *pProjector; // For a `global' geometry. It will not match
// the geometries of the input and output.
+ SFDKSettings FDKSettings;
enum {
- JOB_FP, JOB_BP, JOB_NOP
+ JOB_FP, JOB_BP, JOB_FDK, JOB_NOP
} eType;
enum {
MODE_ADD, MODE_SET
@@ -155,6 +160,8 @@ public:
CFloat32ProjectionData3DMemory *pProjData);
bool doBP(CProjector3D *pProjector, CFloat32VolumeData3DMemory *pVolData,
CFloat32ProjectionData3DMemory *pProjData);
+ bool doFDK(CProjector3D *pProjector, CFloat32VolumeData3DMemory *pVolData,
+ CFloat32ProjectionData3DMemory *pProjData, bool bShortScan);
bool doFP(CProjector3D *pProjector, const std::vector<CFloat32VolumeData3DMemory *>& volData, const std::vector<CFloat32ProjectionData3DMemory *>& projData);
bool doBP(CProjector3D *pProjector, const std::vector<CFloat32VolumeData3DMemory *>& volData, const std::vector<CFloat32ProjectionData3DMemory *>& projData);