IndexAndRefine: Fixes
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 12m15s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 13m17s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 13m14s
Build Packages / build:rpm (rocky8) (push) Successful in 13m13s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 13m13s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 13m24s
Build Packages / Generate python client (push) Successful in 19s
Build Packages / Build documentation (push) Successful in 39s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m2s
Build Packages / build:rpm (rocky9) (push) Successful in 14m0s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 6m45s
Build Packages / Unit tests (push) Successful in 53m38s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 12m15s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 13m17s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 13m14s
Build Packages / build:rpm (rocky8) (push) Successful in 13m13s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 13m13s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 13m24s
Build Packages / Generate python client (push) Successful in 19s
Build Packages / Build documentation (push) Successful in 39s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m2s
Build Packages / build:rpm (rocky9) (push) Successful in 14m0s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 6m45s
Build Packages / Unit tests (push) Successful in 53m38s
This commit is contained in:
@@ -18,11 +18,10 @@ IndexAndRefine::IndexAndRefine(const DiffractionExperiment &x, IndexerThreadPool
|
||||
geom_(x.GetDiffractionGeometry()),
|
||||
updated_geom_(geom_),
|
||||
indexer_(indexer) {
|
||||
|
||||
auto axis = x.GetGoniometer();
|
||||
|
||||
if (indexer && axis && x.GetIndexingSettings().GetRotationIndexing()) {
|
||||
float angle_norm_deg = std::fabs(axis_->GetIncrement_deg());
|
||||
float angle_norm_deg = std::fabs(axis->GetIncrement_deg());
|
||||
if (angle_norm_deg > 1e-6) {
|
||||
axis_ = axis;
|
||||
if (x.GetImageNum() > min_images_for_indexing) {
|
||||
@@ -108,9 +107,9 @@ void IndexAndRefine::TryIndexRotationData() {
|
||||
}
|
||||
|
||||
void IndexAndRefine::ProcessImage(DataMessage &msg,
|
||||
const SpotFindingSettings &spot_finding_settings,
|
||||
const CompressedImage &image,
|
||||
BraggPrediction &prediction) {
|
||||
const SpotFindingSettings &spot_finding_settings,
|
||||
const CompressedImage &image,
|
||||
BraggPrediction &prediction) {
|
||||
if (!indexer_)
|
||||
return;
|
||||
|
||||
@@ -267,11 +266,12 @@ std::optional<RotationIndexerResult> IndexAndRefine::Finalize(bool retry) {
|
||||
|
||||
if (!indexed_lattice || retry)
|
||||
TryIndexRotationData();
|
||||
return RotationIndexerResult{
|
||||
.lattice = indexed_lattice.value(),
|
||||
.search_result = search_result_,
|
||||
.geom = geom_
|
||||
};
|
||||
if (indexed_lattice)
|
||||
return RotationIndexerResult{
|
||||
.lattice = indexed_lattice.value(),
|
||||
.search_result = search_result_,
|
||||
.geom = geom_
|
||||
};
|
||||
}
|
||||
return {};
|
||||
}
|
||||
|
||||
@@ -48,8 +48,8 @@ class IndexAndRefine {
|
||||
|
||||
IndexerThreadPool *indexer_;
|
||||
|
||||
int64_t image_stride;
|
||||
int64_t first_image_to_try_indexing;
|
||||
int64_t image_stride = 1;
|
||||
int64_t first_image_to_try_indexing = INT64_MAX;
|
||||
|
||||
void TryIndexRotationData();
|
||||
public:
|
||||
|
||||
@@ -24,7 +24,7 @@ int main(int argc, char** argv) {
|
||||
IndexingSettings indexing_settings;
|
||||
indexing_settings.Algorithm(IndexingAlgorithmEnum::FFT);
|
||||
indexing_settings.RotationIndexing(true);
|
||||
|
||||
indexing_settings.GeomRefinementAlgorithm(GeomRefinementAlgorithmEnum::BeamCenter);
|
||||
DiffractionExperiment experiment(reader.GetDataset()->experiment);
|
||||
experiment.ImportIndexingSettings(indexing_settings);
|
||||
experiment.SetUnitCell({});
|
||||
|
||||
@@ -101,8 +101,9 @@ void JFJochImageReadingWorker::LoadImage(int64_t image_number, int64_t summation
|
||||
void JFJochImageReadingWorker::UpdateAzint_i(const JFJochReaderDataset *dataset) {
|
||||
if (dataset) {
|
||||
azint_mapping = std::make_unique<AzimuthalIntegration>(curr_experiment, dataset->pixel_mask);
|
||||
index_and_refine = std::make_unique<IndexAndRefine>(curr_experiment, indexing.get());
|
||||
image_analysis = std::make_unique<MXAnalysisWithoutFPGA>(curr_experiment, *azint_mapping, dataset->pixel_mask,
|
||||
indexing.get());
|
||||
*index_and_refine.get());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -52,6 +52,7 @@ private:
|
||||
std::shared_ptr<JFJochReaderImage> current_image_ptr;
|
||||
std::unique_ptr<AzimuthalIntegration> azint_mapping;
|
||||
std::unique_ptr<MXAnalysisWithoutFPGA> image_analysis;
|
||||
std::unique_ptr<IndexAndRefine> index_and_refine;
|
||||
|
||||
std::unique_ptr<ROIElement> roi;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user