X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=libctsim%2Fprojections.cpp;h=4c31b3808748681a62e7ae33ad1c25a69ad17307;hp=42cc23ccfadd7a308e47c990b42774a891232bd6;hb=e3776d3d7bf82adfea545c1f06c8b4ce660190b0;hpb=07fbc7c8c9cf0e9de956284d6057a825c81ae0ce diff --git a/libctsim/projections.cpp b/libctsim/projections.cpp index 42cc23c..4c31b38 100644 --- a/libctsim/projections.cpp +++ b/libctsim/projections.cpp @@ -8,7 +8,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: projections.cpp,v 1.31 2000/12/16 02:54:47 kevin Exp $ +** $Id: projections.cpp,v 1.34 2001/01/02 06:29:23 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 @@ -71,6 +71,15 @@ Projections::init (const int nView, const int nDet) m_nView = nView; m_nDet = nDet; newProjData (); + + time_t t = time (NULL); + tm* lt = localtime (&t); + m_year = lt->tm_year; + m_month = lt->tm_mon; + m_day = lt->tm_mday; + m_hour = lt->tm_hour; + m_minute = lt->tm_min; + m_second = lt->tm_sec; } void @@ -91,7 +100,7 @@ Projections::initFromScanner (const Scanner& scanner) #if 0 if (m_geometry == Scanner::GEOMETRY_EQUILINEAR) { m_detInc /= 2; - cout << "Kludge: detInc /= 2 in Projections::initFromScanner" << endl; + std::cout << "Kludge: detInc /= 2 in Projections::initFromScanner" << endl; } #endif } @@ -298,7 +307,7 @@ Projections::headerRead (fnetorderstream& fs) } bool -Projections::read (const string& filename) +Projections::read (const std::string& filename) { return read (filename.c_str()); } @@ -307,10 +316,14 @@ Projections::read (const string& filename) bool Projections::read (const char* filename) { - frnetorderstream fileRead (filename, ios::in | ios::binary); - m_filename = filename; - - if (! fileRead) + m_filename = filename; +#ifdef MSVC + frnetorderstream fileRead (m_filename.c_str(), std::ios::in | std::ios::binary); +#else + frnetorderstream fileRead (m_filename.c_str(), std::ios::in | std::ios::binary | std::ios::nocreate); +#endif + + if (fileRead.fail()) return false; if (! headerRead (fileRead)) @@ -330,13 +343,13 @@ Projections::read (const char* filename) bool -Projections::copyViewData (const string& filename, ostream& os, int startView, int endView) +Projections::copyViewData (const std::string& filename, std::ostream& os, int startView, int endView) { return copyViewData (filename.c_str(), os, startView, endView); } bool -Projections::copyViewData (const char* const filename, ostream& os, int startView, int endView) +Projections::copyViewData (const char* const filename, std::ostream& os, int startView, int endView) { frnetorderstream is (filename, ios::in | ios::binary); kuint16 sizeHeader, signature; @@ -388,15 +401,15 @@ Projections::copyViewData (const char* const filename, ostream& os, int startVie } bool -Projections::copyHeader (const string& filename, ostream& os) +Projections::copyHeader (const std::string& filename, std::ostream& os) { return copyHeader (filename.c_str(), os); } bool -Projections::copyHeader (const char* const filename, ostream& os) +Projections::copyHeader (const char* const filename, std::ostream& os) { - frnetorderstream is (filename, ios::in | ios::binary); + frnetorderstream is (filename, std::ios::in | std::ios::binary); kuint16 sizeHeader, signature; is.readInt16 (sizeHeader); is.readInt16 (signature); @@ -423,7 +436,7 @@ Projections::copyHeader (const char* const filename, ostream& os) } bool -Projections::write (const string& filename) +Projections::write (const std::string& filename) { return write (filename.c_str()); } @@ -431,24 +444,13 @@ Projections::write (const string& filename) bool Projections::write (const char* filename) { - frnetorderstream fs (filename, ios::out | ios::binary | ios::trunc | ios::ate); + frnetorderstream fs (filename, std::ios::out | std::ios::binary | std::ios::trunc | std::ios::ate); m_filename = filename; if (! fs) { sys_error (ERR_SEVERE, "Error opening file %s for output [projections_create]", filename); return false; } -#ifdef HAVE_TIME - time_t t = time(NULL); - tm* lt = localtime(&t); - m_year = lt->tm_year; - m_month = lt->tm_mon; - m_day = lt->tm_mday; - m_hour = lt->tm_hour; - m_minute = lt->tm_min; - m_second = lt->tm_sec; -#endif - if (! headerWrite (fs)) return false; @@ -591,7 +593,7 @@ Projections::printProjectionData (int startView, int endView) } void -Projections::printScanInfo (ostringstream& os) const +Projections::printScanInfo (std::ostringstream& os) const { os << "Number of detectors: " << m_nDet << "\n"; os << " Number of views: " << m_nView<< "\n";