JFJochHDF5Reader: Read calibration entries
This commit is contained in:
@@ -69,12 +69,52 @@ TEST_CASE("JFJochReader_MasterFile", "[HDF5][Full]") {
|
||||
REQUIRE(dataset->experiment.GetUnitCell().has_value());
|
||||
CHECK(dataset->experiment.GetUnitCell()->b == 20.0);
|
||||
CHECK(dataset->experiment.GetUnitCell()->beta == 101.0);
|
||||
CHECK(dataset->calibration_data.empty());
|
||||
}
|
||||
remove("test08_master.h5");
|
||||
|
||||
REQUIRE(H5Fget_obj_count(H5F_OBJ_ALL, H5F_OBJ_ALL) == 0);
|
||||
}
|
||||
|
||||
TEST_CASE("JFJochReader_MasterFile_Calibration", "[HDF5][Full]") {
|
||||
DiffractionExperiment x(DetJF(1));
|
||||
|
||||
x.FilePrefix("test_reader_calibration").ImagesPerTrigger(1).OverwriteExistingFiles(true);
|
||||
RegisterHDF5Filter();
|
||||
|
||||
std::vector<uint16_t> calib_1(200*300, 10);
|
||||
std::vector<int32_t> calib_2(100*400, 55);
|
||||
{
|
||||
StartMessage start_message;
|
||||
x.FillMessage(start_message);
|
||||
|
||||
CompressedImage calibration_01(calib_1, 200, 300);
|
||||
CompressedImage calibration_02(calib_2, 100, 400);
|
||||
calibration_01.Channel("c1");
|
||||
calibration_02.Channel("c2");
|
||||
|
||||
EndMessage end_message;
|
||||
end_message.max_image_number = 0;
|
||||
std::unique_ptr<NXmx> master = std::make_unique<NXmx>(start_message);
|
||||
master->WriteCalibration(calibration_01);
|
||||
master->WriteCalibration(calibration_02);
|
||||
master->Finalize(end_message);
|
||||
master.reset();
|
||||
}
|
||||
{
|
||||
JFJochHDF5Reader reader;
|
||||
REQUIRE_NOTHROW(reader.ReadFile("test_reader_calibration_master.h5"));
|
||||
auto dataset = reader.GetDataset();
|
||||
REQUIRE(dataset->calibration_data.size() == 2);
|
||||
CHECK(dataset->calibration_data[0] == "c1");
|
||||
CHECK(dataset->calibration_data[1] == "c2");
|
||||
}
|
||||
// reremove("test_reader_calibration_master.h5");
|
||||
|
||||
REQUIRE(H5Fget_obj_count(H5F_OBJ_ALL, H5F_OBJ_ALL) == 0);
|
||||
}
|
||||
|
||||
|
||||
TEST_CASE("JFJochReader_DefaultExperiment", "[HDF5][Full]") {
|
||||
DiffractionExperiment x(DetJF(1));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user