QXRD  0.11.16
Public Types | Public Slots | Public Member Functions | Static Public Member Functions | Protected Attributes | Properties | Private Attributes | List of all members
QcepImageDataBase Class Referenceabstract

#include <qcepimagedata.h>

Inheritance diagram for QcepImageDataBase:
Inheritance graph
[legend]
Collaboration diagram for QcepImageDataBase:
Collaboration graph
[legend]

Public Types

enum  {
  UndefinedData, Raw16Data, Raw32Data, DarkData,
  MaskData, SubtractedData, GainData, BadPixelsData
}
 
- Public Types inherited from QcepDataObject
enum  Overwrite { NoOverwrite, CanOverwrite }
 

Public Slots

virtual QString description () const
 
void printMessage (QString msg, QDateTime ts=QDateTime::currentDateTime()) const
 
virtual double getImageData (int x, int y) const =0
 
virtual QVector< double > getImageData (int x0, int y0, int x1, int y1) const =0
 
virtual void setImageData (int x, int y, double v)=0
 
virtual void clear ()=0
 
virtual void resize (int width, int height)=0
 
virtual void fill (double val)=0
 
virtual double minValue () const =0
 
virtual double maxValue () const =0
 
virtual QPointF percentileRange (double lowpct, double highpct)=0
 
virtual double sumInRectangle (QRectF rect)=0
 
virtual double averageInRectangle (QRectF rect)=0
 
virtual double maxInRectangle (QRectF rect)=0
 
virtual double minInRectangle (QRectF rect)=0
 
virtual double sumInEllipse (QRectF rect)=0
 
virtual double averageInEllipse (QRectF rect)=0
 
virtual double minInEllipse (QRectF rect)=0
 
virtual double maxInEllipse (QRectF rect)=0
 
virtual double sumInPeak (QRectF rect)=0
 
double hValue (int n) const
 
double vValue (int n) const
 
- Public Slots inherited from QcepDataObject
virtual QString description () const
 
QString metaTypeName (int id) const
 
QString pathName () const
 
QcepDataGroupPtr rootItem ()
 
virtual QcepDataGroupPtr parentItem () const
 
- Public Slots inherited from QcepObject
virtual void printLine (QString line)
 
virtual void printMessage (QString msg, QDateTime dt=QDateTime::currentDateTime()) const
 
virtual void criticalMessage (QString msg, QDateTime ts=QDateTime::currentDateTime()) const
 
virtual void statusMessage (QString msg, QDateTime ts=QDateTime::currentDateTime()) const
 
virtual QString settingsScript ()
 
QString scriptValueLiteral (QVariant v)
 

Public Member Functions

 QcepImageDataBase (QcepSettingsSaverWPtr saver, int width, int height, int size, QcepObject *parent)
 
virtual ~QcepImageDataBase ()
 
QString get_DateString () const
 
void set_DateString (QString)
 
QString get_DataTypeName () const
 
void set_DataTypeName (QString)
 
void copyProperties (QcepImageDataBase *dest)
 
void copyPropertiesFrom (QSharedPointer< QcepImageDataBase > src)
 
void loadMetaData ()
 
void saveMetaData ()
 
void saveMetaData (QString name)
 
void saveTextData (QString name, QString sep, bool transp=false)
 
void setDefaultFileName (QString path)
 
virtual QString fileFormatFilterString ()
 
QString fileFormatTIFF ()
 
QString fileFormatTabDelimited ()
 
QString fileFormatTransposedTabDelimited ()
 
QString fileFormatCSV ()
 
QString fileFormatTransposedCSV ()
 
QMutex * mutex ()
 
- Public Member Functions inherited from QcepDataObject
 QcepDataObject (QcepSettingsSaverWPtr saver, QString name, int byteSize, QcepObject *parent)
 
virtual ~QcepDataObject ()
 
QcepSettingsSaverWPtr saver ()
 
virtual int childCount () const
 
virtual QcepDataObjectPtr item (int n)
 
virtual QcepDataObjectPtr item (QString nm)
 
virtual void setParentItem (QcepDataGroupWPtr parent)
 
virtual int indexInParent () const
 
virtual int rowCount () const
 
virtual int columnCount () const
 
