X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=include%2Fbackprojectors.h;h=ef70d0581657f58ea6e10d6389027a178071282c;hp=1781fe18b5f2c60a519edd6153eaade5c7c3f755;hb=bfcc769cf8019eabc8c65c07257c8dbee4b4c977;hpb=1e88cf0f7fa4f690ea9f110e8ed3f2b5338d0a10 diff --git a/include/backprojectors.h b/include/backprojectors.h index 1781fe1..ef70d05 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.13 2000/08/25 15:59:13 kevin Exp $ +** $Id: backprojectors.h,v 1.15 2000/09/02 05:10:39 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); @@ -154,11 +155,11 @@ class BackprojectTable : public Backproject { public: BackprojectTable (const Projections& proj, ImageFile& im, int interpID, const int interpFactor); - ~BackprojectTable (); + virtual ~BackprojectTable (); void BackprojectView (const double* const t, double view_angle); - private: + protected: Array2d arrayR; Array2d arrayPhi; kfloat64** r; @@ -211,5 +212,31 @@ class BackprojectIntDiff3 : public BackprojectDiff 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); + + virtual ~BackprojectEquilinear() + {} +}; + +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); + + virtual ~BackprojectEquiangular() + {} +}; + #endif