Make integrated format more robust
This commit is contained in:
@@ -46,7 +46,7 @@ HDF5DataFile::HDF5DataFile(const StartMessage &msg, uint64_t in_file_number) {
|
||||
}
|
||||
tmp_filename = fmt::format("{}.{:08x}.tmp", filename, tmp_suffix);
|
||||
plugins.emplace_back(std::make_unique<HDF5DataFilePluginROI>());
|
||||
plugins.emplace_back(std::make_unique<HDF5DataFilePluginDetector>());
|
||||
plugins.emplace_back(std::make_unique<HDF5DataFilePluginDetector>(msg));
|
||||
plugins.emplace_back(std::make_unique<HDF5DataFilePluginAzInt>(msg));
|
||||
plugins.emplace_back(std::make_unique<HDF5DataFilePluginXFEL>());
|
||||
plugins.emplace_back(std::make_unique<HDF5DataFilePluginMX>(msg));
|
||||
@@ -102,7 +102,7 @@ HDF5DataFile::~HDF5DataFile() {
|
||||
}
|
||||
}
|
||||
|
||||
void HDF5DataFile::CreateFile(const DataMessage& msg, std::shared_ptr<HDF5File> in_data_file) {
|
||||
void HDF5DataFile::CreateFile(const DataMessage& msg, std::shared_ptr<HDF5File> in_data_file, bool integrated) {
|
||||
HDF5Dcpl dcpl;
|
||||
|
||||
HDF5DataType data_type(msg.image.GetMode());
|
||||
@@ -135,8 +135,10 @@ void HDF5DataFile::CreateFile(const DataMessage& msg, std::shared_ptr<HDF5File>
|
||||
HDF5Group(*data_file, "/entry").NXClass("NXentry");
|
||||
HDF5Group(*data_file, "/entry/data").NXClass("NXdata");
|
||||
|
||||
const std::string dataset_name = integrated ? "/entry/data/data_000001" : "/entry/data/data";
|
||||
|
||||
HDF5DataSpace data_space({1, ypixel, xpixel}, {H5S_UNLIMITED, ypixel, xpixel});
|
||||
data_set = std::make_unique<HDF5DataSet>(*data_file, "/entry/data/data", data_type, data_space, dcpl);
|
||||
data_set = std::make_unique<HDF5DataSet>(*data_file, dataset_name, data_type, data_space, dcpl);
|
||||
data_set->SetExtent({images_per_file, ypixel, xpixel});
|
||||
for (auto &p: plugins)
|
||||
p->OpenFile(*data_file, msg, images_per_file);
|
||||
|
||||
Reference in New Issue
Block a user