diff --git a/image_analysis/MXAnalysisWithoutFPGA.cpp b/image_analysis/MXAnalysisWithoutFPGA.cpp index ca4c0c0e..0db81bfb 100644 --- a/image_analysis/MXAnalysisWithoutFPGA.cpp +++ b/image_analysis/MXAnalysisWithoutFPGA.cpp @@ -47,7 +47,8 @@ void MXAnalysisWithoutFPGA::Analyze(DataMessage &output, std::vector &i const auto compression_start_time = std::chrono::steady_clock::now(); const uint8_t *image_ptr = output.image.GetUncompressedPtr(image); const auto compression_end_time = std::chrono::steady_clock::now(); - output.compression_time_s = std::chrono::duration(compression_end_time - compression_start_time).count(); + if (output.image.GetCompressionAlgorithm() != CompressionAlgorithm::NO_COMPRESSION) + output.compression_time_s = std::chrono::duration(compression_end_time - compression_start_time).count(); switch (output.image.GetMode()) { case CompressedImageMode::Int8: diff --git a/reader/JFJochReaderImage.cpp b/reader/JFJochReaderImage.cpp index b5c98073..6dc75a3c 100644 --- a/reader/JFJochReaderImage.cpp +++ b/reader/JFJochReaderImage.cpp @@ -49,7 +49,12 @@ void JFJochReaderImage::ProcessInputImage(const CompressedImage &in_image) { std::vector tmp; + const auto compression_start_time = std::chrono::steady_clock::now(); const uint8_t *image_ptr = in_image.GetUncompressedPtr(tmp); + const auto compression_end_time = std::chrono::steady_clock::now(); + + if (in_image.GetCompressionAlgorithm() != CompressionAlgorithm::NO_COMPRESSION) + message.compression_time_s = std::chrono::duration(compression_end_time - compression_start_time).count(); switch (in_image.GetMode()) { case CompressedImageMode::Int8: diff --git a/tools/jfjoch_lite_perf_test.cpp b/tools/jfjoch_lite_perf_test.cpp index 8a7193a7..8fedf7a4 100644 --- a/tools/jfjoch_lite_perf_test.cpp +++ b/tools/jfjoch_lite_perf_test.cpp @@ -200,7 +200,7 @@ int main(int argc, char **argv) { if (output.status.max_receive_delay) logger.Info("Max delay {}", output.status.max_receive_delay.value()); - logger.Info("Per-image time: (mean; microseconds): compression {:.0f} preprocess {:.0f} spot finding {:.0f} indexing {:.0f} refinement {:.0f} prediction {:.0f} integration {:.0f} total {:.0f}", + logger.Info("Per-image time: (mean; microseconds): decompression {:.0f} preprocess {:.0f} spot finding {:.0f} indexing {:.0f} refinement {:.0f} prediction {:.0f} integration {:.0f} total {:.0f}", output.processing_time.compression * 1e6, output.processing_time.preprocessing * 1e6, output.processing_time.spot_finding * 1e6, diff --git a/tools/jfjoch_process.cpp b/tools/jfjoch_process.cpp index d08e45c6..92b4e414 100644 --- a/tools/jfjoch_process.cpp +++ b/tools/jfjoch_process.cpp @@ -432,7 +432,7 @@ int main(int argc, char **argv) { msg.image_collection_efficiency = img->ImageData().image_collection_efficiency; msg.storage_cell = img->ImageData().storage_cell; msg.user_data = img->ImageData().user_data; - + msg.compression_time_s = img->ImageData().compression_time_s; total_uncompressed_bytes += msg.image.GetUncompressedSize(); auto image_start_time = std::chrono::high_resolution_clock::now(); @@ -766,14 +766,15 @@ int main(int argc, char **argv) { } auto image_mean_time = plots.GetMeanProcessingTime(); - logger.Info("Per-image time: (mean; microseconds): preprocess {:.0f} spot finding {:.0f} indexing {:.0f} refinement {:.0f} prediction {:.0f} integration {:.0f} total {:.0f}", - image_mean_time.preprocessing * 1e6, - image_mean_time.spot_finding * 1e6, - image_mean_time.indexing * 1e6, - image_mean_time.refinement * 1e6, - image_mean_time.bragg_prediction * 1e6, - image_mean_time.integration * 1e6, - image_mean_time.processing * 1e6); + logger.Info("Per-image time: (mean; microseconds): decompress {:.0f} preprocess {:.0f} spot finding {:.0f} indexing {:.0f} refinement {:.0f} prediction {:.0f} integration {:.0f} total {:.0f}", + image_mean_time.compression * 1e6, + image_mean_time.preprocessing * 1e6, + image_mean_time.spot_finding * 1e6, + image_mean_time.indexing * 1e6, + image_mean_time.refinement * 1e6, + image_mean_time.bragg_prediction * 1e6, + image_mean_time.integration * 1e6, + image_mean_time.processing * 1e6); if (rotation_indexer_ret.has_value()) { auto latt = rotation_indexer_ret->lattice;