-// imagefile.cpp
-void image_filter_response (ImageFile& im, const char* const domainName, double bw, const char* const filterName, double filt_param, const int opt_trace);
-int image_display (const ImageFile& im);
-int image_display_scale (const ImageFile& im, const int scale, const double pmin, const double pmax);
+class ImageFile : public ImageFileBase
+{
+ public:
+ ImageFile (const char* const fname, unsigned int nx, unsigned int ny)
+ : ImageFileBase (fname, nx, ny)
+ {}
+
+ ImageFile (unsigned int nx, unsigned int ny)
+ : ImageFileBase (nx, ny)
+ {}
+
+ ImageFile (const char* const fname)
+ : ImageFileBase (fname)
+ {}
+
+ void filterResponse (const char* const domainName, double bw, const char* const filterName, double filt_param);
+
+ void statistics (double& min, double& max, double& mean, double& mode, double& median, double& stddev) 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 displayScaling (const int scaleFactor, ImageFileValue pmin, ImageFileValue pmax);
+
+};