virtual QVariant columnData (int col) const
 
virtual void saveData (QString &name, QString filter, Overwrite canOverwrite=NoOverwrite)
 
- Public Member Functions inherited from QcepObject
 QcepObject (QString name, QcepObject *parent)
 
virtual ~QcepObject ()
 
virtual void writeSettings (QSettings *set, QString section)
 
virtual void readSettings (QSettings *set, QString section)
 
QString get_Name () const
 
void set_Name (QString name)
 

Static Public Member Functions

static double secondsSinceEpoch ()
 
- Static Public Member Functions inherited from QcepDataObject
static QcepDataObjectPtr newDataObject (QcepSettingsSaverWPtr saver, QString name, QcepObject *parent)
 
static QScriptValue toScriptValue (QScriptEngine *engine, const QcepDataObjectPtr &data)
 
static void fromScriptValue (const QScriptValue &obj, QcepDataObjectPtr &data)
 
static int allocatedObjects ()
 
static int deletedObjects ()
 
- Static Public Member Functions inherited from QcepObject
static int allocatedObjects ()
 
static int deletedObjects ()
 
static QSet< QcepObject * > allocatedObjectsSet ()
 
static QString addSlashes (QString str)
 

Protected Attributes

int m_ImageCounter
 
QcepSettingsSaverWPtr m_Saver
 

Properties

int width
 
int height
 
double hStart
 
double hStep
 
double vStart
 
double vStep
 
QString hLabel
 
QString hUnits
 
QString vLabel
 
QString vUnits
 
int dataType
 
QString dataTypeName
 
QString fileBase
 
QString title
 
int readoutMode
 
double exposureTime
 
int summedExposures
 
int imageSequenceNumber
 
int imageNumber
 
int phaseNumber
 
int nPhases
 
QDateTime dateTime
 
QString dateString
 
double timeStamp
 
int hBinning
 
int vBinning
 
double cameraGain
 
int triggered
 
QString userComment1
 
QString userComment2
 
QString userComment3
 
QString userComment4
 
QcepDoubleList normalization
 
QcepDoubleList extraInputs
 
bool used
 
- Properties inherited from QcepDataObject
QString type
 
quint64 byteSize
 
QString creator
 
QString version
 
QString qtVersion
 
QString description
 
QString fileName
 
int objectSaved
 
- Properties inherited from QcepObject
QString name
 

Private Attributes

QMutex m_Mutex
 

Additional Inherited Members

- Signals inherited from QcepDataObject
void dataObjectChanged ()
 
- Protected Member Functions inherited from QcepDataObject
void mkPath (QString filePath)
 
QString uniqueFileName (QString name)
 

Detailed Description

Definition at line 23 of file qcepimagedata.h.

Member Enumeration Documentation

anonymous enum
Enumerator
UndefinedData 
Raw16Data 
Raw32Data 
DarkData 
MaskData 
SubtractedData 
GainData 
BadPixelsData 

Definition at line 215 of file qcepimagedata.h.

Constructor & Destructor Documentation

QcepImageDataBase::QcepImageDataBase ( QcepSettingsSaverWPtr  saver,
int  width,
int  height,
int  size,
QcepObject parent 
)

Definition at line 23 of file qcepimagedata.cpp.

References QcepAllocator::allocate(), DEBUG_IMAGE_CONSTRUCTORS, and qcepDebug().

