X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=include%2Fimagefile.h;h=7c7daba56eae43d69172b47763cbb2dd69fa7a28;hp=a7600dcce5cc33b9c563e5ead21c0ee9103f0d99;hb=5c6b29ab4885308cc3381af6e0a68f4804956d2e;hpb=3fba6928127cd65870bdcd96c8114ad5894247ae diff --git a/include/imagefile.h b/include/imagefile.h index a7600dc..7c7daba 100644 --- a/include/imagefile.h +++ b/include/imagefile.h @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: imagefile.h,v 1.18 2000/07/13 07:03:21 kevin Exp $ +** $Id: imagefile.h,v 1.24 2000/12/29 15:45: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 @@ -28,17 +28,17 @@ #ifndef IMAGEFILE_H #define IMAGEFILE_H +#ifndef MSVC +#include +#endif #include #include -#include #include #include #include "ctsupport.h" #include "fnetorderstream.h" #include "array2dfile.h" -using namespace std; - #ifdef HAVE_MPI #include #endif @@ -46,23 +46,14 @@ using namespace std; class F32Image : public Array2dFile { public: - F32Image (int nx, int ny) - : Array2dFile::Array2dFile (nx, ny, sizeof(kfloat32), Array2dFile::PIXEL_FLOAT32) - { - } - - F32Image (void) - : Array2dFile::Array2dFile() - { - setPixelFormat (Array2dFile::PIXEL_FLOAT32); - setPixelSize (sizeof(kfloat32)); - } + F32Image (int nx, int ny); + F32Image (void); kfloat32** getArray (void) { return (kfloat32**) (m_arrayData); } - const kfloat32* const * getArray (void) const - { return (const kfloat32**) (m_arrayData); } + kfloat32** const getArray (void) const + { return (kfloat32** const) (m_arrayData); } #ifdef HAVE_MPI MPI::Datatype getMPIDataType (void) const @@ -79,23 +70,14 @@ class F64Image : public Array2dFile { public: - F64Image (int nx, int ny) - : Array2dFile::Array2dFile (nx, ny, sizeof(kfloat64), Array2dFile::PIXEL_FLOAT64) - { - } - - F64Image (void) - : Array2dFile::Array2dFile () - { - setPixelFormat (PIXEL_FLOAT64); - setPixelSize (sizeof(kfloat64)); - } + F64Image (int nx, int ny); + F64Image (void); kfloat64** getArray (void) { return (kfloat64**) (m_arrayData); } - const kfloat64* const * getArray (void) const - { return (const kfloat64**) (m_arrayData); } + kfloat64** const getArray (void) const + { return (kfloat64** const) (m_arrayData); } #ifdef HAVE_MPI MPI::Datatype getMPIDataType (void) const @@ -112,13 +94,15 @@ typedef F64Image ImageFileBase; typedef kfloat64 ImageFileValue; typedef kfloat64* ImageFileColumn; typedef kfloat64** ImageFileArray; -typedef const kfloat64* const * ImageFileArrayConst; +typedef kfloat64** const ImageFileArrayConst; +typedef const kfloat64* ImageFileColumnConst; #else typedef F32Image ImageFileBase; typedef kfloat32 ImageFileValue; typedef kfloat32* ImageFileColumn; typedef kfloat32** ImageFileArray; -typedef const kfloat32* const * ImageFileArrayConst; +typedef kfloat32** const ImageFileArrayConst; +typedef const kfloat32* ImageFileColumnConst; #endif @@ -136,17 +120,25 @@ class ImageFile : public ImageFileBase 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 getMinMax (double& min, double& max) const; - - void printStatistics (ostream& os) const; - + void printStatistics (std::ostream& os) const; bool comparativeStatistics (const ImageFile& imComp, double& d, double& r, double& e) const; - - bool printComparativeStatistics (const ImageFile& imComp, ostream& os) const; - + bool printComparativeStatistics (const ImageFile& imComp, std::ostream& os) const; + + bool subtractImages (const ImageFile& rRHS, ImageFile& result) const; + bool addImages (const ImageFile& rRHS, ImageFile& result) const; + bool multiplyImages (const ImageFile& rRHS, ImageFile& result) const; + bool divideImages (const ImageFile& rRHS, ImageFile& result) const; + + bool invertPixelValues (ImageFile& result) const; + bool sqrt (ImageFile& result) const; + bool square (ImageFile& result) const; + bool log (ImageFile& result) const; + bool exp (ImageFile& result) const; + bool FFTMagnitude (ImageFile& result) const; + bool FFTPhase (ImageFile& result) const; + int display (void) const; - int displayScaling (const int scaleFactor, ImageFileValue pmin, ImageFileValue pmax) const; #if HAVE_PNG