diff options
author | Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl> | 2016-10-07 16:36:28 +0200 |
---|---|---|
committer | Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl> | 2016-10-07 16:36:28 +0200 |
commit | f6aa2db83dfea89f9d2cfc6fcbd3da141ee77e02 (patch) | |
tree | 6de18fc05a9ee0cf033675aadfd8514a97d9e7d1 /include/astra | |
parent | 741675b458bf23cf437a6c56f95483c5c66af774 (diff) | |
parent | 8f2b55a66db9747419e75dae5973281a7536b934 (diff) | |
download | astra-f6aa2db83dfea89f9d2cfc6fcbd3da141ee77e02.tar.gz astra-f6aa2db83dfea89f9d2cfc6fcbd3da141ee77e02.tar.bz2 astra-f6aa2db83dfea89f9d2cfc6fcbd3da141ee77e02.tar.xz astra-f6aa2db83dfea89f9d2cfc6fcbd3da141ee77e02.zip |
Merge branch 'master' into parallel_vec
Diffstat (limited to 'include/astra')
-rw-r--r-- | include/astra/CompositeGeometryManager.h | 9 | ||||
-rw-r--r-- | include/astra/GeometryUtil3D.h | 52 | ||||
-rw-r--r-- | include/astra/Utilities.h | 3 |
3 files changed, 37 insertions, 27 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); diff --git a/include/astra/GeometryUtil3D.h b/include/astra/GeometryUtil3D.h index e4d73e4..e051240 100644 --- a/include/astra/GeometryUtil3D.h +++ b/include/astra/GeometryUtil3D.h @@ -56,19 +56,19 @@ struct SConeProjection { fDetSZ += dz; } - void scale(double factor) { - fSrcX *= factor; - fSrcY *= factor; - fSrcZ *= factor; - fDetSX *= factor; - fDetSY *= factor; - fDetSZ *= factor; - fDetUX *= factor; - fDetUY *= factor; - fDetUZ *= factor; - fDetVX *= factor; - fDetVY *= factor; - fDetVZ *= factor; + void scale(double fx, double fy, double fz) { + fSrcX *= fx; + fSrcY *= fy; + fSrcZ *= fz; + fDetSX *= fx; + fDetSY *= fy; + fDetSZ *= fz; + fDetUX *= fx; + fDetUY *= fy; + fDetUZ *= fz; + fDetVX *= fx; + fDetVY *= fy; + fDetVZ *= fz; } }; @@ -93,19 +93,19 @@ struct SPar3DProjection { fDetSY += dy; fDetSZ += dz; } - void scale(double factor) { - fRayX *= factor; - fRayY *= factor; - fRayZ *= factor; - fDetSX *= factor; - fDetSY *= factor; - fDetSZ *= factor; - fDetUX *= factor; - fDetUY *= factor; - fDetUZ *= factor; - fDetVX *= factor; - fDetVY *= factor; - fDetVZ *= factor; + void scale(double fx, double fy, double fz) { + fRayX *= fx; + fRayY *= fy; + fRayZ *= fz; + fDetSX *= fx; + fDetSY *= fy; + fDetSZ *= fz; + fDetUX *= fx; + fDetUY *= fy; + fDetUZ *= fz; + fDetVX *= fx; + fDetVY *= fy; + fDetVZ *= fz; } }; diff --git a/include/astra/Utilities.h b/include/astra/Utilities.h index 8d7c44d..22adfe2 100644 --- a/include/astra/Utilities.h +++ b/include/astra/Utilities.h @@ -85,6 +85,9 @@ _AstraExport std::string doubleToString(double f); template<typename T> _AstraExport std::string toString(T f); + +_AstraExport void splitString(std::vector<std::string> &items, const std::string& s, const char *delim); + } |