** This is part of the CTSim program
** Copyright (C) 1983-2000 Kevin Rosenberg
**
-** $Id: backprojectors.cpp,v 1.7 2000/07/11 10:32:44 kevin Exp $
+** $Id: backprojectors.cpp,v 1.9 2000/07/20 11:17:31 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
#include "ct.h"
+const char Backprojector::BPROJ_TRIG_STR[]= "trig";
+const char Backprojector::BPROJ_TABLE_STR[]= "table";
+const char Backprojector::BPROJ_DIFF_STR[]= "diff";
+const char Backprojector::BPROJ_DIFF2_STR[]= "diff2";
+const char Backprojector::BPROJ_IDIFF2_STR[]= "idiff2";
+const char Backprojector::BPROJ_IDIFF3_STR[]= "idiff3";
+
+const char Backprojector::BPROJ_TRIG_TITLE_STR[]= "Direc Trigometric";
+const char Backprojector::BPROJ_TABLE_TITLE_STR[]= "Trig Table";
+const char Backprojector::BPROJ_DIFF_TITLE_STR[]= "Diff";
+const char Backprojector::BPROJ_DIFF2_TITLE_STR[]= "Diff2";
+const char Backprojector::BPROJ_IDIFF2_TITLE_STR[]= "Integer Diff2";
+const char Backprojector::BPROJ_IDIFF3_TITLE_STR[]= "Integer Diff3";
+
+const char Backprojector::INTERP_NEAREST_STR[]= "nearest";
+const char Backprojector::INTERP_LINEAR_STR[]= "linear";
+const char Backprojector::INTERP_BSPLINE_STR[]= "bspline";
+const char Backprojector::INTERP_FREQ_PREINTERPOLATION_STR[]= "freq_preinterpolation";
+
+const char Backprojector::INTERP_NEAREST_TITLE_STR[]= "Nearest";
+const char Backprojector::INTERP_LINEAR_TITLE_STR[]= "Linear";
+const char Backprojector::INTERP_BSPLINE_TITLE_STR[]= "B-Spline";
+const char Backprojector::INTERP_FREQ_PREINTERPOLATION_TITLE_STR[]= "Frequency Preinterpolation";
+
+
Backprojector::Backprojector (const Projections& proj, ImageFile& im, const char* const backprojName, const char* const interpName, const int interpFactor)
{
m_fail = false;
static const int scaleShift = 16;
static const kint32 scale = (1 << scaleShift);
static const kint32 scaleBitmask = scale - 1;
- static const double dScale = scale;
static const kint32 halfScale = scale / 2;
static const double dInvScale = 1. / scale;