v1.0.0-rc.130 (#37)
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 10m14s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 10m4s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 12m0s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 10m31s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 10m0s
Build Packages / Generate python client (push) Successful in 45s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 11m17s
Build Packages / Create release (push) Has been skipped
Build Packages / Build documentation (push) Successful in 42s
Build Packages / build:rpm (rocky8) (push) Successful in 10m56s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 10m8s
Build Packages / build:rpm (rocky9) (push) Successful in 11m27s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 10m10s
Build Packages / Unit tests (push) Successful in 1h14m45s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 10m14s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 10m4s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 12m0s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 10m31s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 10m0s
Build Packages / Generate python client (push) Successful in 45s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 11m17s
Build Packages / Create release (push) Has been skipped
Build Packages / Build documentation (push) Successful in 42s
Build Packages / build:rpm (rocky8) (push) Successful in 10m56s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 10m8s
Build Packages / build:rpm (rocky9) (push) Successful in 11m27s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 10m10s
Build Packages / Unit tests (push) Successful in 1h14m45s
This is an UNSTABLE release. The release has significant modifications and bug fixes, if things go wrong, it is better to revert to 1.0.0-rc.124. * jfjoch_broker: Rotation indexer has two retries if failes * jfjoch_broker: Rotation indexer handles small number of rotation images (like test shot) * jfjoch_broker: Integration calculates background mask based on R2 radius * jfjoch_process: HDF5 files are not saved by default Reviewed-on: #37
This commit was merged in pull request #37.
This commit is contained in:
+14
-14
@@ -45,6 +45,7 @@ void print_usage(Logger &logger) {
|
||||
logger.Info(" -P<txt> Partiality refinement fixed|rot|unity (default: fixed)");
|
||||
logger.Info(" -A Anomalous mode (don't merge Friedel pairs)");
|
||||
logger.Info(" -C<cell> Fix reference unit cell: -C\"a,b,c,alpha,beta,gamma\" (comma-separated, no spaces; quotes optional)");
|
||||
logger.Info(" -W HDF5 file with analysis results is written");
|
||||
}
|
||||
|
||||
void trim_in_place(std::string& t) {
|
||||
@@ -127,6 +128,7 @@ int main(int argc, char **argv) {
|
||||
bool anomalous_mode = false;
|
||||
std::optional<int> space_group_number;
|
||||
std::optional<UnitCell> fixed_reference_unit_cell;
|
||||
bool write_output = false;
|
||||
|
||||
ScaleMergeOptions::PartialityModel partiality_model = ScaleMergeOptions::PartialityModel::Fixed;
|
||||
|
||||
@@ -139,7 +141,7 @@ int main(int argc, char **argv) {
|
||||
}
|
||||
|
||||
int opt;
|
||||
while ((opt = getopt(argc, argv, "o:N:s:e:vR::Fxd:S:MP:AD:C:")) != -1) {
|
||||
while ((opt = getopt(argc, argv, "o:N:s:e:vR::Fxd:S:MP:AD:C:W")) != -1) {
|
||||
switch (opt) {
|
||||
case 'o':
|
||||
output_prefix = optarg;
|
||||
@@ -153,6 +155,9 @@ int main(int argc, char **argv) {
|
||||
case 'e':
|
||||
end_image = atoi(optarg);
|
||||
break;
|
||||
case 'W':
|
||||
write_output = true;
|
||||
break;
|
||||
case 'v':
|
||||
verbose = true;
|
||||
break;
|
||||
@@ -316,7 +321,8 @@ int main(int argc, char **argv) {
|
||||
|
||||
std::unique_ptr<FileWriter> writer;
|
||||
try {
|
||||
writer = std::make_unique<FileWriter>(start_message);
|
||||
if (write_output)
|
||||
writer = std::make_unique<FileWriter>(start_message);
|
||||
} catch (const std::exception &e) {
|
||||
logger.Error("Failed to initialize file writer: {}", e.what());
|
||||
exit(EXIT_FAILURE);
|
||||
@@ -434,7 +440,8 @@ int main(int argc, char **argv) {
|
||||
std::lock_guard<std::mutex> lock(plots_mutex);
|
||||
plots.Add(msg, profile);
|
||||
// Write Result
|
||||
writer->Write(msg);
|
||||
if (writer)
|
||||
writer->Write(msg);
|
||||
}
|
||||
|
||||
// Update max sent tracking
|
||||
@@ -655,8 +662,10 @@ int main(int argc, char **argv) {
|
||||
}
|
||||
|
||||
// Write End Message
|
||||
writer->WriteHDF5(end_msg);
|
||||
auto stats = writer->Finalize();
|
||||
if (writer) {
|
||||
writer->WriteHDF5(end_msg);
|
||||
auto stats = writer->Finalize();
|
||||
}
|
||||
|
||||
// 6. Report Statistics to Console
|
||||
double processing_time = std::chrono::duration<double>(end_time - start_time).count();
|
||||
@@ -667,7 +676,6 @@ int main(int argc, char **argv) {
|
||||
logger.Info("Processing time: {:.2f} s", processing_time);
|
||||
logger.Info("Frame rate: {:.2f} Hz", frame_rate);
|
||||
logger.Info("Total throughput:{:.2f} MB/s", throughput_MBs);
|
||||
logger.Info("Images written: {}", stats.size());
|
||||
|
||||
// Print extended stats similar to Receiver
|
||||
if (!end_msg.indexing_rate.has_value()) {
|
||||
@@ -691,12 +699,4 @@ int main(int argc, char **argv) {
|
||||
logger.Info("Lattice: a={:.2f} b={:.2f} c={:.2f} alpha={:.2f} beta={:.2f} gamma={:.2f}",
|
||||
uc.a, uc.b, uc.c, uc.alpha, uc.beta, uc.gamma);
|
||||
}
|
||||
|
||||
if (stats.empty()) {
|
||||
logger.Info("Analysis finished with warnings (no files written)");
|
||||
exit(EXIT_FAILURE);
|
||||
} else {
|
||||
logger.Info("Analysis successfully finished");
|
||||
exit(EXIT_SUCCESS);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user