X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=include%2Fscanner.h;h=7f8780a66316b130ece9560be6423c7d1e6bfb5c;hp=fea4dc4c8cc1675585cb75df543881684a3feff9;hb=c953cbb6ffc2fd50e736230f4e6976a025983cff;hpb=3f6c94c6bd432ad7b7a55ad991d3b8223fb44f18 diff --git a/include/scanner.h b/include/scanner.h index fea4dc4..7f8780a 100644 --- a/include/scanner.h +++ b/include/scanner.h @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: scanner.h,v 1.18 2001/02/20 04:48:45 kevin Exp $ +** $Id: scanner.h,v 1.20 2001/03/01 07:30:49 kevin Exp $ ** ** ** This program is free software; you can redistribute it and/or modify @@ -76,12 +76,17 @@ class Scanner Scanner (const Phantom& phm, const char* const geometryName, int nDet, int nView, int nSample, const double rot_anglen, - double dFocalLengthRatio, double dViewRatio, double dScanRatio); + double dFocalLengthRatio, double dCenterDetectorRatio, double dViewRatio, double dScanRatio); ~Scanner(); - void collectProjections (Projections& proj, const Phantom& phm, const int trace = Trace::TRACE_NONE, SGP* pSGP = NULL); + void collectProjections (Projections& proj, const Phantom& phm, const int trace = Trace::TRACE_NONE, + SGP* pSGP = NULL); - void collectProjections (Projections& proj, const Phantom& phm, const int iStartView, const int iNumViews, bool bStoreAtViewPosition, const int trace = Trace::TRACE_NONE, SGP* pSGP = NULL); + void collectProjections (Projections& proj, const Phantom& phm, const int iStartView, const int iNumViews, + bool bStoreAtViewPosition, const int trace = Trace::TRACE_NONE, SGP* pSGP = NULL); + + void collectProjections (Projections& proj, const Phantom& phm, const int iStartView, const int iNumViews, + int iStorageOffset, const int trace = Trace::TRACE_NONE, SGP* pSGP = NULL); void setNView (int nView); @@ -94,6 +99,9 @@ class Scanner double detInc() const {return m_detInc;} double detLen() const {return m_detLen;} double focalLength() const {return m_dFocalLength;} + double sourceDetectorLength() const {return m_dSourceDetectorLength;} + double centerDetectorLength() const {return m_dCenterDetectorLength;} + double viewDiameter() const {return m_dViewDiameter;} double scanDiameter() const {return m_dScanDiameter;} double fanBeamAngle() const {return m_dFanBeamAngle;} @@ -114,11 +122,14 @@ class Scanner unsigned int m_nDet; /* Number of detectors in array */ unsigned int m_nView; /* Number of rotated views */ unsigned int m_nSample; /* Number of rays per detector */ - double m_dFocalLength; // Focal Length + double m_dFocalLength; // Focal Length, distance from source to center + double m_dSourceDetectorLength; // Distance from source to detectors + double m_dCenterDetectorLength; // Distance from center to detectors double m_dViewDiameter; // Diameter of area being processed double m_dScanDiameter; // Diamer of area being scanned double m_dViewRatio; // View Ratio to diameter phantom - double m_dFocalLengthRatio; // Focal Length ratio to radius phantom + double m_dFocalLengthRatio; // Source to Center Length as ratio to viewDiameter radius + double m_dCenterDetectorRatio; // Center to Detector Length as ratio of viewDiameter radius double m_dScanRatio; // Scan length to view length ratio double m_dFanBeamAngle; double m_detLen; // Total length of detector array