JFJochReceiver: Single preview, that can be switched to present all or indexed only results
This commit is contained in:
@@ -26,7 +26,6 @@ JFJochReceiver::JFJochReceiver(const JFJochProtoBuf::ReceiverInput &settings,
|
||||
Logger &in_logger, int64_t in_forward_and_sum_nthreads,
|
||||
int64_t in_send_buffer_count,
|
||||
ZMQPreviewPublisher* in_preview_publisher,
|
||||
ZMQPreviewPublisher* in_preview_publisher_indexed,
|
||||
const NUMAHWPolicy &in_numa_policy) :
|
||||
experiment(settings.jungfraujoch_settings()),
|
||||
acquisition_device(in_aq_device),
|
||||
@@ -35,7 +34,6 @@ JFJochReceiver::JFJochReceiver(const JFJochProtoBuf::ReceiverInput &settings,
|
||||
frame_transformation_nthreads((experiment.GetSummation() >= threaded_summation_threshold) ?
|
||||
2 : in_forward_and_sum_nthreads),
|
||||
preview_publisher(in_preview_publisher),
|
||||
preview_publisher_indexed(in_preview_publisher_indexed),
|
||||
ndatastreams(experiment.GetDataStreamsNum()),
|
||||
data_acquisition_ready(ndatastreams),
|
||||
frame_transformation_ready((experiment.GetImageNum() > 0) ? frame_transformation_nthreads : 0),
|
||||
@@ -86,8 +84,6 @@ JFJochReceiver::JFJochReceiver(const JFJochProtoBuf::ReceiverInput &settings,
|
||||
if (experiment.GetDetectorMode() == DetectorMode::Conversion) {
|
||||
if (preview_publisher != nullptr)
|
||||
preview_publisher->Start(experiment, calib.value());
|
||||
if (preview_publisher_indexed != nullptr)
|
||||
preview_publisher_indexed->Start(experiment, calib.value());
|
||||
|
||||
if (!GPUImageAnalysis::GPUPresent())
|
||||
logger.Info("GPU support missing");
|
||||
@@ -442,12 +438,9 @@ void JFJochReceiver::FrameTransformationThread() {
|
||||
message.exptime_base = 10*1000*1000;
|
||||
message.indexing_result = 0;
|
||||
|
||||
bool indexed = false;
|
||||
bool send_preview = false;
|
||||
bool calculate_spots = false;
|
||||
|
||||
if ((preview_publisher != nullptr) && (preview_stride > 0) && (image_number % preview_stride == 0))
|
||||
send_preview = true;
|
||||
|
||||
bool send_image = false; // We send image if at least one module was collected in full
|
||||
|
||||
std::unique_ptr<RadialIntegrationProfile> rad_int_profile_image;
|
||||
@@ -547,10 +540,7 @@ void JFJochReceiver::FrameTransformationThread() {
|
||||
for (int i = 0; i < recip.size(); i++)
|
||||
message.spots[i].indexed = indexer_result[0].indexed_spots[i];
|
||||
indexer_result[0].l.Save(message.indexing_lattice);
|
||||
if (preview_publisher_indexed)
|
||||
preview_publisher_indexed->Publish(experiment,
|
||||
transformation.GetPreview16BitImage(),
|
||||
message);
|
||||
indexed = true;
|
||||
} else {
|
||||
message.indexing_result = 1;
|
||||
indexing_solution.AddElement(image_number, 0);
|
||||
@@ -575,7 +565,7 @@ void JFJochReceiver::FrameTransformationThread() {
|
||||
*rad_int_profile_per_file[image_number % experiment.GetDataFileCount()] += *rad_int_profile_image;
|
||||
}
|
||||
|
||||
if (send_preview)
|
||||
if (preview_publisher && (!local_data_processing_settings.preview_indexed_only() || indexed))
|
||||
preview_publisher->Publish(experiment,
|
||||
transformation.GetPreview16BitImage(),
|
||||
message);
|
||||
@@ -727,9 +717,6 @@ void JFJochReceiver::FinalizeMeasurement() {
|
||||
if (preview_publisher != nullptr)
|
||||
preview_publisher->Stop(experiment);
|
||||
|
||||
if (preview_publisher_indexed != nullptr)
|
||||
preview_publisher_indexed->Stop(experiment);
|
||||
|
||||
for (int d = 0; d < ndatastreams; d++)
|
||||
acquisition_device[d]->Cancel();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user