X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=include%2Fprojections.h;h=095095bb409df889498953ac2e855ce0710101e9;hp=104476d9cb8317e0a8c73cdf343f446b16ad93d4;hb=e4c1f7f8eb87558c3abf3bf1d20732361f425351;hpb=44ba9ce559d2d52cbd7bbea6bcd76242840fd3eb diff --git a/include/projections.h b/include/projections.h index 104476d..095095b 100644 --- a/include/projections.h +++ b/include/projections.h @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: projections.h,v 1.3 2000/06/20 17:54:51 kevin Exp $ +** $Id: projections.h,v 1.10 2000/07/15 08:36:13 kevin Exp $ ** ** ** This program is free software; you can redistribute it and/or modify @@ -31,6 +31,8 @@ class Scanner; class DetectorArray; +class Array2dFileLabel; + // Projections class Projections @@ -51,6 +53,8 @@ class Projections 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 filterMethodName, const int zeropad, const char* const interpName, int interp_param, const char* const backprojName, const int trace) const; + 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;} @@ -68,9 +72,16 @@ class Projections const double rotInc(void) const {return m_rotInc;} const int nDet(void) const {return m_nDet;} const int nView(void) const {return m_nView;} + const string& getFilename(void) const {return m_filename;} + Array2dFileLabel& getLabel(void) {return m_label;} + const Array2dFileLabel& getLabel(void) const {return m_label;} + DetectorArray& getDetectorArray (const int iview) { return (*m_projData[iview]); } + const DetectorArray& getDetectorArray (const int iview) const + { return (*m_projData[iview]); } + private: int m_headerSize; // Size of disk file header int m_geometry; // Geometry of scanner @@ -84,6 +95,16 @@ class Projections double m_detStart; // distance of beginning detector to center phantom double m_detInc; // increment between detectors double m_phmLen; // Length of phantom edge (phm is square) + kuint32 m_year; // Creation date & time + kuint32 m_month; + kuint32 m_day; + kuint32 m_hour; + kuint32 m_minute; + kuint32 m_second; + string m_filename; + Array2dFileLabel m_label; + + const static kuint16 m_signature = ('P'*256 + 'J'); bool headerRead (void); bool headerWrite (void); @@ -93,6 +114,10 @@ class Projections void deleteProjData (void); void init (const int nView, const int nDet); + + // prevent default methods + Projections& operator= (const Projections& rhs); // assignment + Projections(const Projections& rhs); // copy };