24  : QcepDataObject(saver, tr("image"), size, parent),
25  m_Width(saver, this, "width", width, "Image Width"),
26  m_Height(saver, this, "height", height, "Image Height"),
27  m_HStart(saver, this, "hStart", 0.0, "H Start Coord"),
28  m_HStep(saver, this, "hStep", 1.0, "H Step"),
29  m_VStart(saver, this, "vStart", 0.0, "V Start Coord"),
30  m_VStep(saver, this, "vStep", 1.0, "V Step"),
31  m_HLabel(saver, this, "hLabel", "X", "H Label"),
32  m_HUnits(saver, this, "hUnits", "pix", "H Units"),
33  m_VLabel(saver, this, "vLabel", "Y", "V Label"),
34  m_VUnits(saver, this, "vUnits", "pix", "V Units"),
35  m_DataType(saver, this, "dataType", UndefinedData, "Data Type of Image"),
36  m_FileBase(saver, this, "fileBase", "", "File Base of Image"),
37  m_Title(saver, this, "title", "", "Title of Image"),
38  m_ReadoutMode(saver, this, "readoutMode", 0, "Image Readout Mode"),
39  m_ExposureTime(saver, this, "exposureTime", 0, "Image Exposure Time"),
40  m_SummedExposures(saver, this, "summedExposures", 0, "Summed Exposures in Image"),
41  m_ImageSequenceNumber(saver, this, "imageSequenceNumber", -1, "Image Sequence Number"),
42  m_ImageNumber(saver, this, "imageNumber", 0, "Image Number"),
43  m_PhaseNumber(saver, this, "phaseNumber", -1, "Image Phase Number"),
44  m_NPhases(saver, this, "nPhases", -1, "Number of Image Phases"),
45  m_DateTime(saver, this, "dateTime", QDateTime::currentDateTime(), "Image Creation Date and Time"),
46  m_TimeStamp(saver, this, "timeStamp", secondsSinceEpoch(), "Image creation time (secs after UNIX epoch)"),
47  m_HBinning(saver, this, "hBinning", 1, "Image Horizontal Binning Factor"),
48  m_VBinning(saver, this, "vBinning", 1, "Image Vertical Binning Factor"),
49  m_CameraGain(saver, this, "cameraGain", 0, "Image Detector Gain"),
50  m_Triggered(saver, this, "triggered", 0, "Triggered Flag"),
51  m_UserComment1(saver, this,"userComment1","", "User Comment 1"),
52  m_UserComment2(saver, this,"userComment2","", "User Comment 2"),
53  m_UserComment3(saver, this,"userComment3","", "User Comment 3"),
54  m_UserComment4(saver, this,"userComment4","", "User Comment 4"),
55  m_Normalization(saver, this, "normalization", QcepDoubleList(), "Normalization Values"),
56  m_ExtraInputs(saver, this, "extraInputs", QcepDoubleList(), "Extra Input Values"),
57  m_Used(saver, this, "used", true, "Image Used?"),
58  m_ImageCounter(allocCount.fetchAndAddOrdered(1)),
59  m_Mutex(QMutex::Recursive),
60  m_Saver(saver)
61 {
62  set_Type("Image");
63 
65  printf("QcepImageDataBase::QcepImageDataBase(%p)\n", this);
66  }
67 
69 }
QcepSettingsSaverWPtr m_Saver
qint64 qcepDebug(int cond)
Definition: qcepdebug.cpp:26
QcepDataObject(QcepSettingsSaverWPtr saver, QString name, int byteSize, QcepObject *parent)
QList< double > QcepDoubleList
Definition: qcepmacros.h:28
QAtomicInt allocCount
static void allocate(int sz, int width, int height)
static double secondsSinceEpoch()
QcepSettingsSaverWPtr saver()

Here is the call graph for this function:

QcepImageDataBase::~QcepImageDataBase ( )
virtual

Definition at line 71 of file qcepimagedata.cpp.

References QcepAllocator::deallocate(), DEBUG_IMAGE_CONSTRUCTORS, and qcepDebug().

72 {
74  printf("QcepImageDataBase::~QcepImageDataBase(%p)\n", this);
75 // QcepSettingsSaverPtr s(m_Saver);
76 
77 // if (s) {
78 // s->printMessage(tr("QcepImageDataBase::~QcepImageDataBase %1[%2]")
79 // .HEXARG(this).arg(m_ImageCounter));
80 // }
81  }
82 
83  QcepAllocator::deallocate(get_ByteSize());
84 }
static void deallocate(int sz, int width, int height)
qint64 qcepDebug(int cond)
Definition: qcepdebug.cpp:26

Here is the call graph for this function:

Member Function Documentation

virtual double QcepImageDataBase::averageInEllipse ( QRectF  rect)
pure virtualslot
virtual double QcepImageDataBase::averageInRectangle ( QRectF  rect)
pure virtualslot
virtual void QcepImageDataBase::clear ( )
pure virtualslot
void QcepImageDataBase::copyProperties ( QcepImageDataBase dest)

Definition at line 120 of file qcepimagedata.cpp.

