v1.0.0-rc.60
This commit is contained in:
@@ -130,6 +130,57 @@ TEST_CASE("JFJochReader_PixelMask", "[HDF5][Full]") {
|
||||
REQUIRE(H5Fget_obj_count(H5F_OBJ_ALL, H5F_OBJ_ALL) == 0);
|
||||
}
|
||||
|
||||
TEST_CASE("JFJochReader_Goniometer", "[HDF5][Full]") {
|
||||
DiffractionExperiment x(DetJF(1));
|
||||
|
||||
x.FilePrefix("test17").ImagesPerTrigger(950).OverwriteExistingFiles(true);
|
||||
x.BeamX_pxl(100).BeamY_pxl(200).DetectorDistance_mm(150)
|
||||
.IncidentEnergy_keV(WVL_1A_IN_KEV).PixelSigned(false).BitDepthImage(16)
|
||||
.FrameTime(std::chrono::microseconds(500), std::chrono::microseconds(10));
|
||||
x.Goniometer(GoniometerAxis("omega", 95, 0.1f, Coord(0,-1,0),{}));
|
||||
|
||||
RegisterHDF5Filter();
|
||||
|
||||
std::vector<uint16_t> image(x.GetPixelsNum(), 0);
|
||||
{
|
||||
StartMessage start_message;
|
||||
x.FillMessage(start_message);
|
||||
|
||||
FileWriter file_set(start_message);
|
||||
|
||||
DataMessage message{};
|
||||
for (int i = 0; i < 5; i++) {
|
||||
message.image = CompressedImage(image, x.GetXPixelsNum(), x.GetYPixelsNum());
|
||||
message.number = 0;
|
||||
|
||||
REQUIRE_NOTHROW(file_set.WriteHDF5(message));
|
||||
}
|
||||
|
||||
EndMessage end_message;
|
||||
end_message.max_image_number = 4;
|
||||
file_set.WriteHDF5(end_message);
|
||||
|
||||
file_set.Finalize();
|
||||
}
|
||||
{
|
||||
JFJochHDF5Reader reader;
|
||||
reader.ReadFile("test17_master.h5");
|
||||
auto dataset = reader.GetStartMessage();
|
||||
|
||||
REQUIRE(dataset->experiment.GetGoniometer().has_value());
|
||||
|
||||
CHECK(dataset->experiment.GetGoniometer()->GetStart_deg() == 95.0);
|
||||
CHECK(fabsf(dataset->experiment.GetGoniometer()->GetIncrement_deg() - 0.1f) < 0.00001f);
|
||||
CHECK(dataset->experiment.GetGoniometer()->GetName() == "omega");
|
||||
CHECK(dataset->experiment.GetGoniometer()->GetAxis().x == 0);
|
||||
CHECK(dataset->experiment.GetGoniometer()->GetAxis().y == -1);
|
||||
CHECK(dataset->experiment.GetGoniometer()->GetAxis().z == 0);
|
||||
}
|
||||
remove("test17_master.h5");
|
||||
|
||||
REQUIRE(H5Fget_obj_count(H5F_OBJ_ALL, H5F_OBJ_ALL) == 0);
|
||||
}
|
||||
|
||||
TEST_CASE("JFJochReader_DataI16", "[HDF5][Full]") {
|
||||
DiffractionExperiment x(DetJF(1));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user