JFJochReceiverFPGA: compression and total processing time are lost due to order of operations
Build Packages / build:rpm (rocky8_nocuda) (push) Has been cancelled
Build Packages / build:rpm (rocky9_nocuda) (push) Has been cancelled
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Has been cancelled
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Has been cancelled
Build Packages / build:rpm (rocky8_sls9) (push) Has been cancelled
Build Packages / build:rpm (rocky9_sls9) (push) Has been cancelled
Build Packages / build:rpm (rocky8) (push) Has been cancelled
Build Packages / build:rpm (rocky9) (push) Has been cancelled
Build Packages / build:rpm (ubuntu2204) (push) Has been cancelled
Build Packages / build:rpm (ubuntu2404) (push) Has been cancelled
Build Packages / DIALS test (push) Has been cancelled
Build Packages / XDS test (durin plugin) (push) Has been cancelled
Build Packages / XDS test (JFJoch plugin) (push) Has been cancelled
Build Packages / XDS test (neggia plugin) (push) Has been cancelled
Build Packages / Generate python client (push) Has been cancelled
Build Packages / Build documentation (push) Has been cancelled
Build Packages / Unit tests (push) Has been cancelled
Build Packages / Create release (push) Has been cancelled
Build Packages / build:rpm (rocky8_nocuda) (pull_request) Has been cancelled
Build Packages / build:rpm (rocky9_nocuda) (pull_request) Has been cancelled
Build Packages / build:rpm (ubuntu2204_nocuda) (pull_request) Has been cancelled
Build Packages / build:rpm (ubuntu2404_nocuda) (pull_request) Has been cancelled
Build Packages / build:rpm (rocky8_sls9) (pull_request) Has been cancelled
Build Packages / build:rpm (rocky9_sls9) (pull_request) Has been cancelled
Build Packages / build:rpm (rocky8) (pull_request) Has been cancelled
Build Packages / build:rpm (rocky9) (pull_request) Has been cancelled
Build Packages / build:rpm (ubuntu2204) (pull_request) Has been cancelled
Build Packages / build:rpm (ubuntu2404) (pull_request) Has been cancelled
Build Packages / DIALS test (pull_request) Has been cancelled
Build Packages / XDS test (durin plugin) (pull_request) Has been cancelled
Build Packages / XDS test (JFJoch plugin) (pull_request) Has been cancelled
Build Packages / XDS test (neggia plugin) (pull_request) Has been cancelled
Build Packages / Generate python client (pull_request) Has been cancelled
Build Packages / Build documentation (pull_request) Has been cancelled
Build Packages / Unit tests (pull_request) Has been cancelled
Build Packages / Create release (pull_request) Has been cancelled
Build Packages / build:rpm (rocky8_nocuda) (push) Has been cancelled
Build Packages / build:rpm (rocky9_nocuda) (push) Has been cancelled
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Has been cancelled
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Has been cancelled
Build Packages / build:rpm (rocky8_sls9) (push) Has been cancelled
Build Packages / build:rpm (rocky9_sls9) (push) Has been cancelled
Build Packages / build:rpm (rocky8) (push) Has been cancelled
Build Packages / build:rpm (rocky9) (push) Has been cancelled
Build Packages / build:rpm (ubuntu2204) (push) Has been cancelled
Build Packages / build:rpm (ubuntu2404) (push) Has been cancelled
Build Packages / DIALS test (push) Has been cancelled
Build Packages / XDS test (durin plugin) (push) Has been cancelled
Build Packages / XDS test (JFJoch plugin) (push) Has been cancelled
Build Packages / XDS test (neggia plugin) (push) Has been cancelled
Build Packages / Generate python client (push) Has been cancelled
Build Packages / Build documentation (push) Has been cancelled
Build Packages / Unit tests (push) Has been cancelled
Build Packages / Create release (push) Has been cancelled
Build Packages / build:rpm (rocky8_nocuda) (pull_request) Has been cancelled
Build Packages / build:rpm (rocky9_nocuda) (pull_request) Has been cancelled
Build Packages / build:rpm (ubuntu2204_nocuda) (pull_request) Has been cancelled
Build Packages / build:rpm (ubuntu2404_nocuda) (pull_request) Has been cancelled
Build Packages / build:rpm (rocky8_sls9) (pull_request) Has been cancelled
Build Packages / build:rpm (rocky9_sls9) (pull_request) Has been cancelled
Build Packages / build:rpm (rocky8) (pull_request) Has been cancelled
Build Packages / build:rpm (rocky9) (pull_request) Has been cancelled
Build Packages / build:rpm (ubuntu2204) (pull_request) Has been cancelled
Build Packages / build:rpm (ubuntu2404) (pull_request) Has been cancelled
Build Packages / DIALS test (pull_request) Has been cancelled
Build Packages / XDS test (durin plugin) (pull_request) Has been cancelled
Build Packages / XDS test (JFJoch plugin) (pull_request) Has been cancelled
Build Packages / XDS test (neggia plugin) (pull_request) Has been cancelled
Build Packages / Generate python client (pull_request) Has been cancelled
Build Packages / Build documentation (pull_request) Has been cancelled
Build Packages / Unit tests (pull_request) Has been cancelled
Build Packages / Create release (pull_request) Has been cancelled
This commit is contained in:
@@ -439,7 +439,6 @@ void JFJochReceiverFPGA::FrameTransformationThread(uint32_t threadid) {
|
||||
message.az_int_profile = az_int_profile_image.GetResult();
|
||||
message.bkg_estimate = az_int_profile_image.GetBkgEstimate(experiment.GetAzimuthalIntegrationSettings());
|
||||
|
||||
plots.Add(message, az_int_profile_image);
|
||||
scan_result.Add(message);
|
||||
|
||||
auto image_end_time = std::chrono::high_resolution_clock::now();
|
||||
@@ -468,52 +467,52 @@ void JFJochReceiverFPGA::FrameTransformationThread(uint32_t threadid) {
|
||||
if (loc == nullptr) {
|
||||
// No free buffer locations - continue
|
||||
writer_queue_full = true;
|
||||
continue;
|
||||
} else {
|
||||
auto writer_buffer = (uint8_t *) loc->GetImage();
|
||||
|
||||
CBORStream2Serializer serializer(writer_buffer, experiment.GetImageBufferLocationSize());
|
||||
message.image = CompressedImage(nullptr, 0,
|
||||
experiment.GetXPixelsNum(),
|
||||
experiment.GetYPixelsNum(),
|
||||
experiment.GetImageMode(),
|
||||
experiment.GetCompressionAlgorithm());
|
||||
serializer.SerializeImage(message);
|
||||
if (experiment.GetImageBufferLocationSize() - serializer.GetImageAppendOffset()
|
||||
< experiment.GetMaxCompressedSize())
|
||||
throw JFJochException(JFJochExceptionCategory::ArrayOutOfBounds,
|
||||
"Not enough memory to save image");
|
||||
|
||||
const auto compression_start_time = std::chrono::steady_clock::now();
|
||||
size_t image_size = transformation.CompressImage(writer_buffer + serializer.GetImageAppendOffset());
|
||||
const auto compression_end_time = std::chrono::steady_clock::now();
|
||||
message.compression_time_s = std::chrono::duration<float>(compression_end_time - compression_start_time).count();
|
||||
|
||||
serializer.AppendImage(image_size);
|
||||
compressed_size += image_size;
|
||||
|
||||
loc->SetImageNumber(image_number);
|
||||
loc->SetImageSize(serializer.GetBufferSize());
|
||||
loc->SetIndexed(message.indexing_result.value_or(false));
|
||||
loc->ReadyToSend();
|
||||
|
||||
if (zmq_preview_socket != nullptr)
|
||||
zmq_preview_socket->SendImage(writer_buffer, serializer.GetBufferSize());
|
||||
|
||||
if (zmq_metadata_socket != nullptr)
|
||||
zmq_metadata_socket->AddDataMessage(message);
|
||||
|
||||
if (push_images_to_writer) {
|
||||
image_pusher.SendImage(*loc);
|
||||
++images_sent; // Handle case when image not sent properly
|
||||
} else
|
||||
loc->release();
|
||||
UpdateMaxImageSent(message.number);
|
||||
}
|
||||
|
||||
auto writer_buffer = (uint8_t *) loc->GetImage();
|
||||
|
||||
CBORStream2Serializer serializer(writer_buffer, experiment.GetImageBufferLocationSize());
|
||||
message.image = CompressedImage(nullptr, 0,
|
||||
experiment.GetXPixelsNum(),
|
||||
experiment.GetYPixelsNum(),
|
||||
experiment.GetImageMode(),
|
||||
experiment.GetCompressionAlgorithm());
|
||||
serializer.SerializeImage(message);
|
||||
if (experiment.GetImageBufferLocationSize() - serializer.GetImageAppendOffset()
|
||||
< experiment.GetMaxCompressedSize())
|
||||
throw JFJochException(JFJochExceptionCategory::ArrayOutOfBounds,
|
||||
"Not enough memory to save image");
|
||||
|
||||
const auto compression_start_time = std::chrono::steady_clock::now();
|
||||
size_t image_size = transformation.CompressImage(writer_buffer + serializer.GetImageAppendOffset());
|
||||
const auto compression_end_time = std::chrono::steady_clock::now();
|
||||
message.compression_time_s = std::chrono::duration<float>(compression_end_time - compression_start_time).count();
|
||||
|
||||
serializer.AppendImage(image_size);
|
||||
compressed_size += image_size;
|
||||
|
||||
loc->SetImageNumber(image_number);
|
||||
loc->SetImageSize(serializer.GetBufferSize());
|
||||
loc->SetIndexed(message.indexing_result.value_or(false));
|
||||
loc->ReadyToSend();
|
||||
|
||||
if (zmq_preview_socket != nullptr)
|
||||
zmq_preview_socket->SendImage(writer_buffer, serializer.GetBufferSize());
|
||||
|
||||
if (zmq_metadata_socket != nullptr)
|
||||
zmq_metadata_socket->AddDataMessage(message);
|
||||
|
||||
if (push_images_to_writer) {
|
||||
image_pusher.SendImage(*loc);
|
||||
++images_sent; // Handle case when image not sent properly
|
||||
} else
|
||||
loc->release();
|
||||
UpdateMaxImageSent(message.number);
|
||||
}
|
||||
|
||||
logger.Debug("Frame transformation thread - done sending image {} / {}", image_number, message.number);
|
||||
|
||||
plots.Add(message, az_int_profile_image);
|
||||
current_status.SetProgress(GetProgress());
|
||||
current_status.SetStatus(GetStatus());
|
||||
} catch (const JFJochException &e) {
|
||||
|
||||
Reference in New Issue
Block a user