References QcepObject::name.

Referenced by QcepImageData< T >::copyImage().

121 {
122  dest -> set_Type(get_Type());
123  dest -> set_Creator(get_Creator());
124  dest -> set_Version(get_Version());
125  dest -> set_QtVersion(get_QtVersion());
126  dest -> set_DataType(get_DataType());
127  dest -> set_FileBase(get_FileBase());
128  dest -> set_FileName(get_FileName());
129  dest -> set_Title(get_Title());
130  dest -> set_ReadoutMode(get_ReadoutMode());
131  dest -> set_ExposureTime(get_ExposureTime());
132  dest -> set_SummedExposures(get_SummedExposures());
133  dest -> set_ImageSequenceNumber(get_ImageSequenceNumber());
134  dest -> set_ImageNumber(get_ImageNumber());
135  dest -> set_PhaseNumber(get_PhaseNumber());
136  dest -> set_NPhases(get_NPhases());
137  dest -> set_DateTime(get_DateTime());
138  dest -> set_HBinning(get_HBinning());
139  dest -> set_VBinning(get_VBinning());
140  dest -> set_CameraGain(get_CameraGain());
141  dest -> set_Triggered(get_Triggered());
142  dest -> set_UserComment1(get_UserComment1());
143  dest -> set_UserComment2(get_UserComment2());
144  dest -> set_UserComment3(get_UserComment3());
145  dest -> set_UserComment4(get_UserComment4());
146  dest -> set_ObjectSaved(get_ObjectSaved());
147  dest -> set_Normalization(get_Normalization());
148  dest -> set_ExtraInputs(get_ExtraInputs());
149  dest -> set_Used(get_Used());
150 
151  QByteArray name;
152 
153  foreach(name, dynamicPropertyNames()) {
154  dest -> setProperty(name.data(), property(name.data()));
155  }
156 }
QString name
Definition: qcepobject.h:49

Here is the caller graph for this function:

void QcepImageDataBase::copyPropertiesFrom ( QSharedPointer< QcepImageDataBase src)

Definition at line 158 of file qcepimagedata.cpp.

References QcepObject::name.

Referenced by QcepImageData< T >::copyFrom().

159 {
160  set_Type(src -> get_Type());
161  set_Creator(src -> get_Creator());
162  set_Version(src -> get_Version());
163  set_QtVersion(src->get_QtVersion());
164  set_DataType(src -> get_DataType());
165  set_FileBase(src -> get_FileBase());
166  set_FileName(src -> get_FileName());
167  set_Title(src -> get_Title());
168  set_ReadoutMode(src -> get_ReadoutMode());
169  set_ExposureTime(src -> get_ExposureTime());
170  set_SummedExposures(src -> get_SummedExposures());
171  set_ImageSequenceNumber(src -> get_ImageSequenceNumber());
172  set_ImageNumber(src -> get_ImageNumber());
173  set_PhaseNumber(src -> get_PhaseNumber());
174  set_NPhases(src -> get_NPhases());
175  set_DateTime(src -> get_DateTime());
176  set_HBinning(src -> get_HBinning());
177  set_VBinning(src -> get_VBinning());
178  set_CameraGain(src -> get_CameraGain());
179  set_Triggered(src -> get_Triggered());
180  set_UserComment1(src -> get_UserComment1());
181  set_UserComment2(src -> get_UserComment2());
182  set_UserComment3(src -> get_UserComment3());
183  set_UserComment4(src -> get_UserComment4());
184  set_ObjectSaved(src -> get_ObjectSaved());
185  set_Normalization(src -> get_Normalization());
186  set_ExtraInputs(src -> get_ExtraInputs());
187  set_Used(src -> get_Used());
188 
189  QByteArray name;
190 
191  foreach(name, src -> dynamicPropertyNames()) {
192  setProperty(name.data(), src -> property(name.data()));
193  }
194 }
QString name
Definition: qcepobject.h:49

Here is the caller graph for this function:

QString QcepImageDataBase::description ( ) const
virtualslot

Definition at line 86 of file qcepimagedata.cpp.

87 {
88  return tr("[%1 x %2] elements").arg(get_Width()).arg(get_Height());
89 }
QString QcepImageDataBase::fileFormatCSV ( )

