r145: *** empty log message ***
[ctsim.git] / include / imagefile.h
index c5a68e726b3073a950c3006d68e8e0b8a4666968..a7600dcce5cc33b9c563e5ead21c0ee9103f0d99 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  $Id: imagefile.h,v 1.15 2000/06/26 21:15:24 kevin Exp $
+**  $Id: imagefile.h,v 1.18 2000/07/13 07:03:21 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
@@ -61,7 +61,7 @@ public:
   kfloat32** getArray (void)
       { return (kfloat32**) (m_arrayData); }
 
-  const kfloat32** getArray (void) const
+  const kfloat32* const * getArray (void) const
        { return (const kfloat32**) (m_arrayData); }
 
 #ifdef HAVE_MPI
@@ -94,7 +94,7 @@ class F64Image : public Array2dFile
   kfloat64** getArray (void)
       { return (kfloat64**) (m_arrayData); }
 
-  const kfloat64** getArray (void) const
+  const kfloat64* const * getArray (void) const
       { return (const kfloat64**) (m_arrayData); }
 
 #ifdef HAVE_MPI
@@ -112,11 +112,13 @@ typedef F64Image   ImageFileBase;
 typedef kfloat64   ImageFileValue;
 typedef kfloat64*  ImageFileColumn;
 typedef kfloat64** ImageFileArray;
+typedef const kfloat64* const * ImageFileArrayConst;
 #else
 typedef F32Image   ImageFileBase;
 typedef kfloat32   ImageFileValue;
 typedef kfloat32*  ImageFileColumn;
 typedef kfloat32** ImageFileArray;
+typedef const kfloat32* const * ImageFileArrayConst;
 #endif
 
 
@@ -135,16 +137,26 @@ class ImageFile : public ImageFileBase
 
   void statistics (double& min, double& max, double& mean, double& mode, double& median, double& stddev) const;
 
+  void getMinMax (double& min, double& max) const;
+
   void printStatistics (ostream& os) const;
 
   bool comparativeStatistics (const ImageFile& imComp, double& d, double& r, double& e) const;
 
   bool printComparativeStatistics (const ImageFile& imComp, ostream& os) const;
 
-  int display (void);
+  int display (void) const;
 
-  int displayScaling (const int scaleFactor, ImageFileValue pmin, ImageFileValue pmax);
+  int displayScaling (const int scaleFactor, ImageFileValue pmin, ImageFileValue pmax) const;
 
+#if HAVE_PNG
+  void writeImagePNG (const char *outfile, int bitdepth, int nxcell, int nycell, double densmin, double densmax);
+#endif
+#if HAVE_GD
+  void writeImageGIF (const char *outfile, int nxcell, int nycell, double densmin, double densmax);
+#endif
+  void writeImagePGM (const char *outfile, int nxcell, int nycell, double densmin, double densmax);
+  void writeImagePGMASCII (const char *outfile, int nxcell, int nycell, double densmin, double densmax);
 };