X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=include%2Fbackprojectors.h;h=8fbb06b86382652f2af15fbc3cefd328ef646120;hp=e3418dfe192d783c165d4db6be4b8ec2c20a8939;hb=d3fa225aa232e132cc198672c4fc148f96a1ab8c;hpb=f1831812306ad7114fcd94618cc2857bb63c8fc1 diff --git a/include/backprojectors.h b/include/backprojectors.h index e3418df..8fbb06b 100644 --- a/include/backprojectors.h +++ b/include/backprojectors.h @@ -7,9 +7,9 @@ ** Date Started: June 2000 ** ** This is part of the CTSim program -** Copyright (C) 1983-2000 Kevin Rosenberg +** Copyright (c) 1983-2001 Kevin Rosenberg ** -** $Id: backprojectors.h,v 1.16 2000/12/03 15:16:17 kevin Exp $ +** $Id: backprojectors.h,v 1.21 2001/02/11 04:56:37 kevin Exp $ ** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License (version 2) as @@ -45,13 +45,12 @@ class Backprojector static const int BPROJ_TRIG; static const int BPROJ_TABLE; static const int BPROJ_DIFF; - static const int BPROJ_DIFF2; - static const int BPROJ_IDIFF2; - static const int BPROJ_IDIFF3; + static const int BPROJ_IDIFF; static const int INTERP_INVALID; static const int INTERP_NEAREST; static const int INTERP_LINEAR; + static const int INTERP_CUBIC; static const int INTERP_FREQ_PREINTERPOLATION; #if HAVE_BSPLINE_INTERP static const int INTERP_BSPLINE; @@ -67,7 +66,7 @@ class Backprojector void BackprojectView (const double* const viewData, const double viewAngle); bool fail() const {return m_fail;} - const string& failMessage() const {return m_failMessage;} + const std::string& failMessage() const {return m_failMessage;} static const int getBackprojectCount() {return s_iBackprojectCount;} static const char** getBackprojectNameArray() {return s_aszBackprojectName;} @@ -85,13 +84,13 @@ class Backprojector private: - string m_nameBackproject; - string m_nameInterpolation; + std::string m_nameBackproject; + std::string m_nameInterpolation; int m_idBackproject; int m_idInterpolation; Backproject* m_pBackprojectImplem; bool m_fail; - string m_failMessage; + std::string m_failMessage; static const char* s_aszBackprojectName[]; static const char* s_aszBackprojectTitle[]; @@ -144,10 +143,10 @@ class BackprojectTrig : public Backproject { public: BackprojectTrig (const Projections& proj, ImageFile& im, int interpID, const int interpFactor) - : Backproject::Backproject (proj, im, interpID, interpFactor) + : Backproject (proj, im, interpID, interpFactor) {} - void BackprojectView (const double* const t, double view_angle); + void BackprojectView (const double* const t, const double view_angle); }; @@ -157,7 +156,7 @@ class BackprojectTable : public Backproject BackprojectTable (const Projections& proj, ImageFile& im, int interpID, const int interpFactor); virtual ~BackprojectTable (); - void BackprojectView (const double* const t, double view_angle); + void BackprojectView (const double* const t, const double view_angle); protected: Array2d arrayR; @@ -173,7 +172,7 @@ class BackprojectDiff : public Backproject BackprojectDiff (const Projections& proj, ImageFile& im, int interpID, const int interpFactor); ~BackprojectDiff (); - void BackprojectView (const double* const t, double view_angle); + void BackprojectView (const double* const t, const double view_angle); protected: double start_r; @@ -181,45 +180,25 @@ class BackprojectDiff : public Backproject double im_xinc, im_yinc; }; -class BackprojectDiff2 : public BackprojectDiff -{ - public: - BackprojectDiff2 (const Projections& proj, ImageFile& im, int interpID, const int interpFactor) - : BackprojectDiff::BackprojectDiff (proj, im, interpID, interpFactor) - {} - - void BackprojectView (const double* const t, double view_angle); -}; - -class BackprojectIntDiff2 : public BackprojectDiff -{ - public: - BackprojectIntDiff2 (const Projections& proj, ImageFile& im, int interpID, const int interpFactor) - : BackprojectDiff::BackprojectDiff (proj, im, interpID, interpFactor) - {} - - void BackprojectView (const double* const t, double view_angle); -}; - -class BackprojectIntDiff3 : public BackprojectDiff +class BackprojectIntDiff : public BackprojectDiff { public: - BackprojectIntDiff3 (const Projections& proj, ImageFile& im, int interpID, const int interpFactor) - : BackprojectDiff::BackprojectDiff (proj, im, interpID, interpFactor) + BackprojectIntDiff (const Projections& proj, ImageFile& im, int interpID, const int interpFactor) + : BackprojectDiff (proj, im, interpID, interpFactor) {} - void BackprojectView (const double* const t, double view_angle); + void BackprojectView (const double* const t, const double view_angle); }; class BackprojectEquilinear : public BackprojectTable { public: BackprojectEquilinear (const Projections& proj, ImageFile& im, int interpID, const int interpFactor) - : BackprojectTable::BackprojectTable (proj, im, interpID, interpFactor) + : BackprojectTable (proj, im, interpID, interpFactor) {} - void BackprojectView (const double* const t, double view_angle); + void BackprojectView (const double* const t, const double view_angle); virtual ~BackprojectEquilinear() {} @@ -229,10 +208,10 @@ class BackprojectEquiangular : public BackprojectTable { public: BackprojectEquiangular (const Projections& proj, ImageFile& im, int interpID, const int interpFactor) - : BackprojectTable::BackprojectTable (proj, im, interpID, interpFactor) + : BackprojectTable (proj, im, interpID, interpFactor) {} - void BackprojectView (const double* const t, double view_angle); + void BackprojectView (const double* const t, const double view_angle); virtual ~BackprojectEquiangular() {}