JFJochHDF5Reader: Use lattice, and not Niggli class, to decode symmetry (if symmetry is imposed, then lattice search returns niggli class 0
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 7m59s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 9m3s
Build Packages / build:rpm (rocky8) (push) Successful in 9m43s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 10m4s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 10m41s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 9m58s
Build Packages / XDS test (durin plugin) (push) Successful in 8m12s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 9m28s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 19m25s
Build Packages / build:rpm (rocky9) (push) Successful in 11m27s
Build Packages / Create release (push) Skipped
Build Packages / Generate python client (push) Successful in 21s
Build Packages / Build documentation (push) Successful in 38s
Build Packages / DIALS test (push) Successful in 11m36s
Build Packages / XDS test (JFJoch plugin) (push) Successful in 5m29s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 28m47s
Build Packages / XDS test (neggia plugin) (push) Successful in 14m21s
Build Packages / Unit tests (push) Failing after 52m8s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 7m59s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 9m3s
Build Packages / build:rpm (rocky8) (push) Successful in 9m43s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 10m4s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 10m41s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 9m58s
Build Packages / XDS test (durin plugin) (push) Successful in 8m12s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 9m28s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 19m25s
Build Packages / build:rpm (rocky9) (push) Successful in 11m27s
Build Packages / Create release (push) Skipped
Build Packages / Generate python client (push) Successful in 21s
Build Packages / Build documentation (push) Successful in 38s
Build Packages / DIALS test (push) Successful in 11m36s
Build Packages / XDS test (JFJoch plugin) (push) Successful in 5m29s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 28m47s
Build Packages / XDS test (neggia plugin) (push) Successful in 14m21s
Build Packages / Unit tests (push) Failing after 52m8s
This commit is contained in:
@@ -1038,6 +1038,79 @@ TEST_CASE("JFJochReader_NiggliClass", "[HDF5][Full]") {
|
||||
REQUIRE(H5Fget_obj_count(H5F_OBJ_ALL, H5F_OBJ_ALL) == 0);
|
||||
}
|
||||
|
||||
TEST_CASE("JFJochReader_NiggliClass_VDS", "[HDF5][Full]") {
|
||||
DiffractionExperiment x(DetJF(1));
|
||||
x.FilePrefix("test95").ImagesPerTrigger(4).OverwriteExistingFiles(true);
|
||||
x.BitDepthImage(16).ImagesPerFile(1).SetFileWriterFormat(FileWriterFormat::NXmxVDS).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);
|
||||
|
||||
LatticeMessage lm{
|
||||
.centering = 'F',
|
||||
.niggli_class = 1,
|
||||
.crystal_system = gemmi::CrystalSystem::Cubic,
|
||||
};
|
||||
|
||||
DataMessage message{};
|
||||
message.number = 0;
|
||||
message.image = CompressedImage(image, x.GetXPixelsNum(), x.GetYPixelsNum());
|
||||
message.indexing_result = true;
|
||||
message.indexing_lattice = CrystalLattice(40, 50, 60, 90, 90, 90);
|
||||
message.lattice_type = lm;
|
||||
REQUIRE_NOTHROW(file_set.WriteHDF5(message));
|
||||
|
||||
message.number = 1;
|
||||
message.indexing_result = false;
|
||||
message.indexing_lattice = std::nullopt;
|
||||
REQUIRE_NOTHROW(file_set.WriteHDF5(message));
|
||||
|
||||
EndMessage end_message;
|
||||
end_message.max_image_number = 2;
|
||||
file_set.WriteHDF5(end_message);
|
||||
file_set.Finalize();
|
||||
}
|
||||
{
|
||||
JFJochHDF5Reader reader;
|
||||
REQUIRE_NOTHROW(reader.ReadFile("test95_master.h5"));
|
||||
auto dataset = reader.GetDataset();
|
||||
CHECK(dataset->experiment.GetImageNum() == 2);
|
||||
|
||||
std::shared_ptr<JFJochReaderImage> reader_image, reader_image_2;
|
||||
|
||||
REQUIRE_NOTHROW(reader_image = reader.LoadImage(0));
|
||||
|
||||
REQUIRE(reader_image);
|
||||
CHECK(reader_image->ImageData().indexing_result.value() == true);
|
||||
REQUIRE(reader_image->ImageData().indexing_lattice);
|
||||
REQUIRE(reader_image->ImageData().lattice_type);
|
||||
CHECK(reader_image->ImageData().lattice_type->centering == 'F');
|
||||
CHECK(reader_image->ImageData().lattice_type->niggli_class == 1);
|
||||
CHECK(reader_image->ImageData().lattice_type->crystal_system == gemmi::CrystalSystem::Cubic);
|
||||
|
||||
REQUIRE_NOTHROW(reader_image_2 = reader.LoadImage(1));
|
||||
|
||||
REQUIRE(reader_image_2);
|
||||
CHECK(!reader_image_2->ImageData().indexing_result.value());
|
||||
REQUIRE(!reader_image_2->ImageData().indexing_lattice);
|
||||
REQUIRE(!reader_image_2->ImageData().lattice_type);
|
||||
}
|
||||
remove("test95_master.h5");
|
||||
remove("test95_data_000001.h5");
|
||||
remove("test95_data_000002.h5");
|
||||
|
||||
// No leftover HDF5 objects
|
||||
REQUIRE(H5Fget_obj_count(H5F_OBJ_ALL, H5F_OBJ_ALL) == 0);
|
||||
}
|
||||
|
||||
|
||||
TEST_CASE("JFJochReader_MissingEntries", "[HDF5][Full]") {
|
||||
DiffractionExperiment x(DetJF(1));
|
||||
x.FilePrefix("test96").ImagesPerTrigger(4).OverwriteExistingFiles(true);
|
||||
|
||||
Reference in New Issue
Block a user