disentangle
This commit is contained in:
@ -5,11 +5,16 @@ from .thresh import threshold
|
||||
|
||||
|
||||
def calc_force_send(results, data, pixel_mask_pf, image, aggregator):
|
||||
force_send_visualisation = False
|
||||
|
||||
if data.dtype == np.uint16:
|
||||
data = calc_data(results, data, pixel_mask_pf, image, aggregator)
|
||||
force_send_visualisation = calc_aggregation_ready(results, data, aggregator)
|
||||
return data, force_send_visualisation
|
||||
|
||||
|
||||
|
||||
def calc_data(results, data, pixel_mask_pf, image, aggregator):
|
||||
if data.dtype == np.uint16:
|
||||
return data
|
||||
|
||||
apply_aggregation = results.get("apply_aggregation", False)
|
||||
apply_threshold = results.get("apply_threshold", False)
|
||||
|
||||
@ -18,15 +23,15 @@ def calc_force_send(results, data, pixel_mask_pf, image, aggregator):
|
||||
|
||||
if not apply_aggregation and not apply_threshold:
|
||||
data = image
|
||||
return data, force_send_visualisation
|
||||
return data
|
||||
|
||||
calc_apply_threshold(results, data) # changes data in place
|
||||
|
||||
data, force_send_visualisation = calc_apply_aggregation(results, data, aggregator)
|
||||
data = calc_apply_aggregation(results, data, aggregator)
|
||||
|
||||
calc_mask_pixels(data, pixel_mask_pf) # changes data in place
|
||||
|
||||
return data, force_send_visualisation
|
||||
return data
|
||||
|
||||
|
||||
|
||||
@ -48,14 +53,12 @@ def calc_apply_threshold(results, data):
|
||||
|
||||
|
||||
def calc_apply_aggregation(results, data, aggregator):
|
||||
force_send_visualisation = False
|
||||
|
||||
apply_aggregation = results.get("apply_aggregation", False)
|
||||
if not apply_aggregation:
|
||||
return data, force_send_visualisation
|
||||
return data
|
||||
|
||||
if "aggregation_max" not in results:
|
||||
return data, force_send_visualisation
|
||||
return data
|
||||
|
||||
aggregator += data
|
||||
|
||||
@ -65,11 +68,33 @@ def calc_apply_aggregation(results, data, aggregator):
|
||||
results["aggregated_images"] = n_aggregated_images
|
||||
results["worker"] = 1 #TODO: keep this for backwards compatibility?
|
||||
|
||||
return data
|
||||
|
||||
|
||||
|
||||
def calc_aggregation_ready(results, data, aggregator):
|
||||
if data.dtype == np.uint16:
|
||||
return False
|
||||
|
||||
apply_aggregation = results.get("apply_aggregation", False)
|
||||
apply_threshold = results.get("apply_threshold", False)
|
||||
|
||||
if not apply_aggregation and not apply_threshold:
|
||||
return False
|
||||
|
||||
if not apply_aggregation:
|
||||
return False
|
||||
|
||||
if "aggregation_max" not in results:
|
||||
return False
|
||||
|
||||
n_aggregated_images = aggregator.counter
|
||||
|
||||
if n_aggregated_images >= results["aggregation_max"]:
|
||||
force_send_visualisation = True
|
||||
aggregator.reset()
|
||||
return True
|
||||
|
||||
return data, force_send_visualisation
|
||||
return False
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user