X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=include%2Fscanner.h;h=7f8780a66316b130ece9560be6423c7d1e6bfb5c;hp=162e89686744e2a34a9f04374e3333ea0fe7f007;hb=c953cbb6ffc2fd50e736230f4e6976a025983cff;hpb=c5e7140bd08b8c8f527713e8dc861bcb7ee5f633 diff --git a/include/scanner.h b/include/scanner.h index 162e896..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.17 2001/02/08 06:25:07 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 @@ -140,7 +151,7 @@ class Scanner GRFMTX_2D m_rotmtxIncrement; -#if HAVE_SGP +#ifdef HAVE_SGP SGP* m_pSGP; // Pointer to graphics device double m_dXMinWin; // Extent of graphics window double m_dXMaxWin;