X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=include%2Fbackprojectors.h;h=b36dfb83cefbb7ef776ef5d4e2da3871e378a9ff;hp=ac609daa2d6bd2ee11bb8d3dc17d6a309d511b97;hb=a05f3cb550877e94aa118cc04b361c0c8fdb3dc3;hpb=286d655a25df2668bd65ad365676c6ecc94415a1 diff --git a/include/backprojectors.h b/include/backprojectors.h index ac609da..b36dfb8 100644 --- a/include/backprojectors.h +++ b/include/backprojectors.h @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: backprojectors.h,v 1.12 2000/07/22 15:45:33 kevin Exp $ +** $Id: backprojectors.h,v 1.14 2000/08/31 08:38:58 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 @@ -132,6 +132,7 @@ class Backproject double xMin, xMax, yMin, yMax; // Retangular coords of phantom double xInc, yInc; // size of cells int m_interpFactor; + double m_dFocalLength; private: Backproject (const Backproject& rhs); @@ -143,7 +144,7 @@ class BackprojectTrig : public Backproject { public: BackprojectTrig (const Projections& proj, ImageFile& im, int interpID, const int interpFactor) - : Backproject::Backproject (proj, im, interpType, interpFactor) + : Backproject::Backproject (proj, im, interpID, interpFactor) {} void BackprojectView (const double* const t, double view_angle); @@ -158,7 +159,7 @@ class BackprojectTable : public Backproject void BackprojectView (const double* const t, double view_angle); - private: + protected: Array2d arrayR; Array2d arrayPhi; kfloat64** r; @@ -184,7 +185,7 @@ class BackprojectDiff2 : public BackprojectDiff { public: BackprojectDiff2 (const Projections& proj, ImageFile& im, int interpID, const int interpFactor) - : BackprojectDiff::BackprojectDiff (proj, im, interpType, interpFactor) + : BackprojectDiff::BackprojectDiff (proj, im, interpID, interpFactor) {} void BackprojectView (const double* const t, double view_angle); @@ -194,7 +195,7 @@ class BackprojectIntDiff2 : public BackprojectDiff { public: BackprojectIntDiff2 (const Projections& proj, ImageFile& im, int interpID, const int interpFactor) - : BackprojectDiff::BackprojectDiff (proj, im, interpType, interpFactor) + : BackprojectDiff::BackprojectDiff (proj, im, interpID, interpFactor) {} void BackprojectView (const double* const t, double view_angle); @@ -204,12 +205,32 @@ class BackprojectIntDiff2 : public BackprojectDiff class BackprojectIntDiff3 : public BackprojectDiff { public: - BackprojectIntDiff3 (const Projections& proj, ImageFile& im, int interpType, const int interpFactor) - : BackprojectDiff::BackprojectDiff (proj, im, interpType, interpFactor) + BackprojectIntDiff3 (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 BackprojectEquilinear : public BackprojectTable +{ + public: + BackprojectEquilinear (const Projections& proj, ImageFile& im, int interpID, const int interpFactor) + : BackprojectTable::BackprojectTable (proj, im, interpID, interpFactor) + {} + + void BackprojectView (const double* const t, double view_angle); +}; + +class BackprojectEquiangular : public BackprojectTable +{ + public: + BackprojectEquiangular (const Projections& proj, ImageFile& im, int interpID, const int interpFactor) + : BackprojectTable::BackprojectTable (proj, im, interpID, interpFactor) + {} + + void BackprojectView (const double* const t, double view_angle); +}; + #endif