Definition at line 317 of file qcepimagedata.cpp.

Referenced by fileFormatFilterString(), and QcepImageData< T >::saveData().

318 {
319  return "CSV (*.csv)";
320 }

Here is the caller graph for this function:

QString QcepImageDataBase::fileFormatFilterString ( )
virtual

Reimplemented from QcepDataObject.

Definition at line 293 of file qcepimagedata.cpp.

References fileFormatCSV(), fileFormatTabDelimited(), fileFormatTIFF(), fileFormatTransposedCSV(), and fileFormatTransposedTabDelimited().

294 {
295  return fileFormatTIFF() + ";;" +
296  fileFormatTabDelimited() + ";;" +
298  fileFormatCSV() + ";;" +
300 }
QString fileFormatTransposedCSV()
QString fileFormatTIFF()
QString fileFormatTabDelimited()
QString fileFormatTransposedTabDelimited()

Here is the call graph for this function:

QString QcepImageDataBase::fileFormatTabDelimited ( )

Definition at line 307 of file qcepimagedata.cpp.

Referenced by fileFormatFilterString(), and QcepImageData< T >::saveData().

308 {
309  return "Tab delimited (*.txt.*.dat)";
310 }

Here is the caller graph for this function:

QString QcepImageDataBase::fileFormatTIFF ( )

Definition at line 302 of file qcepimagedata.cpp.

Referenced by fileFormatFilterString(), and QcepImageData< T >::saveData().

303 {
304  return "TIFF (*.tif, *.tiff)";
305 }

Here is the caller graph for this function:

QString QcepImageDataBase::fileFormatTransposedCSV ( )

Definition at line 322 of file qcepimagedata.cpp.

Referenced by fileFormatFilterString(), and QcepImageData< T >::saveData().

323 {
324  return "Transposed CSV (*.csv)";
325 }

Here is the caller graph for this function:

QString QcepImageDataBase::fileFormatTransposedTabDelimited ( )

Definition at line 312 of file qcepimagedata.cpp.

Referenced by fileFormatFilterString(), and QcepImageData< T >::saveData().

313 {
314  return "Transposed Tab delimited (*.txt,*.dat)";
315 }

Here is the caller graph for this function:

virtual void QcepImageDataBase::fill ( double  val)
pure virtualslot
QString QcepImageDataBase::get_DataTypeName ( ) const

Definition at line 263 of file qcepimagedata.cpp.

References BadPixelsData, DarkData, GainData, MaskData, Raw16Data, Raw32Data, SubtractedData, and UndefinedData.

264 {
265  switch (get_DataType()) {
266  default:
267  case UndefinedData:
268  return "Undefined";
269 
270  case Raw16Data:
271  return "16 Bit Raw Data";
272 
273  case Raw32Data:
274  return "32 Bit Raw Data";
275 
276  case DarkData:
277  return "Dark Data";
278 
279  case MaskData:
280  return "Mask Data";
281 
282  case SubtractedData:
283  return "Subtracted Data";
284 
285  case GainData:
286  return "Pixel Gain Data";
287 
288  case BadPixelsData:
289  return "Bad Pixel Data";
290  }
291 }
QString QcepImageDataBase::get_DateString ( ) const
inline

Definition at line 186 of file qcepimagedata.h.

187  {
188  return get_DateTime().toString(tr("yyyy.MM.dd : hh:mm:ss.zzz"));
189  }
virtual double QcepImageDataBase::getImageData ( int  x,
int  y 
) const
pure virtualslot

Implemented in QcepImageData< T >, and QcepImageData< short >.

Referenced by saveTextData(), and QcepImageSliceGraphController::updateDisplay().

Here is the caller graph for this function:

virtual QVector<double> QcepImageDataBase::getImageData ( int  x0,
int  y0,
int  x1,
int  y1 
) const
pure virtualslot
double QcepImageDataBase::hValue ( int  n) const
slot

Definition at line 327 of file qcepimagedata.cpp.

328 {
329  return get_HStart() + n*get_HStep();
330 }
void QcepImageDataBase::loadMetaData ( )

Definition at line 196 of file qcepimagedata.cpp.

References mutex(), and QcepProperty::readSettings().

