X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=include%2Fphantom.h;h=651e1ebd8a3a1275648edee15eaf6b05186a49a5;hp=416b83301799c8078375a8ee31763fb51b1a43e0;hb=ee0105d74fec9d6bfd236e22e9e1d315e46c568e;hpb=286d655a25df2668bd65ad365676c6ecc94415a1 diff --git a/include/phantom.h b/include/phantom.h index 416b833..651e1eb 100644 --- a/include/phantom.h +++ b/include/phantom.h @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: phantom.h,v 1.10 2000/07/22 15:45:33 kevin Exp $ +** $Id: phantom.h,v 1.16 2000/12/06 01:46:43 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 @@ -28,10 +28,8 @@ #ifndef PHANTOM_H #define PHANTOM_H -#include +#include #include "ctsupport.h" -#include "backprojectors.h" -class ImageFile; using namespace std; @@ -98,8 +96,8 @@ class PhantomElement double* m_yOutline; double m_rectLimits[4]; - static const int POINTS_PER_CIRCLE = 360; - static const double SCALE_PELEM_EXTENT=0.005; // increase pelem limits by 0.5% + static const int POINTS_PER_CIRCLE; + static const double SCALE_PELEM_EXTENT; // increase pelem limits by 0.5% static PhmElemType PhantomElement::convertNameToType (const char* const typeName); @@ -129,14 +127,16 @@ typedef enum { // Phantom Class Declaration ////////////////////////////////////////////////////// +class SGP; +class ImageFile; class Phantom { public: static const int PHM_INVALID; static const int PHM_HERMAN; - static const int PHM_BHERMAN; - static const int PHM_ROWLAND; - static const int PHM_BROWLAND; + static const int PHM_B_HERMAN; + static const int PHM_SHEPP_LOGAN; + static const int PHM_B_SHEPP_LOGAN; static const int PHM_UNITPULSE; Phantom (); @@ -160,7 +160,7 @@ class Phantom void addPElem (const char* const composition, const double cx, const double cy, const double u, const double v, const double rot, const double atten); - void convertToImagefile (ImageFile& im, const int in_nsample, const int trace, const int colStart, const int colCount) const; + void convertToImagefile (ImageFile& im, const int in_nsample, const int trace, const int colStart, const int colCount, bool bStoreAtColumnPos) const; void convertToImagefile (ImageFile& im, const int in_nsample, const int trace) const; @@ -171,13 +171,14 @@ class Phantom #if HAVE_SGP void show () const; - void draw () const; + void show (SGP& sgp) const; + void draw (SGP& sgp) const; #endif void addStdHerman (); void addStdHermanBordered (); - void addStdRowland (); - void addStdRowlandBordered (); + void addStdSheppLogan (); + void addStdSheppLoganBordered (); void print () const; @@ -188,8 +189,8 @@ class Phantom const double xmax() const {return m_xmax;} const double ymin() const {return m_ymin;} const double ymax() const {return m_ymax;} - slist& listPElem() {return m_listPElem;} - const slist& listPElem() const {return m_listPElem;} + list& listPElem() {return m_listPElem;} + const list& listPElem() const {return m_listPElem;} const int nPElem() const {return m_nPElem;} static const int getPhantomCount() {return s_iPhantomCount;} @@ -204,7 +205,7 @@ class Phantom int m_nPElem; // number of pelems in phantom double m_xmin, m_xmax, m_ymin, m_ymax; // extent of pelems in pelem coordinates double m_diameter; // diameter of object - mutable slist m_listPElem; // pelem lists + mutable list m_listPElem; // pelem lists string m_name; int m_id; bool m_fail; @@ -220,7 +221,7 @@ class Phantom Phantom& operator= (const Phantom&); // assignment operator }; -typedef slist::iterator PElemIterator; -typedef slist::const_iterator PElemConstIterator; +typedef list::iterator PElemIterator; +typedef list::const_iterator PElemConstIterator; #endif