** This is part of the CTSim program
** Copyright (C) 1983-2000 Kevin Rosenberg
**
-** $Id: imagefile.cpp,v 1.20 2000/12/16 06:12:47 kevin Exp $
+** $Id: imagefile.cpp,v 1.21 2000/12/17 19:08:06 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
mode = (max_binindex * spread / (nbin - 1)) + min;
int nPixels = nx * ny;
- std::list<double> vecImage;
+ std::vector<double> vecImage;
for (int ix5 = 0; ix5 < nx; ix5++)
for (int iy = 0; iy < ny; iy++)
- vecImage.push_front (v[ix5][iy]);
- vecImage.sort();
- std::list<double>::const_iterator iter = vecImage.begin();
- for (int i = 0; i < (nPixels / 2) - 1; i++)
- iter++; // Advance iterator to (nPixels / 2) - 1;
-
- if (nPixels % 2) { // Odd
- iter++;
- median = *iter;
- } else // Even
- median = (*iter++ + *iter) / 2;
+ vecImage.push_back (v[ix5][iy]);
+ std::sort(vecImage.begin(), vecImage.end());\r
+\r
+ if (nPixels % 2) // Odd
+ median = vecImage[((nPixels - 1) / 2)];\r
+ else // Even
+ median = (vecImage[(nPixels / 2) - 1] + vecImage[nPixels / 2]) / 2;
}