added geometry to master file

This commit is contained in:
maliakal_d 2022-03-16 16:09:50 +01:00
parent c17914e0a1
commit 9c1bc262e5
4 changed files with 27 additions and 4 deletions

View File

@ -784,6 +784,12 @@ void Implementation::SetupWriter() {
} }
masterAttributes->detType = detType; masterAttributes->detType = detType;
masterAttributes->timingMode = timingMode; 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->imageSize = generalData->imageSize;
masterAttributes->nPixels = masterAttributes->nPixels =
xy(generalData->nPixelsX, generalData->nPixelsY); xy(generalData->nPixelsX, generalData->nPixelsY);

View File

@ -15,6 +15,7 @@ std::string MasterAttributes::GetBinaryMasterAttributes() {
<< "TimeStamp : " << ctime(&t) << '\n' << "TimeStamp : " << ctime(&t) << '\n'
<< "Detector Type : " << sls::ToString(detType) << '\n' << "Detector Type : " << sls::ToString(detType) << '\n'
<< "Timing Mode : " << sls::ToString(timingMode) << '\n' << "Timing Mode : " << sls::ToString(timingMode) << '\n'
<< "Geometry : " << sls::ToString(geometry) << '\n'
<< "Image Size : " << imageSize << " bytes" << '\n' << "Image Size : " << imageSize << " bytes" << '\n'
<< "Pixels : " << sls::ToString(nPixels) << '\n' << "Pixels : " << sls::ToString(nPixels) << '\n'
<< "Max Frames Per File : " << maxFramesPerFile << '\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)); sls::strcpy_safe(c, sls::ToString(timingMode));
dataset.write(c, strdatatype); 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 // Image Size
{ {
DataSpace dataspace = DataSpace(H5S_SCALAR); DataSpace dataspace = DataSpace(H5S_SCALAR);
@ -132,14 +148,14 @@ void MasterAttributes::WriteHDF5Attributes(H5File *fd, Group *group) {
attribute.write(strdatatype, c); attribute.write(strdatatype, c);
} }
//TODO: make this into an array? //TODO: make this into an array?
// x // npixels x
{ {
DataSpace dataspace = DataSpace(H5S_SCALAR); DataSpace dataspace = DataSpace(H5S_SCALAR);
DataSet dataset = group->createDataSet( DataSet dataset = group->createDataSet(
"Number of pixels in x axis", PredType::NATIVE_INT, dataspace); "Number of pixels in x axis", PredType::NATIVE_INT, dataspace);
dataset.write(&nPixels.x, PredType::NATIVE_INT); dataset.write(&nPixels.x, PredType::NATIVE_INT);
} }
// y // npixels y
{ {
DataSpace dataspace = DataSpace(H5S_SCALAR); DataSpace dataspace = DataSpace(H5S_SCALAR);
DataSet dataset = group->createDataSet( DataSet dataset = group->createDataSet(

View File

@ -22,6 +22,7 @@ class MasterAttributes {
// (before acquisition) // (before acquisition)
slsDetectorDefs::detectorType detType{slsDetectorDefs::GENERIC}; slsDetectorDefs::detectorType detType{slsDetectorDefs::GENERIC};
slsDetectorDefs::timingMode timingMode{slsDetectorDefs::AUTO_TIMING}; slsDetectorDefs::timingMode timingMode{slsDetectorDefs::AUTO_TIMING};
slsDetectorDefs::xy geometry{};
uint32_t imageSize{0}; uint32_t imageSize{0};
slsDetectorDefs::xy nPixels{}; slsDetectorDefs::xy nPixels{};
uint32_t maxFramesPerFile{0}; uint32_t maxFramesPerFile{0};

View File

@ -17,8 +17,8 @@
// files // files
// versions // versions
#define HDF5_WRITER_VERSION (6.3) // 1 decimal places #define HDF5_WRITER_VERSION (6.4) // 1 decimal places
#define BINARY_WRITER_VERSION (6.3) // 1 decimal places #define BINARY_WRITER_VERSION (6.4) // 1 decimal places
#define MAX_FRAMES_PER_FILE 20000 #define MAX_FRAMES_PER_FILE 20000
#define SHORT_MAX_FRAMES_PER_FILE 100000 #define SHORT_MAX_FRAMES_PER_FILE 100000