From 9c1bc262e5fe6e43a25b940920a0bf7f41b1baa3 Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Wed, 16 Mar 2022 16:09:50 +0100 Subject: [PATCH] added geometry to master file --- slsReceiverSoftware/src/Implementation.cpp | 6 ++++++ slsReceiverSoftware/src/MasterAttributes.cpp | 20 ++++++++++++++++++-- slsReceiverSoftware/src/MasterAttributes.h | 1 + slsReceiverSoftware/src/receiver_defs.h | 4 ++-- 4 files changed, 27 insertions(+), 4 deletions(-) diff --git a/slsReceiverSoftware/src/Implementation.cpp b/slsReceiverSoftware/src/Implementation.cpp index b5d6b31ef..bf3df34be 100644 --- a/slsReceiverSoftware/src/Implementation.cpp +++ b/slsReceiverSoftware/src/Implementation.cpp @@ -784,6 +784,12 @@ void Implementation::SetupWriter() { } masterAttributes->detType = detType; masterAttributes->timingMode = timingMode; + xy nm{numModules.x, numModules.y}; + if (quadEnable) { + nm.x = 1; + nm.y = 2; + } + masterAttributes->geometry = xy(nm.x, nm.y); masterAttributes->imageSize = generalData->imageSize; masterAttributes->nPixels = xy(generalData->nPixelsX, generalData->nPixelsY); diff --git a/slsReceiverSoftware/src/MasterAttributes.cpp b/slsReceiverSoftware/src/MasterAttributes.cpp index cae3668cf..447495fce 100644 --- a/slsReceiverSoftware/src/MasterAttributes.cpp +++ b/slsReceiverSoftware/src/MasterAttributes.cpp @@ -15,6 +15,7 @@ std::string MasterAttributes::GetBinaryMasterAttributes() { << "TimeStamp : " << ctime(&t) << '\n' << "Detector Type : " << sls::ToString(detType) << '\n' << "Timing Mode : " << sls::ToString(timingMode) << '\n' + << "Geometry : " << sls::ToString(geometry) << '\n' << "Image Size : " << imageSize << " bytes" << '\n' << "Pixels : " << sls::ToString(nPixels) << '\n' << "Max Frames Per File : " << maxFramesPerFile << '\n' @@ -118,6 +119,21 @@ void MasterAttributes::WriteHDF5Attributes(H5File *fd, Group *group) { sls::strcpy_safe(c, sls::ToString(timingMode)); dataset.write(c, strdatatype); } + //TODO: make this into an array? + // geometry x + { + DataSpace dataspace = DataSpace(H5S_SCALAR); + DataSet dataset = group->createDataSet( + "Geometry in x axis", PredType::NATIVE_INT, dataspace); + dataset.write(&geometry.x, PredType::NATIVE_INT); + } + // geometry y + { + DataSpace dataspace = DataSpace(H5S_SCALAR); + DataSet dataset = group->createDataSet( + "Geometry in y axis", PredType::NATIVE_INT, dataspace); + dataset.write(&geometry.y, PredType::NATIVE_INT); + } // Image Size { DataSpace dataspace = DataSpace(H5S_SCALAR); @@ -132,14 +148,14 @@ void MasterAttributes::WriteHDF5Attributes(H5File *fd, Group *group) { attribute.write(strdatatype, c); } //TODO: make this into an array? - // x + // npixels x { DataSpace dataspace = DataSpace(H5S_SCALAR); DataSet dataset = group->createDataSet( "Number of pixels in x axis", PredType::NATIVE_INT, dataspace); dataset.write(&nPixels.x, PredType::NATIVE_INT); } - // y + // npixels y { DataSpace dataspace = DataSpace(H5S_SCALAR); DataSet dataset = group->createDataSet( diff --git a/slsReceiverSoftware/src/MasterAttributes.h b/slsReceiverSoftware/src/MasterAttributes.h index f12e17f99..945ac7756 100644 --- a/slsReceiverSoftware/src/MasterAttributes.h +++ b/slsReceiverSoftware/src/MasterAttributes.h @@ -22,6 +22,7 @@ class MasterAttributes { // (before acquisition) slsDetectorDefs::detectorType detType{slsDetectorDefs::GENERIC}; slsDetectorDefs::timingMode timingMode{slsDetectorDefs::AUTO_TIMING}; + slsDetectorDefs::xy geometry{}; uint32_t imageSize{0}; slsDetectorDefs::xy nPixels{}; uint32_t maxFramesPerFile{0}; diff --git a/slsReceiverSoftware/src/receiver_defs.h b/slsReceiverSoftware/src/receiver_defs.h index 7e1982d62..53cc31d2f 100644 --- a/slsReceiverSoftware/src/receiver_defs.h +++ b/slsReceiverSoftware/src/receiver_defs.h @@ -17,8 +17,8 @@ // files // versions -#define HDF5_WRITER_VERSION (6.3) // 1 decimal places -#define BINARY_WRITER_VERSION (6.3) // 1 decimal places +#define HDF5_WRITER_VERSION (6.4) // 1 decimal places +#define BINARY_WRITER_VERSION (6.4) // 1 decimal places #define MAX_FRAMES_PER_FILE 20000 #define SHORT_MAX_FRAMES_PER_FILE 100000