** This is part of the CTSim program
** Copyright (C) 1983-2000 Kevin Rosenberg
**
-** $Id: imagefile.h,v 1.22 2000/12/16 06:12:47 kevin Exp $
+** $Id: imagefile.h,v 1.25 2000/12/29 19:30:08 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
class F32Image : public Array2dFile
{
public:
- F32Image (int nx, int ny);
+ F32Image (int nx, int ny, int dataType = Array2dFile::DATA_TYPE_REAL);
F32Image (void);\r
- kfloat32** getArray (void)
- { return (kfloat32**) (m_arrayData); }
-
- const kfloat32* const * getArray (void) const
- { return (const kfloat32**) (m_arrayData); }
-
+ kfloat32** getArray (void)\r
+ { return (kfloat32**) (m_arrayData); }\r
+\r
+ kfloat32** const getArray (void) const\r
+ { return (kfloat32** const) (m_arrayData); }\r
+\r
+ kfloat32** getImaginaryArray (void)\r
+ { return (kfloat32**) (m_imaginaryArrayData); }\r
+\r
+ kfloat32** const getImaginaryArray (void) const\r
+ { return (kfloat32** const) (m_imaginaryArrayData); }\r
+\r
#ifdef HAVE_MPI
MPI::Datatype getMPIDataType (void) const
{ return MPI::FLOAT; }
{
public:
- F64Image (int nx, int ny);
+ F64Image (int nx, int ny, int dataType = Array2dFile::DATA_TYPE_REAL);
F64Image (void);
- kfloat64** getArray (void)
- { return (kfloat64**) (m_arrayData); }
-
- const kfloat64* const * getArray (void) const
- { return (const kfloat64**) (m_arrayData); }
-
+ kfloat64** getArray (void)\r
+ { return (kfloat64**) (m_arrayData); }\r
+\r
+ kfloat64** const getArray (void) const\r
+ { return (kfloat64** const) (m_arrayData); }\r
+\r
+ kfloat64** getImaginaryArray (void)\r
+ { return (kfloat64**) (m_imaginaryArrayData); }\r
+\r
+ kfloat64** const getImaginaryArray (void) const\r
+ { return (kfloat64** const) (m_imaginaryArrayData); }\r
+\r
#ifdef HAVE_MPI
MPI::Datatype getMPIDataType (void) const
{ return MPI::DOUBLE; }
typedef kfloat64 ImageFileValue;
typedef kfloat64* ImageFileColumn;
typedef kfloat64** ImageFileArray;
-typedef const kfloat64* const * ImageFileArrayConst;
+typedef kfloat64** const ImageFileArrayConst;\r
+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;\r
#endif
ImageFile (void)
: ImageFileBase ()
{}
+\r
+ bool convertRealToComplex ();\r
+ bool convertComplexToReal ();\r
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 statistics (double& min, double& max, double& mean, double& mode, double& median, double& stddev) const;\r
+ void statistics (ImageFileArrayConst& v, double& min, double& max, double& mean, double& mode, double& median, double& stddev) const;\r
void getMinMax (double& min, double& max) const;
-
void printStatistics (std::ostream& os) const;
-
bool comparativeStatistics (const ImageFile& imComp, double& d, double& r, double& e) const;
-
bool printComparativeStatistics (const ImageFile& imComp, std::ostream& os) const;
-
+\r
+ bool subtractImages (const ImageFile& rRHS, ImageFile& result) const;
+ bool addImages (const ImageFile& rRHS, ImageFile& result) const;\r
+ bool multiplyImages (const ImageFile& rRHS, ImageFile& result) const;\r
+ bool divideImages (const ImageFile& rRHS, ImageFile& result) const;\r
+\r
+ bool invertPixelValues (ImageFile& result) const;\r
+ bool sqrt (ImageFile& result) const;\r
+ bool square (ImageFile& result) const;\r
+ bool log (ImageFile& result) const;\r
+ bool exp (ImageFile& result) const;\r
+ bool fourier (ImageFile& result) const;\r
+ bool inverseFourier (ImageFile& result) const;\r
+ bool magnitude (ImageFile& result) const;\r
+ bool phase (ImageFile& result) const;\r
+\r
int display (void) const;
-
int displayScaling (const int scaleFactor, ImageFileValue pmin, ImageFileValue pmax) const;
#if HAVE_PNG