X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=libctsim%2Fscanner.cpp;h=5888d45569a16ea9ed0784003278dfd37bace071;hp=75da0ae4e2986b7f1c600682df044f33fe9ab0a7;hb=93eb50659a64db3e37753d36c9923e82c7f7ca8a;hpb=980bef9b95bef1ab728634181a5672088fd47066 diff --git a/libctsim/scanner.cpp b/libctsim/scanner.cpp index 75da0ae..5888d45 100644 --- a/libctsim/scanner.cpp +++ b/libctsim/scanner.cpp @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: scanner.cpp,v 1.8 2000/07/31 14:48:35 kevin Exp $ +** $Id: scanner.cpp,v 1.9 2000/08/02 18:06:00 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 @@ -180,7 +180,7 @@ Scanner::convertGeometryNameToID (const char* const geomName) */ void -Scanner::collectProjections (Projections& proj, const Phantom& phm, const int start_view, const int trace = TRACE_NONE, SGP* pSGP = NULL) +Scanner::collectProjections (Projections& proj, const Phantom& phm, const int start_view = 0, const int trace = TRACE_NONE, SGP* pSGP = NULL) { GRFMTX_2D rotmtx_initial, temp; GRFMTX_2D rotmtx_incr; @@ -202,28 +202,26 @@ Scanner::collectProjections (Projections& proj, const Phantom& phm, const int st #ifdef HAVE_SGP if (pSGP && m_trace >= TRACE_PHM) { - double wsize = 1.42 * m_phmLen / 2; /* sqrt(2) * radius */ + double halfPhmLen = m_phmLen / 2; + double wsize = SQRT2 * halfPhmLen; + pSGP->setRasterOp (RO_SET); + pSGP->eraseWindow (); pSGP->setColor (C_LTBLUE); pSGP->setWindow (xcent - wsize, ycent - wsize, xcent + wsize, ycent + wsize); pSGP->setColor (C_BROWN); -#if RADIUS - pSGP->drawCircle (m_phmLen / 2); -#else - pSGP->drawRect (xcent - m_phmLen / 2, ycent - m_phmLen / 2, - xcent + m_phmLen / 2, ycent + m_phmLen / 2); -#endif + pSGP->drawRect (xcent - halfPhmLen, ycent - halfPhmLen, xcent + halfPhmLen, ycent + halfPhmLen); pSGP->setColor (C_BROWN); pSGP->moveAbs (0., 0.); pSGP->drawCircle (wsize); - // raysum_trace_menu_column = (crt->xsize * crt->asp) / 8 + 3; + traceShowParam ("X-Ray Simulator", "%s", RAYSUM_TRACE_ROW_TITLE, C_BLACK, " "); traceShowParam ("---------------", "%s", RAYSUM_TRACE_ROW_TITLE2, C_BLACK, " "); traceShowParam ("Phantom:", "%s", RAYSUM_TRACE_ROW_PHANT_ID, C_YELLOW, " Herman"); traceShowParam ("Chomaticity :", "%s", RAYSUM_TRACE_ROW_CHROMATIC, C_LTGREEN, "Mono"); traceShowParam ("Scatter :", "%5.1f", RAYSUM_TRACE_ROW_SCATTER, C_LTGREEN, 0.); traceShowParam ("Photon Uncert:", "%5.1f", RAYSUM_TRACE_ROW_PHOT_STAT, C_LTGREEN, 0.); - traceShowParam ("Num Scanners:", "%5d", RAYSUM_TRACE_ROW_NDET, C_LTRED, proj.nDet()); + traceShowParam ("Num Detectors:", "%5d", RAYSUM_TRACE_ROW_NDET, C_LTRED, proj.nDet()); traceShowParam ("Num Views :", "%5d", RAYSUM_TRACE_ROW_NVIEW, C_LTRED, proj.nView()); traceShowParam ("Samples / Ray:", "%5d", RAYSUM_TRACE_ROW_SAMPLES, C_LTRED, m_nSample); @@ -260,6 +258,7 @@ Scanner::collectProjections (Projections& proj, const Phantom& phm, const int st #ifdef HAVE_SGP if (pSGP && m_trace >= TRACE_PHM) { + pSGP->setRasterOp (RO_XOR); pSGP->setColor (C_RED); pSGP->moveAbs (xd1, yd1); pSGP->lineAbs (xd2, yd2);