** This is part of the CTSim program
** Copyright (C) 1983-2000 Kevin Rosenberg
**
-** $Id: backprojectors.h,v 1.14 2000/08/31 08:38:58 kevin Exp $
+** $Id: backprojectors.h,v 1.17 2000/12/06 01:46:43 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
kint32 nx;
kint32 ny;
double detInc;
- double rotInc;
+ double rotScale;
int iDetCenter; // index refering to L=0 projection
int nDet;
double xMin, xMax, yMin, yMax; // Retangular coords of phantom
{
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);
};
{
public:
BackprojectTable (const Projections& proj, ImageFile& im, int interpID, const int interpFactor);
- ~BackprojectTable ();
+ virtual ~BackprojectTable ();
- void BackprojectView (const double* const t, double view_angle);
+ void BackprojectView (const double* const t, const double view_angle);
protected:
Array2d<kfloat64> arrayR;
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;
{
public:
BackprojectDiff2 (const Projections& proj, ImageFile& im, int interpID, const int interpFactor)
- : BackprojectDiff::BackprojectDiff (proj, im, interpID, 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 BackprojectIntDiff2 : public BackprojectDiff
{
public:
BackprojectIntDiff2 (const Projections& proj, ImageFile& im, int interpID, const int interpFactor)
- : BackprojectDiff::BackprojectDiff (proj, im, interpID, 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);
};
{
public:
BackprojectIntDiff3 (const Projections& proj, ImageFile& im, int interpID, const int interpFactor)
- : BackprojectDiff::BackprojectDiff (proj, im, interpID, 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()
+ {}
};
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()
+ {}
};