r117: *** empty log message ***
[ctsim.git] / include / projections.h
index bbf43054d3d1eb17b745110aaacaf4578b9efca0..a9970b33736201c8efa8e79e1768f4197fc4a684 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  $Id: projections.h,v 1.1 2000/06/17 20:12:14 kevin Exp $
+**  $Id: projections.h,v 1.4 2000/06/22 10:17:28 kevin Exp $
 **
 **
 **  This program is free software; you can redistribute it and/or modify
@@ -41,16 +41,19 @@ class Projections
   Projections (void);
   ~Projections (void);
 
-  void init (const int nView, const int nDet);
+  void initFromScanner (const Scanner& scanner);
 
   void printProjectionData (void);
   void printScanInfo (void) const;
 
   bool read (const char* fname);
   bool write (const char* fname);
-  bool detarrayRead (DetectorArray& darray, const int view_num);
-  bool detarrayWrite (const DetectorArray& darray, const int view_num);
+  bool detarrayRead (fnetorderstream& fs, DetectorArray& darray, const int view_num);
+  bool detarrayWrite (fnetorderstream& fs, const DetectorArray& darray, const int view_num);
+
+  bool reconstruct (ImageFile& im, const char* const filterName, double filt_param, const char* const interpName, int interp_param, const char* const backprojName, const int trace);
 
+  void setNView (int nView);  // used in MPI to restrict # of views
   void setRotInc (double rotInc) { m_rotInc = rotInc;}
   void setDetInc (double detInc) { m_detInc = detInc;}
   void setPhmLen (double phmLen) { m_phmLen = phmLen;}
@@ -71,7 +74,6 @@ class Projections
       { return (*m_projData[iview]); }
   
  private:
-  int m_fd;                    // Disk file descriptor 
   int m_headerSize;            // Size of disk file header 
   int m_geometry;              // Geometry of scanner 
   struct DetectorArray **m_projData;   // Pointer to array of detarray_st pointers 
@@ -87,8 +89,12 @@ class Projections
 
   bool headerRead (void);
   bool headerWrite (void);
+  bool headerRead (fnetorderstream& fs);
+  bool headerWrite (fnetorderstream& fs);
   void newProjData (void);
   void deleteProjData (void);
+
+  void init (const int nView, const int nDet);
 };