From c724756b5f9476820bb156865ad59c0e12499861 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Thu, 10 Aug 2017 17:33:32 +0200 Subject: [PATCH] included subexptime in metadata for hdf5 --- slsReceiverSoftware/include/HDF5File.h | 3 ++- slsReceiverSoftware/include/HDF5FileStatic.h | 9 ++++++++- slsReceiverSoftware/src/HDF5File.cpp | 4 ++-- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/slsReceiverSoftware/include/HDF5File.h b/slsReceiverSoftware/include/HDF5File.h index 042927404..16d0300c1 100644 --- a/slsReceiverSoftware/include/HDF5File.h +++ b/slsReceiverSoftware/include/HDF5File.h @@ -102,11 +102,12 @@ class HDF5File : private virtual slsReceiverDefs, public File, public HDF5FileSt * @param nx number of pixels in x direction * @param ny number of pixels in y direction * @param at acquisition time + * @param at sub exposure time * @param ap acquisition period * @returns OK or FAIL */ int CreateMasterFile(bool en, uint32_t size, - uint32_t nx, uint32_t ny, uint64_t at, uint64_t ap); + uint32_t nx, uint32_t ny, uint64_t at, uint64_t st, uint64_t ap); /** * End of Acquisition diff --git a/slsReceiverSoftware/include/HDF5FileStatic.h b/slsReceiverSoftware/include/HDF5FileStatic.h index 15078dabf..e8dbe2ba1 100644 --- a/slsReceiverSoftware/include/HDF5FileStatic.h +++ b/slsReceiverSoftware/include/HDF5FileStatic.h @@ -231,13 +231,14 @@ public: * @param ny number of pixels in y direction * @param nf number of images * @param acquisitionTime acquisition time + * @param subexposuretime sub exposure time * @param acquisitionPeriod acquisition period * @param version version of software for hdf5 writing * @returns 0 for success and 1 for fail */ static int CreateMasterDataFile(H5File*& fd, string fname, bool owenable, uint32_t dr, bool tenE, uint32_t size, uint32_t nPixelsx, uint32_t nPixelsy, uint64_t nf, - uint64_t acquisitionTime, uint64_t acquisitionPeriod, double version) + uint64_t acquisitionTime, uint64_t subexposuretime, uint64_t acquisitionPeriod, double version) { try { Exception::dontPrint(); //to handle errors @@ -306,6 +307,12 @@ public: attribute = dataset.createAttribute("unit",strdatatype, dataspace); attribute.write(strdatatype, string("ns")); + //SubExptime + dataset = group5.createDataSet ( "sub exposure time", PredType::STD_U64LE, dataspace ); + dataset.write ( &subexposuretime, PredType::STD_U64LE); + attribute = dataset.createAttribute("unit",strdatatype, dataspace); + attribute.write(strdatatype, string("ns")); + //Period dataset = group5.createDataSet ( "acquisition period", PredType::STD_U64LE, dataspace ); dataset.write ( &acquisitionPeriod, PredType::STD_U64LE); diff --git a/slsReceiverSoftware/src/HDF5File.cpp b/slsReceiverSoftware/src/HDF5File.cpp index 4e8c14b0c..92035d207 100644 --- a/slsReceiverSoftware/src/HDF5File.cpp +++ b/slsReceiverSoftware/src/HDF5File.cpp @@ -181,7 +181,7 @@ int HDF5File::WriteToFile(char* buffer, int buffersize, uint64_t fnum, uint32_t int HDF5File::CreateMasterFile(bool en, uint32_t size, - uint32_t nx, uint32_t ny, uint64_t at, uint64_t ap) { + uint32_t nx, uint32_t ny, uint64_t at, uint64_t st, uint64_t ap) { //beginning of every acquisition numFramesInFile = 0; @@ -193,7 +193,7 @@ int HDF5File::CreateMasterFile(bool en, uint32_t size, FILE_LOG(logINFO) << "Master File: " << masterFileName; pthread_mutex_lock(&Mutex); int ret = HDF5FileStatic::CreateMasterDataFile(masterfd, masterFileName, *overWriteEnable, - *dynamicRange, en, size, nx, ny, *numImages, at, ap, HDF5_WRITER_VERSION); + *dynamicRange, en, size, nx, ny, *numImages, at, st, ap, HDF5_WRITER_VERSION); pthread_mutex_unlock(&Mutex); return ret; }