v1.0.0-rc.113 (#19)
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 11m0s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 11m2s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 11m54s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 8m20s
Build Packages / Generate python client (push) Successful in 24s
Build Packages / Build documentation (push) Successful in 56s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky8) (push) Successful in 8m51s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 9m9s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 8m53s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 8m21s
Build Packages / build:rpm (rocky9) (push) Successful in 9m47s
Build Packages / Unit tests (push) Successful in 1h13m38s

This is an UNSTABLE release and not recommended for production use (please use rc.111 instead).

* jfjoch_broker: Improve handling of rotation indexing
* jfjoch_broker: More information saved in CBOR end message (WIP)
* jfjoch_writer: Save rotation indexing lattice parameters and Niggli class
* jfjoch_viewer: Remove (for now) primitive cell information

Reviewed-on: #19
Co-authored-by: Filip Leonarski <filip.leonarski@psi.ch>
Co-committed-by: Filip Leonarski <filip.leonarski@psi.ch>
This commit was merged in pull request #19.
This commit is contained in:
2025-12-02 09:29:22 +01:00
committed by leonarski_f
parent 06949caf1a
commit 31a357fa57
179 changed files with 1032 additions and 499 deletions
+11 -5
View File
@@ -88,7 +88,7 @@ void RotationIndexer::TryIndex() {
.crystal_system = search_result_.system,
.min_spots = experiment.GetIndexingSettings().GetViableCellMinSpots(),
.refine_beam_center = true,
.refine_distance_mm = true,
.refine_distance_mm = false,
.axis = axis_
};
@@ -111,7 +111,7 @@ std::optional<RotationIndexerResult> RotationIndexer::ProcessImage(int64_t image
const auto rot = axis_->GetTransformation(image);
if (image >= last_accumulated_image + image_stride) {
if (!indexed_lattice && image >= last_accumulated_image + image_stride) {
v_.reserve(v_.size() + spots.size());
coords_.reserve(coords_.size() + spots.size());
@@ -125,8 +125,12 @@ std::optional<RotationIndexerResult> RotationIndexer::ProcessImage(int64_t image
accumulated_images++;
last_accumulated_image = image;
if (!indexed_lattice && accumulated_images >= min_images_for_indexing && image >= first_image_to_try_indexing)
if (!indexed_lattice && accumulated_images >= min_images_for_indexing && image >= first_image_to_try_indexing) {
TryIndex();
// If fails increase rotation range by a factor of two
if (!indexed_lattice)
first_image_to_try_indexing *= 2;
}
}
if (indexed_lattice) {
@@ -139,9 +143,11 @@ std::optional<RotationIndexerResult> RotationIndexer::ProcessImage(int64_t image
return {};
}
std::optional<RotationIndexerResult> RotationIndexer::Finalize(bool retry) {
if (!indexed_lattice || retry)
std::optional<RotationIndexerResult> RotationIndexer::Finalize() {
if (!indexed_lattice)
TryIndex();
if (!indexed_lattice)
return std::nullopt;
return RotationIndexerResult{
.lattice = indexed_lattice.value(),
.search_result = search_result_,