X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;ds=sidebyside;f=libctsim%2Fimagefile.cpp;h=81de74181519a27e93db82c9d4eac71748b5bd2b;hb=dc034c9d0b7d9c3874a324a4c2c189a02945adc8;hp=803347f2e76f071c8fd1ae6b110ac04a84b61994;hpb=ee0105d74fec9d6bfd236e22e9e1d315e46c568e;p=ctsim.git diff --git a/libctsim/imagefile.cpp b/libctsim/imagefile.cpp index 803347f..81de741 100644 --- a/libctsim/imagefile.cpp +++ b/libctsim/imagefile.cpp @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: imagefile.cpp,v 1.17 2000/12/06 01:46:43 kevin Exp $ +** $Id: imagefile.cpp,v 1.20 2000/12/16 06:12:47 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 @@ -193,14 +193,14 @@ ImageFile::comparativeStatistics (const ImageFile& imComp, double& d, double& r, bool -ImageFile::printComparativeStatistics (const ImageFile& imComp, ostream& os) const +ImageFile::printComparativeStatistics (const ImageFile& imComp, std::ostream& os) const { double d, r, e; if (comparativeStatistics (imComp, d, r, e)) { - os << " Normalized root mean squared distance (d): " << d << endl; - os << " Normalized mean absolute distance (r): " << r << endl; - os << "Worst case distance (2x2 pixel average) (e): " << e << endl; + os << " Normalized root mean squared distance (d): " << d << std::endl; + os << " Normalized mean absolute distance (r): " << r << std::endl; + os << "Worst case distance (2x2 pixel average) (e): " << e << std::endl; return true; } return false; @@ -208,18 +208,18 @@ ImageFile::printComparativeStatistics (const ImageFile& imComp, ostream& os) con void -ImageFile::printStatistics (ostream& os) const +ImageFile::printStatistics (std::ostream& os) const { double min, max, mean, mode, median, stddev; statistics (min, max, mean, mode, median, stddev); - os << " min: " << min << endl; - os << " max: " << max << endl; - os << " mean: " << mean << endl; - os << " mode: " << mode << endl; - os << "median: " << median << endl; - os << "stddev: " << stddev << endl; + os << " min: " << min << std::endl; + os << " max: " << max << std::endl; + os << " mean: " << mean << std::endl; + os << " mode: " << mode << std::endl; + os << "median: " << median << std::endl; + os << "stddev: " << stddev << std::endl; } @@ -256,7 +256,7 @@ ImageFile::statistics (double& min, double& max, double& mean, double& mode, dou for (int iy = 0; iy < ny; iy++) { int b = static_cast((((v[ix4][iy] - min) / spread) * (nbin - 1)) + 0.5); hist[b]++; - double diff = (v[ix][iy] - mean); + double diff = (v[ix4][iy] - mean); stddev += diff * diff; } } @@ -274,12 +274,12 @@ ImageFile::statistics (double& min, double& max, double& mean, double& mode, dou mode = (max_binindex * spread / (nbin - 1)) + min; int nPixels = nx * ny; - list vecImage; + std::list vecImage; for (int ix5 = 0; ix5 < nx; ix5++) for (int iy = 0; iy < ny; iy++) vecImage.push_front (v[ix5][iy]); vecImage.sort(); - list::const_iterator iter = vecImage.begin(); + std::list::const_iterator iter = vecImage.begin(); for (int i = 0; i < (nPixels / 2) - 1; i++) iter++; // Advance iterator to (nPixels / 2) - 1; @@ -399,7 +399,7 @@ ImageFile::writeImagePNG (const char *outfile, int bitdepth, int nxcell, int nyc int ny = m_ny; ImageFileArray v = getArray(); - unsigned char rowp [nx * nxcell * (bitdepth / 8)]; + unsigned char* rowp = new unsigned char [nx * nxcell * (bitdepth / 8)]; if ((fp = fopen (outfile, "wb")) == NULL) return; @@ -451,6 +451,7 @@ ImageFile::writeImagePNG (const char *outfile, int bitdepth, int nxcell, int nyc png_write_end(png_ptr, info_ptr); png_destroy_write_struct(&png_ptr, &info_ptr); + delete rowp; fclose(fp); }