QXRD  0.11.16
qxrdfilesaver.h
Go to the documentation of this file.
1 #ifndef QXRDFILESAVER_H
2 #define QXRDFILESAVER_H
3 
4 #include "qcepmacros.h"
5 
6 #include <QObject>
7 #include <QReadWriteLock>
8 #include <QAtomicInt>
9 #include <QWaitCondition>
10 
11 #include "qcepproperty.h"
12 
13 #include "qcepallocator-ptr.h"
14 #include "qxrddataprocessor-ptr.h"
15 #include "qxrdacquisition-ptr.h"
16 #include "qcepimagedata.h"
17 #include "qcepimagedata-ptr.h"
18 #include "qcepmaskdata.h"
19 #include "qcepmaskdata-ptr.h"
20 #include "qcepintegrateddata.h"
21 #include "qcepintegrateddata-ptr.h"
22 #include "qxrdexperiment-ptr.h"
23 
24 class QxrdFileSaver : public QObject
25 {
26  Q_OBJECT
27 
28 public:
31 
35 
36 public:
37  enum {
40  };
41 
42 public slots:
43  void saveImageData(QString name, QcepImageDataBasePtr image, QcepMaskDataPtr overflow, int canOverwrite);
44  void saveDoubleData(QString name, QcepDoubleImageDataPtr image, QcepMaskDataPtr overflow, int canOverwrite);
45  void saveInt32Data(QString name, QcepInt32ImageDataPtr image, QcepMaskDataPtr overflow, int canOverwrite);
46  void saveInt16Data(QString name, QcepInt16ImageDataPtr image, QcepMaskDataPtr overflow, int canOverwrite);
47  void saveMaskData(QString name, QcepMaskDataPtr image, int canOverwrite);
48  void saveRaw32Data(QString name, QcepInt32ImageDataPtr image, QcepMaskDataPtr overflow, int canOverwrite);
49  void saveRaw16Data(QString name, QcepInt16ImageDataPtr image, QcepMaskDataPtr overflow, int canOverwrite);
50  void saveTextData(QString name, QcepDoubleImageDataPtr image, QcepMaskDataPtr overflow, int canOverwrite);
51  void writeOutputScan(FILE* logFile, QcepIntegratedDataPtr data, QString fileName = QString());
52  void writeOutputScan(QString dir, QcepIntegratedDataPtr data, QString fileName = QString());
53 
54 private slots:
55  void saveImageDataPrivate(QString name, QcepImageDataBasePtr image, QcepMaskDataPtr overflow, int canOverwrite);
56  void saveDoubleDataPrivate(QString name, QcepDoubleImageDataPtr image, QcepMaskDataPtr overflow, int canOverwrite);
57  void saveMaskDataPrivate(QString name, QcepMaskDataPtr image, int canOverwrite);
58  void saveRaw32DataPrivate(QString name, QcepInt32ImageDataPtr image, QcepMaskDataPtr overflow, int canOverwrite);
59  void saveRaw16DataPrivate(QString name, QcepInt16ImageDataPtr image, QcepMaskDataPtr overflow, int canOverwrite);
60  void saveTextDataPrivate(QString name, QcepDoubleImageDataPtr image, QcepMaskDataPtr overflow, int canOverwrite);
61  void writeOutputScanPrivate(FILE* logFile, QcepIntegratedDataPtr data, QString fileName = QString());
62  void writeOutputScanPrivate(QString dir, QcepIntegratedDataPtr data, QString fileName = QString());
63 
64 private:
65  void mkPath(QString filePath);
66  QString uniqueFileName(QString name);
69  void saveOverflowData(QString name, QcepMaskDataPtr overflow);
70 
71  void incBacklog();
72  void decBacklog();
73 
74 private:
79 };
80 
81 typedef QSharedPointer<QxrdFileSaver> QxrdFileSaverPtr;
82 typedef QWeakPointer<QxrdFileSaver> QxrdFileSaverWPtr;
83 
84 #endif
void writeOutputScanPrivate(FILE *logFile, QcepIntegratedDataPtr data, QString fileName=QString())
QxrdDataProcessorWPtr m_Processor
Definition: qxrdfilesaver.h:76
QxrdExperimentWPtr experiment() const
void saveOverflowData(QString name, QcepMaskDataPtr overflow)
QWeakPointer< QxrdDataProcessor > QxrdDataProcessorWPtr
QxrdFileSaver(QcepAllocatorWPtr allocator)
void saveRaw16DataPrivate(QString name, QcepInt16ImageDataPtr image, QcepMaskDataPtr overflow, int canOverwrite)
QSharedPointer< QxrdFileSaver > QxrdFileSaverPtr
Definition: qxrdfilesaver.h:81
QxrdAcquisitionWPtr acquisition() const
void saveInt32Data(QString name, QcepInt32ImageDataPtr image, QcepMaskDataPtr overflow, int canOverwrite)
QxrdExperimentWPtr m_Experiment
Definition: qxrdfilesaver.h:75
void saveRaw32DataPrivate(QString name, QcepInt32ImageDataPtr image, QcepMaskDataPtr overflow, int canOverwrite)
void mkPath(QString filePath)
QWeakPointer< QxrdExperiment > QxrdExperimentWPtr
QSharedPointer< QcepIntegratedData > QcepIntegratedDataPtr
void saveDoubleData(QString name, QcepDoubleImageDataPtr image, QcepMaskDataPtr overflow, int canOverwrite)
QString uniqueFileName(QString name)
QcepAllocatorWPtr m_Allocator
Definition: qxrdfilesaver.h:77
void saveTextDataPrivate(QString name, QcepDoubleImageDataPtr image, QcepMaskDataPtr overflow, int canOverwrite)
void saveTextData(QString name, QcepDoubleImageDataPtr image, QcepMaskDataPtr overflow, int canOverwrite)
QxrdAcquisitionWPtr m_Acquisition
Definition: qxrdfilesaver.h:78
void saveRaw16Data(QString name, QcepInt16ImageDataPtr image, QcepMaskDataPtr overflow, int canOverwrite)
QWeakPointer< QcepAllocator > QcepAllocatorWPtr
void saveRaw32Data(QString name, QcepInt32ImageDataPtr image, QcepMaskDataPtr overflow, int canOverwrite)
void saveDoubleDataPrivate(QString name, QcepDoubleImageDataPtr image, QcepMaskDataPtr overflow, int canOverwrite)
void saveImageData(QString name, QcepImageDataBasePtr image, QcepMaskDataPtr overflow, int canOverwrite)
void saveMaskData(QString name, QcepMaskDataPtr image, int canOverwrite)
QWeakPointer< QxrdAcquisition > QxrdAcquisitionWPtr
QSharedPointer< QcepInt32ImageData > QcepInt32ImageDataPtr
void writeOutputScan(FILE *logFile, QcepIntegratedDataPtr data, QString fileName=QString())
void setProcessor(QxrdDataProcessorWPtr proc)
QSharedPointer< QcepImageDataBase > QcepImageDataBasePtr
QSharedPointer< QcepInt16ImageData > QcepInt16ImageDataPtr
QSharedPointer< QcepMaskData > QcepMaskDataPtr
void saveImageDataPrivate(QString name, QcepImageDataBasePtr image, QcepMaskDataPtr overflow, int canOverwrite)
QWeakPointer< QxrdFileSaver > QxrdFileSaverWPtr
Definition: qxrdfilesaver.h:82
void saveMaskDataPrivate(QString name, QcepMaskDataPtr image, int canOverwrite)
void setExperiment(QxrdExperimentWPtr expt)
void setAcquisition(QxrdAcquisitionWPtr acq)
void saveInt16Data(QString name, QcepInt16ImageDataPtr image, QcepMaskDataPtr overflow, int canOverwrite)
QSharedPointer< QcepDoubleImageData > QcepDoubleImageDataPtr