v1.0.0-rc.72
This commit is contained in:
@@ -212,7 +212,7 @@ TEST_CASE("JFJochReader_DataI16", "[HDF5][Full]") {
|
||||
message.indexing_result = (i % 2 == 0);
|
||||
message.bkg_estimate = i * 345.6;
|
||||
message.number = i;
|
||||
message.mosaicity = 123.09;
|
||||
message.profile_radius = 123.09;
|
||||
|
||||
REQUIRE_NOTHROW(file_set.WriteHDF5(message));
|
||||
|
||||
@@ -229,7 +229,7 @@ TEST_CASE("JFJochReader_DataI16", "[HDF5][Full]") {
|
||||
CHECK(dataset->experiment.GetImageNum() == 4);
|
||||
REQUIRE(dataset->spot_count.size() == 4);
|
||||
REQUIRE(dataset->bkg_estimate.size() == 4);
|
||||
REQUIRE(dataset->mosaicity.size() == 4);
|
||||
REQUIRE(dataset->profile_radius.size() == 4);
|
||||
REQUIRE_THROWS(reader.LoadImage(4));
|
||||
|
||||
std::shared_ptr<JFJochReaderImage> reader_image;
|
||||
@@ -244,7 +244,7 @@ TEST_CASE("JFJochReader_DataI16", "[HDF5][Full]") {
|
||||
CHECK(reader_image->Image()[5678] == i);
|
||||
CHECK(dataset->indexing_result[i] == (i % 2 == 0));
|
||||
CHECK(dataset->bkg_estimate[i] == Catch::Approx(i * 345.6));
|
||||
CHECK(dataset->mosaicity[i] == Catch::Approx(123.09));
|
||||
CHECK(dataset->profile_radius[i] == Catch::Approx(123.09));
|
||||
}
|
||||
}
|
||||
remove("test09_master.h5");
|
||||
@@ -257,7 +257,6 @@ TEST_CASE("JFJochReader_DataI16", "[HDF5][Full]") {
|
||||
REQUIRE(H5Fget_obj_count(H5F_OBJ_ALL, H5F_OBJ_ALL) == 0);
|
||||
}
|
||||
|
||||
|
||||
TEST_CASE("JFJochReader_DataI16_OldMasterFormat", "[HDF5][Full]") {
|
||||
DiffractionExperiment x(DetJF(1));
|
||||
|
||||
@@ -280,7 +279,6 @@ TEST_CASE("JFJochReader_DataI16_OldMasterFormat", "[HDF5][Full]") {
|
||||
|
||||
for (int i = 0; i < x.GetImageNum(); i++) {
|
||||
std::vector<SpotToSave> spots;
|
||||
spots.push_back(SpotToSave{.x = 1, .y = 2, .intensity = 376, .indexed = true});
|
||||
image[5678] = i;
|
||||
|
||||
DataMessage message{};
|
||||
@@ -289,7 +287,7 @@ TEST_CASE("JFJochReader_DataI16_OldMasterFormat", "[HDF5][Full]") {
|
||||
message.indexing_result = (i % 2 == 0);
|
||||
message.bkg_estimate = i * 345.6;
|
||||
message.number = i;
|
||||
message.mosaicity = 1.64;
|
||||
message.profile_radius = 1.64;
|
||||
|
||||
REQUIRE_NOTHROW(file_set.WriteHDF5(message));
|
||||
|
||||
@@ -306,7 +304,7 @@ TEST_CASE("JFJochReader_DataI16_OldMasterFormat", "[HDF5][Full]") {
|
||||
CHECK(dataset->experiment.GetImageNum() == 4);
|
||||
REQUIRE(dataset->spot_count.size() == 4);
|
||||
REQUIRE(dataset->bkg_estimate.size() == 4);
|
||||
REQUIRE(dataset->mosaicity.size() == 4);
|
||||
REQUIRE(dataset->profile_radius.size() == 4);
|
||||
|
||||
REQUIRE_THROWS(reader.LoadImage(4));
|
||||
|
||||
@@ -320,12 +318,8 @@ TEST_CASE("JFJochReader_DataI16_OldMasterFormat", "[HDF5][Full]") {
|
||||
CHECK(reader_image->Image()[2] == image[2]);
|
||||
CHECK(reader_image->Image()[3] == image[3]);
|
||||
CHECK(reader_image->Image()[5678] == i);
|
||||
REQUIRE(reader_image->ImageData().spots.size() == 1);
|
||||
CHECK(reader_image->ImageData().spots[0].x == 1);
|
||||
CHECK(reader_image->ImageData().spots[0].y == 2);
|
||||
CHECK(reader_image->ImageData().spots[0].intensity == 376);
|
||||
CHECK(reader_image->ImageData().spots[0].indexed == true);
|
||||
CHECK(dataset->mosaicity[i] == Catch::Approx(1.64));
|
||||
|
||||
CHECK(dataset->profile_radius[i] == Catch::Approx(1.64));
|
||||
CHECK(dataset->indexing_result[i] == (i % 2 == 0));
|
||||
CHECK(dataset->bkg_estimate[i] == Catch::Approx(i * 345.6));
|
||||
}
|
||||
@@ -825,6 +819,178 @@ TEST_CASE("JFJochReader_Azint", "[HDF5][Full]") {
|
||||
remove("test27_data_000002.h5");
|
||||
remove("test27_data_000003.h5");
|
||||
remove("test27_data_000004.h5");
|
||||
// No leftover HDF5 objects
|
||||
REQUIRE(H5Fget_obj_count(H5F_OBJ_ALL, H5F_OBJ_ALL) == 0);
|
||||
}
|
||||
|
||||
TEST_CASE("JFJochReader_Spots_OldMasterFormat", "[HDF5][Full]") {
|
||||
DiffractionExperiment x(DetJF(1));
|
||||
|
||||
x.FilePrefix("test40").ImagesPerTrigger(4).OverwriteExistingFiles(true);
|
||||
x.BitDepthImage(16).ImagesPerFile(1).SetFileWriterFormat(FileWriterFormat::NXmxLegacy).PixelSigned(true)
|
||||
.IndexingAlgorithm(IndexingAlgorithmEnum::FFT);
|
||||
x.Compression(CompressionAlgorithm::NO_COMPRESSION);
|
||||
|
||||
std::vector<int16_t> image(x.GetPixelsNum());
|
||||
|
||||
RegisterHDF5Filter();
|
||||
{
|
||||
StartMessage start_message;
|
||||
x.FillMessage(start_message);
|
||||
FileWriter file_set(start_message);
|
||||
|
||||
for (int i = 0; i < x.GetImageNum(); i++) {
|
||||
std::vector<SpotToSave> spots;
|
||||
spots.push_back(SpotToSave{
|
||||
.x = 1, .y = 2, .intensity = 376,
|
||||
.ice_ring = true,
|
||||
.indexed = true,
|
||||
.h = 11, .k = -3, .l = -5,
|
||||
.dist_ewald_sphere = 0.1234f
|
||||
});
|
||||
spots.push_back(SpotToSave{
|
||||
.x = 7, .y = -3, .intensity = 0.156f,
|
||||
.ice_ring = false,
|
||||
.indexed = false,
|
||||
});
|
||||
image[5678] = i;
|
||||
|
||||
DataMessage message{};
|
||||
message.image = CompressedImage(image, x.GetXPixelsNum(), x.GetYPixelsNum());
|
||||
message.spots = spots;
|
||||
message.indexing_result = (i % 2 == 0);
|
||||
message.number = i;
|
||||
|
||||
REQUIRE_NOTHROW(file_set.WriteHDF5(message));
|
||||
|
||||
}
|
||||
EndMessage end_message;
|
||||
end_message.max_image_number = x.GetImageNum();
|
||||
file_set.WriteHDF5(end_message);
|
||||
file_set.Finalize();
|
||||
}
|
||||
{
|
||||
JFJochHDF5Reader reader;
|
||||
REQUIRE_NOTHROW(reader.ReadFile("test40_master.h5"));
|
||||
auto dataset = reader.GetDataset();
|
||||
CHECK(dataset->experiment.GetImageNum() == 4);
|
||||
|
||||
REQUIRE_THROWS(reader.LoadImage(4));
|
||||
|
||||
std::shared_ptr<JFJochReaderImage> reader_image;
|
||||
for (int i = 0; i < 4; i++) {
|
||||
REQUIRE_NOTHROW(reader_image = reader.LoadImage(i));
|
||||
|
||||
REQUIRE(reader_image);
|
||||
REQUIRE(reader_image->ImageData().spots.size() == 2);
|
||||
CHECK(reader_image->ImageData().spots[0].x == 1);
|
||||
CHECK(reader_image->ImageData().spots[0].y == 2);
|
||||
CHECK(reader_image->ImageData().spots[0].intensity == 376);
|
||||
CHECK(reader_image->ImageData().spots[0].ice_ring == true);
|
||||
CHECK(reader_image->ImageData().spots[0].indexed == true);
|
||||
CHECK(reader_image->ImageData().spots[0].h == 11);
|
||||
CHECK(reader_image->ImageData().spots[0].k == -3);
|
||||
CHECK(reader_image->ImageData().spots[0].l == -5);
|
||||
CHECK(reader_image->ImageData().spots[0].dist_ewald_sphere == Catch::Approx(0.1234f));
|
||||
CHECK(reader_image->ImageData().spots[1].x == 7);
|
||||
CHECK(reader_image->ImageData().spots[1].y == -3);
|
||||
CHECK(reader_image->ImageData().spots[1].intensity == Catch::Approx(0.156f));
|
||||
CHECK(reader_image->ImageData().spots[1].ice_ring == false);
|
||||
CHECK(reader_image->ImageData().spots[1].indexed == false);
|
||||
}
|
||||
}
|
||||
remove("test40_master.h5");
|
||||
remove("test40_data_000001.h5");
|
||||
remove("test40_data_000002.h5");
|
||||
remove("test40_data_000003.h5");
|
||||
remove("test40_data_000004.h5");
|
||||
|
||||
// No leftover HDF5 objects
|
||||
REQUIRE(H5Fget_obj_count(H5F_OBJ_ALL, H5F_OBJ_ALL) == 0);
|
||||
}
|
||||
|
||||
TEST_CASE("JFJochReader_Spots_VDS", "[HDF5][Full]") {
|
||||
DiffractionExperiment x(DetJF(1));
|
||||
|
||||
x.FilePrefix("test41").ImagesPerTrigger(4).OverwriteExistingFiles(true);
|
||||
x.BitDepthImage(16).ImagesPerFile(1).SetFileWriterFormat(FileWriterFormat::NXmxLegacy).PixelSigned(true)
|
||||
.IndexingAlgorithm(IndexingAlgorithmEnum::FFT);
|
||||
x.Compression(CompressionAlgorithm::NO_COMPRESSION);
|
||||
|
||||
std::vector<int16_t> image(x.GetPixelsNum());
|
||||
|
||||
RegisterHDF5Filter();
|
||||
{
|
||||
StartMessage start_message;
|
||||
x.FillMessage(start_message);
|
||||
FileWriter file_set(start_message);
|
||||
|
||||
for (int i = 0; i < x.GetImageNum(); i++) {
|
||||
std::vector<SpotToSave> spots;
|
||||
spots.push_back(SpotToSave{
|
||||
.x = 1, .y = 2, .intensity = 376,
|
||||
.ice_ring = true,
|
||||
.indexed = true,
|
||||
.h = 11, .k = -3, .l = -5,
|
||||
.dist_ewald_sphere = 0.1234f
|
||||
});
|
||||
spots.push_back(SpotToSave{
|
||||
.x = 7, .y = -3, .intensity = 0.156f,
|
||||
.ice_ring = false,
|
||||
.indexed = false,
|
||||
});
|
||||
image[5678] = i;
|
||||
|
||||
DataMessage message{};
|
||||
message.image = CompressedImage(image, x.GetXPixelsNum(), x.GetYPixelsNum());
|
||||
message.spots = spots;
|
||||
message.indexing_result = (i % 2 == 0);
|
||||
message.number = i;
|
||||
|
||||
REQUIRE_NOTHROW(file_set.WriteHDF5(message));
|
||||
|
||||
}
|
||||
EndMessage end_message;
|
||||
end_message.max_image_number = x.GetImageNum();
|
||||
file_set.WriteHDF5(end_message);
|
||||
file_set.Finalize();
|
||||
}
|
||||
{
|
||||
JFJochHDF5Reader reader;
|
||||
REQUIRE_NOTHROW(reader.ReadFile("test41_master.h5"));
|
||||
auto dataset = reader.GetDataset();
|
||||
CHECK(dataset->experiment.GetImageNum() == 4);
|
||||
|
||||
REQUIRE_THROWS(reader.LoadImage(4));
|
||||
|
||||
std::shared_ptr<JFJochReaderImage> reader_image;
|
||||
for (int i = 0; i < 4; i++) {
|
||||
REQUIRE_NOTHROW(reader_image = reader.LoadImage(i));
|
||||
|
||||
REQUIRE(reader_image);
|
||||
REQUIRE(reader_image->ImageData().spots.size() == 2);
|
||||
CHECK(reader_image->ImageData().spots[0].x == 1);
|
||||
CHECK(reader_image->ImageData().spots[0].y == 2);
|
||||
CHECK(reader_image->ImageData().spots[0].intensity == 376);
|
||||
CHECK(reader_image->ImageData().spots[0].ice_ring == true);
|
||||
CHECK(reader_image->ImageData().spots[0].indexed == true);
|
||||
CHECK(reader_image->ImageData().spots[0].h == 11);
|
||||
CHECK(reader_image->ImageData().spots[0].k == -3);
|
||||
CHECK(reader_image->ImageData().spots[0].l == -5);
|
||||
CHECK(reader_image->ImageData().spots[0].dist_ewald_sphere == Catch::Approx(0.1234f));
|
||||
CHECK(reader_image->ImageData().spots[1].x == 7);
|
||||
CHECK(reader_image->ImageData().spots[1].y == -3);
|
||||
CHECK(reader_image->ImageData().spots[1].intensity == Catch::Approx(0.156f));
|
||||
CHECK(reader_image->ImageData().spots[1].ice_ring == false);
|
||||
CHECK(reader_image->ImageData().spots[1].indexed == false);
|
||||
}
|
||||
}
|
||||
remove("test41_master.h5");
|
||||
remove("test41_data_000001.h5");
|
||||
remove("test41_data_000002.h5");
|
||||
remove("test41_data_000003.h5");
|
||||
remove("test41_data_000004.h5");
|
||||
|
||||
// No leftover HDF5 objects
|
||||
REQUIRE(H5Fget_obj_count(H5F_OBJ_ALL, H5F_OBJ_ALL) == 0);
|
||||
}
|
||||
Reference in New Issue
Block a user