197 {
198 // printf("QcepImageDataBase::loadMetaData for file %s\n", qPrintable(get_FileName()));
199 
200  QTime tic;
201  tic.start();
202 
203  {
204  set_Creator("Unknown");
205  set_Version("Unknown");
206  set_QtVersion("Unknown");
207 
208  QcepMutexLocker lock(__FILE__, __LINE__, mutex());
209 
210  QSettings settings(get_FileName()+".metadata", QSettings::IniFormat);
211 
212  QcepProperty::readSettings(this, &settings, "metadata");
213 
214  if (settings.contains("metadata/qxrdVersion")) {
215  set_Creator("QXRD");
216  set_Version(settings.value("metadata/qxrdVersion").toString());
217  }
218  }
219 //
220 // printf("QcepImageDataBase::loadMetaData for file %s took %d msec\n", qPrintable(get_FileName()), tic.elapsed());
221 }
static void readSettings(QObject *object, QSettings *settings, QString section)

Here is the call graph for this function:

virtual double QcepImageDataBase::maxInEllipse ( QRectF  rect)
pure virtualslot
virtual double QcepImageDataBase::maxInRectangle ( QRectF  rect)
pure virtualslot
virtual double QcepImageDataBase::maxValue ( ) const
pure virtualslot
virtual double QcepImageDataBase::minInEllipse ( QRectF  rect)
pure virtualslot
virtual double QcepImageDataBase::minInRectangle ( QRectF  rect)
pure virtualslot
virtual double QcepImageDataBase::minValue ( ) const
pure virtualslot
QMutex * QcepImageDataBase::mutex ( )

Definition at line 115 of file qcepimagedata.cpp.

References m_Mutex.

Referenced by loadMetaData(), saveMetaData(), and QcepImageData< T >::subtractDark().

116 {
117  return &m_Mutex;
118 }

Here is the caller graph for this function:

virtual QPointF QcepImageDataBase::percentileRange ( double  lowpct,
double  highpct 
)
pure virtualslot
void QcepImageDataBase::printMessage ( QString  msg,
QDateTime  ts = QDateTime::currentDateTime() 
) const
slot

Definition at line 91 of file qcepimagedata.cpp.

References m_Saver.

Referenced by QcepImageData< T >::QcepImageData(), QcepImageData< T >::subtractDark(), and QcepImageData< T >::~QcepImageData().

92 {
94 
95  if (s) {
96  s->printMessage(msg, ts);
97  } else {
98  printf("%s\n", qPrintable(msg));
99  }
100 }
QcepSettingsSaverWPtr m_Saver
QSharedPointer< QcepSettingsSaver > QcepSettingsSaverPtr

Here is the caller graph for this function:

virtual void QcepImageDataBase::resize ( int  width,
int  height 
)
pure virtualslot
void QcepImageDataBase::saveMetaData ( )

Definition at line 223 of file qcepimagedata.cpp.

Referenced by QcepImageData< T >::saveTIFFData().

224 {
225  saveMetaData(get_FileName());
226 }

Here is the caller graph for this function:

void QcepImageDataBase::saveMetaData ( QString  name)

Definition at line 228 of file qcepimagedata.cpp.

References mutex(), and QcepProperty::writeSettings().

229 {
230 // printf("QcepImageDataBase::saveMetaData for file %s\n", qPrintable(name));
231 
232  QTime tic;
233  tic.start();
234 
235 // printf("type 266 = %s\n", QMetaType::typeName(266));
236 
237  {
238  QcepMutexLocker lock(__FILE__, __LINE__, mutex());
239 
240  QSettings settings(name+".metadata", QSettings::IniFormat);
241 
242  QcepProperty::writeSettings(this, &settings, "metadata");
243 
244  settings.beginWriteArray("normalization");
245  QcepDoubleList norm = get_Normalization();
246 
247  for (int i=0; i<norm.length(); i++) {
248  settings.setArrayIndex(i);
249  settings.setValue("val",norm[i]);
250  }
251  settings.endArray();
252  }
253 //
254 // printf("QcepImageDataBase::saveMetaData for file %s took %d msec\n", qPrintable(name), tic.elapsed());
255 }
static void writeSettings(QObject *object, QSettings *settings, QString section)
QList< double > QcepDoubleList
Definition: qcepmacros.h:28
QString name
Definition: qcepobject.h:49

