r631: no message
[ctsim.git] / include / reconstruct.h
index 70c2ca6f28aafd88dbad4ded7fd64fb14cc95ca5..61df5257df5f38d542fb19b2b39f418cfacacdd5 100644 (file)
@@ -6,9 +6,9 @@
 **   Date Started: Aug 84
 **
 **  This is part of the CTSim program
-**  Copyright (C) 1983-2000 Kevin Rosenberg
+**  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: reconstruct.h,v 1.2 2000/12/16 06:12:47 kevin Exp $
+**  $Id: reconstruct.h,v 1.8 2001/03/11 15:27:30 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
@@ -35,22 +35,15 @@ class ProcessSignal;
 
 #include <string>
 
+struct ReconstructionROI {
+  double m_dXMin;
+  double m_dYMin;
+  double m_dXMax;
+  double m_dYMax;
+};
+
 class Reconstructor 
 {
-public:
-    Reconstructor (const Projections& rProj, ImageFile& rIF, const char* const filterName, double filt_param, const char* const filterMethodName, const int zeropad, const char* filterGenerationName, const char* const interpName, int interpFactor, const char* const backprojectName, const int trace, SGP* pSGP = NULL);
-
-    ~Reconstructor ();
-
-    bool fail() const {return m_bFail;}
-    const std::string& failMessage() const {return m_strFailMessage;}
-    
-    void plotFilter (SGP* pSGP = NULL);
-
-    void reconstructAllViews ();
-
-    void reconstructView (int iStartView = 0, int iViewCount = -1, SGP* pSGP = NULL);
-    
  private:
     const Projections& m_rProj;
     ImageFile& m_rImagefile;
@@ -63,6 +56,24 @@ public:
     std::string m_strFailMessage;
 
     double* m_adPlotXAxis;
+
+ public:
+    Reconstructor (const Projections& rProj, ImageFile& rIF, const char* const filterName, double filt_param, 
+      const char* const filterMethodName, const int zeropad, const char* filterGenerationName, 
+      const char* const interpName, int interpFactor, const char* const backprojectName, const int trace, 
+      ReconstructionROI* pROI = NULL, SGP* pSGP = NULL);
+
+    ~Reconstructor ();
+
+    bool fail() const {return m_bFail;}
+    const std::string& failMessage() const {return m_strFailMessage;}
+    
+    void plotFilter (SGP* pSGP = NULL);
+
+    void reconstructAllViews ();
+
+    void reconstructView (int iStartView = 0, int iViewCount = -1, SGP* pSGP = NULL, bool bBackprojectView = true, double dGraphWidth = 1.);
+    void postProcessing ();
 };
 
 #endif