r7061: initial property settings
[ctsim.git] / include / reconstruct.h
index 83d54762d5002c6742c0ca5ef35e08d8813405f5..c09d39d7c888fd00b22aae20258859d7447ff55e 100644 (file)
@@ -8,7 +8,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: reconstruct.h,v 1.5 2001/01/29 23:11:32 kevin Exp $
+**  $Id$
 **
 **  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,10 +35,34 @@ 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);
+ private:
+    const Projections& m_rOriginalProj;
+    const Projections* m_pProj;
+    ImageFile& m_rImagefile;
+    ProcessSignal* m_pProcessSignal;
+    Backprojector* m_pBackprojector;
+    int m_nFilteredProjections;
+    int m_iTrace;
+    const bool m_bRebinToParallel;
+    bool m_bFail;
+    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, bool bRebinToParallel = false, SGP* pSGP = NULL);
 
     ~Reconstructor ();
 
@@ -50,19 +74,7 @@ public:
     void reconstructAllViews ();
 
     void reconstructView (int iStartView = 0, int iViewCount = -1, SGP* pSGP = NULL, bool bBackprojectView = true, double dGraphWidth = 1.);
-    
- private:
-    const Projections& m_rProj;
-    ImageFile& m_rImagefile;
-    ProcessSignal* m_pProcessSignal;
-    Backprojector* m_pBackprojector;
-    int m_nFilteredProjections;
-    int m_iTrace;
-
-    bool m_bFail;
-    std::string m_strFailMessage;
-
-    double* m_adPlotXAxis;
+    void postProcessing ();
 };
 
 #endif