Here is the call graph for this function:

void QcepImageDataBase::saveTextData ( QString  name,
QString  sep,
bool  transp = false 
)

Definition at line 1315 of file qcepimagedata.cpp.

References getImageData(), and QcepImageData< T >::value().

Referenced by QcepImageData< T >::saveData().

1316 {
1317  FILE *f = fopen(qPrintable(name), "w+");
1318 
1319  if (f) {
1320  const QMetaObject *meta = metaObject();
1321 
1322  int count = meta->propertyCount();
1323  int offset = QObject::staticMetaObject.propertyOffset();
1324 
1325  for (int i=offset; i<count; i++) {
1326  QMetaProperty metaproperty = meta->property(i);
1327  const char *name = metaproperty.name();
1328  QVariant value = property(name);
1329 
1330  fprintf(f, "#%s = %s\n", name, qPrintable(value.toString()));
1331  }
1332 
1333  foreach (QByteArray name, dynamicPropertyNames()) {
1334  QVariant value = property(name);
1335 
1336  fprintf(f, "#%s = %s\n", name.data(), qPrintable(value.toString()));
1337  }
1338 
1339  int nrows = get_Height();
1340  int ncols = get_Width();
1341 
1342  if (transp == false) {
1343  for (int y=0; y<nrows; y++) {
1344  for (int x=0; x<ncols; x++) {
1345  if (x == 0) {
1346  fprintf(f, "%g", getImageData(x,y));
1347  } else {
1348  fprintf(f, "%s%g", qPrintable(sep), getImageData(x,y));
1349  }
1350  }
1351  fprintf(f, "\n");
1352  }
1353  } else { // Transposed
1354  for (int y=0; y<ncols; y++) {
1355  for (int x=0; x<nrows; x++) {
1356  if (x == 0) {
1357  fprintf(f, "%g", getImageData(y,x));
1358  } else {
1359  fprintf(f, "%s%g", qPrintable(sep), getImageData(y,x));
1360  }
1361  }
1362  fprintf(f, "\n");
1363  }
1364  }
1365 
1366  fclose(f);
1367  }
1368 }
virtual double getImageData(int x, int y) const =0
QString name
Definition: qcepobject.h:49

Here is the call graph for this function:

Here is the caller graph for this function:

double QcepImageDataBase::secondsSinceEpoch ( )
static

Definition at line 102 of file qcepimagedata.cpp.

Referenced by QxrdAcquisition::processImage(), QCEP_DOC_FUNCTION(), and QxrdDetectorProcessor::setAcquiredImageProperties().

103 {
104 #if QT_VERSION >= 0x040700
105  return QDateTime::currentMSecsSinceEpoch()/1000.0;
106 #else
107  QDateTime dt = QDateTime::currentDateTime();
108  time_t dt_t = dt.toTime_t();
109  int msec = dt.time().msec();
110 
111  return ((double) dt_t) + msec/1000.0;
112 #endif
113 }

Here is the caller graph for this function:

void QcepImageDataBase::set_DataTypeName ( QString  )
inline

Definition at line 194 of file qcepimagedata.h.

194 {}
void QcepImageDataBase::set_DateString ( QString  )
inline

Definition at line 191 of file qcepimagedata.h.

191 {}
void QcepImageDataBase::setDefaultFileName ( QString  path)

Definition at line 257 of file qcepimagedata.cpp.

References QcepDataObject::fileName.

258 {
259  set_FileName(path);
260  set_Title(QFileInfo(path).fileName());
261 }
virtual void QcepImageDataBase::setImageData ( int  x,
int  y,
double  v 
)
pure virtualslot
virtual double QcepImageDataBase::sumInEllipse ( QRectF  rect)
pure virtualslot
virtual double QcepImageDataBase::sumInPeak ( QRectF  rect)
pure virtualslot
virtual double QcepImageDataBase::sumInRectangle ( QRectF  rect)
pure virtualslot
double QcepImageDataBase::vValue ( int  n) const
slot

Definition at line 332 of file qcepimagedata.cpp.

333 {
334  return get_VStart() + n*get_VStep();
335 }

