early exit 1

This commit is contained in:
2024-08-08 16:07:54 +02:00
parent 7987125bf5
commit a7327ddbf7

View File

@ -4,41 +4,43 @@ import numpy as np
def calc_force_send(results, data, pixel_mask_pf, image, n_aggregated_images, data_summed):
force_send_visualisation = False
if data.dtype != np.uint16:
apply_threshold = results.get("apply_threshold", False)
apply_aggregation = results.get("apply_aggregation", False)
if data.dtype == np.uint16:
return data, force_send_visualisation, n_aggregated_images, data_summed
if not apply_aggregation:
data_summed = None
n_aggregated_images = 1
apply_threshold = results.get("apply_threshold", False)
apply_aggregation = results.get("apply_aggregation", False)
if apply_threshold or apply_aggregation:
if apply_threshold and all(k in results for k in ("threshold_min", "threshold_max")):
threshold_min = float(results["threshold_min"])
threshold_max = float(results["threshold_max"])
data[data < threshold_min] = 0.0
if threshold_max > threshold_min:
data[data > threshold_max] = 0.0
if not apply_aggregation:
data_summed = None
n_aggregated_images = 1
if apply_aggregation and "aggregation_max" in results:
if data_summed is not None:
data += data_summed
n_aggregated_images += 1
data_summed = data.copy()
data_summed[data == -np.nan] = -np.nan #TODO: this does nothing
results["aggregated_images"] = n_aggregated_images
results["worker"] = 1 #TODO: keep this for backwards compatibility?
if apply_threshold or apply_aggregation:
if apply_threshold and all(k in results for k in ("threshold_min", "threshold_max")):
threshold_min = float(results["threshold_min"])
threshold_max = float(results["threshold_max"])
data[data < threshold_min] = 0.0
if threshold_max > threshold_min:
data[data > threshold_max] = 0.0
if n_aggregated_images >= results["aggregation_max"]:
force_send_visualisation = True
data_summed = None
n_aggregated_images = 1
if apply_aggregation and "aggregation_max" in results:
if data_summed is not None:
data += data_summed
n_aggregated_images += 1
data_summed = data.copy()
data_summed[data == -np.nan] = -np.nan #TODO: this does nothing
results["aggregated_images"] = n_aggregated_images
results["worker"] = 1 #TODO: keep this for backwards compatibility?
if pixel_mask_pf is not None:
data[~pixel_mask_pf] = np.nan
if n_aggregated_images >= results["aggregation_max"]:
force_send_visualisation = True
data_summed = None
n_aggregated_images = 1
else:
data = image
if pixel_mask_pf is not None:
data[~pixel_mask_pf] = np.nan
else:
data = image
return data, force_send_visualisation, n_aggregated_images, data_summed