Member Data Documentation

int QcepImageDataBase::m_ImageCounter
protected

Definition at line 229 of file qcepimagedata.h.

QMutex QcepImageDataBase::m_Mutex
mutableprivate

Definition at line 234 of file qcepimagedata.h.

Referenced by mutex().

QcepSettingsSaverWPtr QcepImageDataBase::m_Saver
protected

Definition at line 237 of file qcepimagedata.h.

Referenced by printMessage().

Property Documentation

double QcepImageDataBase::cameraGain
readwrite

Definition at line 108 of file qcepimagedata.h.

int QcepImageDataBase::dataType
readwrite

Definition at line 61 of file qcepimagedata.h.

QString QcepImageDataBase::dataTypeName
readwrite

Definition at line 64 of file qcepimagedata.h.

QString QcepImageDataBase::dateString
readwrite

Definition at line 96 of file qcepimagedata.h.

QDateTime QcepImageDataBase::dateTime
readwrite

Definition at line 93 of file qcepimagedata.h.

double QcepImageDataBase::exposureTime
readwrite

Definition at line 75 of file qcepimagedata.h.

QcepDoubleList QcepImageDataBase::extraInputs
readwrite

Definition at line 129 of file qcepimagedata.h.

QString QcepImageDataBase::fileBase
readwrite

Definition at line 66 of file qcepimagedata.h.

Referenced by QcepImageData< T >::readImage().

int QcepImageDataBase::hBinning
readwrite

Definition at line 102 of file qcepimagedata.h.

int QcepImageDataBase::height
readwrite
QString QcepImageDataBase::hLabel
readwrite

Definition at line 49 of file qcepimagedata.h.

double QcepImageDataBase::hStart
readwrite

Definition at line 37 of file qcepimagedata.h.

double QcepImageDataBase::hStep
readwrite

Definition at line 40 of file qcepimagedata.h.

QString QcepImageDataBase::hUnits
readwrite

Definition at line 52 of file qcepimagedata.h.

int QcepImageDataBase::imageNumber
readwrite

Definition at line 84 of file qcepimagedata.h.

int QcepImageDataBase::imageSequenceNumber
readwrite

Definition at line 81 of file qcepimagedata.h.

QcepDoubleList QcepImageDataBase::normalization
readwrite

Definition at line 126 of file qcepimagedata.h.

int QcepImageDataBase::nPhases
readwrite

Definition at line 90 of file qcepimagedata.h.

int QcepImageDataBase::phaseNumber
readwrite

Definition at line 87 of file qcepimagedata.h.

int QcepImageDataBase::readoutMode
readwrite

Definition at line 72 of file qcepimagedata.h.

int QcepImageDataBase::summedExposures
readwrite

Definition at line 78 of file qcepimagedata.h.

double QcepImageDataBase::timeStamp
readwrite

Definition at line 99 of file qcepimagedata.h.

QString QcepImageDataBase::title
readwrite

Definition at line 69 of file qcepimagedata.h.

int QcepImageDataBase::triggered
readwrite

Definition at line 111 of file qcepimagedata.h.

bool QcepImageDataBase::used
readwrite

Definition at line 132 of file qcepimagedata.h.

QString QcepImageDataBase::userComment1
readwrite

Definition at line 114 of file qcepimagedata.h.

QString QcepImageDataBase::userComment2
readwrite

Definition at line 117 of file qcepimagedata.h.

QString QcepImageDataBase::userComment3
readwrite

Definition at line 120 of file qcepimagedata.h.

QString QcepImageDataBase::userComment4
readwrite

Definition at line 123 of file qcepimagedata.h.

int QcepImageDataBase::vBinning
readwrite

Definition at line 105 of file qcepimagedata.h.

QString QcepImageDataBase::vLabel
readwrite

Definition at line 55 of file qcepimagedata.h.

double QcepImageDataBase::vStart
readwrite

Definition at line 43 of file qcepimagedata.h.

double QcepImageDataBase::vStep
readwrite

Definition at line 46 of file qcepimagedata.h.

QString QcepImageDataBase::vUnits
readwrite

Definition at line 58 of file qcepimagedata.h.

int QcepImageDataBase::width
readwrite

The documentation for this class was generated from the following files: