renamed: pixel_mask_pf -> pixel_mask
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
#TODO: find a better way to handle this
|
||||
|
||||
def calc_apply_additional_mask(results, pixel_mask_pf):
|
||||
def calc_apply_additional_mask(results, pixel_mask):
|
||||
apply_additional_mask = results.get("apply_additional_mask", False)
|
||||
if not apply_additional_mask:
|
||||
return
|
||||
@@ -11,64 +11,64 @@ def calc_apply_additional_mask(results, pixel_mask_pf):
|
||||
|
||||
if detector_name == "JF06T08V07":
|
||||
# edge pixels
|
||||
pixel_mask_pf[0:1030, 1100] = 0
|
||||
pixel_mask_pf[0:1030, 1613] = 0
|
||||
pixel_mask_pf[0:1030, 1650] = 0
|
||||
pixel_mask[0:1030, 1100] = 0
|
||||
pixel_mask[0:1030, 1613] = 0
|
||||
pixel_mask[0:1030, 1650] = 0
|
||||
|
||||
pixel_mask_pf[67, 0:1063] = 0
|
||||
pixel_mask[67, 0:1063] = 0
|
||||
|
||||
pixel_mask_pf[67:1097, 513] = 0
|
||||
pixel_mask_pf[67:1097, 550] = 0
|
||||
pixel_mask_pf[67:1097, 1063] = 0
|
||||
pixel_mask[67:1097, 513] = 0
|
||||
pixel_mask[67:1097, 550] = 0
|
||||
pixel_mask[67:1097, 1063] = 0
|
||||
|
||||
pixel_mask_pf[1029, 1100:1614] = 0
|
||||
pixel_mask_pf[1029, 1650:2163] = 0
|
||||
pixel_mask[1029, 1100:1614] = 0
|
||||
pixel_mask[1029, 1650:2163] = 0
|
||||
|
||||
pixel_mask_pf[1039, 1168:1682] = 0
|
||||
pixel_mask_pf[1039, 1718:2230] = 0
|
||||
pixel_mask[1039, 1168:1682] = 0
|
||||
pixel_mask[1039, 1718:2230] = 0
|
||||
|
||||
pixel_mask_pf[1039:2069, 1168] = 0
|
||||
pixel_mask_pf[1039:2069, 1681] = 0
|
||||
pixel_mask_pf[1039:2069, 1718] = 0
|
||||
pixel_mask[1039:2069, 1168] = 0
|
||||
pixel_mask[1039:2069, 1681] = 0
|
||||
pixel_mask[1039:2069, 1718] = 0
|
||||
|
||||
pixel_mask_pf[1096, 0:513] = 0
|
||||
pixel_mask_pf[1096, 550:1064] = 0
|
||||
pixel_mask[1096, 0:513] = 0
|
||||
pixel_mask[1096, 550:1064] = 0
|
||||
|
||||
pixel_mask_pf[1106, 68:582] = 0
|
||||
pixel_mask_pf[1106, 618:1132] = 0
|
||||
pixel_mask[1106, 68:582] = 0
|
||||
pixel_mask[1106, 618:1132] = 0
|
||||
|
||||
pixel_mask_pf[1106:2136, 581] = 0
|
||||
pixel_mask_pf[1106:2136, 618] = 0
|
||||
pixel_mask_pf[1106:2136, 1131] = 0
|
||||
pixel_mask[1106:2136, 581] = 0
|
||||
pixel_mask[1106:2136, 618] = 0
|
||||
pixel_mask[1106:2136, 1131] = 0
|
||||
|
||||
pixel_mask_pf[2068, 1168:2232] = 0
|
||||
pixel_mask[2068, 1168:2232] = 0
|
||||
|
||||
# first bad region in left bottom inner module
|
||||
pixel_mask_pf[842:1097, 669:671] = 0
|
||||
pixel_mask[842:1097, 669:671] = 0
|
||||
|
||||
# second bad region in left bottom inner module
|
||||
pixel_mask_pf[1094, 620:807] = 0
|
||||
pixel_mask[1094, 620:807] = 0
|
||||
|
||||
# vertical line in upper left bottom module
|
||||
pixel_mask_pf[842:1072, 87:90] = 0
|
||||
pixel_mask[842:1072, 87:90] = 0
|
||||
|
||||
# horizontal line?
|
||||
pixel_mask_pf[1794, 1503:1550] = 0
|
||||
pixel_mask[1794, 1503:1550] = 0
|
||||
|
||||
# killed by CC
|
||||
pixel_mask_pf[1499, 655:692] = 0
|
||||
pixel_mask[1499, 655:692] = 0
|
||||
|
||||
# module 12 right column
|
||||
pixel_mask_pf[68:1096, 1062] = 0
|
||||
pixel_mask[68:1096, 1062] = 0
|
||||
|
||||
# module 16 left column
|
||||
pixel_mask_pf[0:1028, 1101] = 0
|
||||
pixel_mask[0:1028, 1101] = 0
|
||||
|
||||
|
||||
|
||||
elif detector_name == "JF17T16V01":
|
||||
# mask module 11
|
||||
pixel_mask_pf[2619:3333,1577:2607] = 0
|
||||
pixel_mask[2619:3333,1577:2607] = 0
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import numpy as np
|
||||
DEFAULT_MASK_DATASET = "mask_data"
|
||||
|
||||
|
||||
def calc_apply_additional_mask_from_file(results, pixel_mask_pf):
|
||||
def calc_apply_additional_mask_from_file(results, pixel_mask):
|
||||
apply_additional_mask = results.get("apply_additional_mask_from_file", False)
|
||||
if not apply_additional_mask:
|
||||
return
|
||||
@@ -31,6 +31,6 @@ def calc_apply_additional_mask_from_file(results, pixel_mask_pf):
|
||||
return
|
||||
|
||||
try:
|
||||
np.multiply(pixel_mask_pf, mask, out=pixel_mask_pf)
|
||||
np.multiply(pixel_mask, mask, out=pixel_mask)
|
||||
except Exception as error:
|
||||
results["mask_error"] = f"Error applying additional mask from file {mask_file}:\n{error}"
|
||||
|
||||
@@ -2,14 +2,14 @@ from .mask import calc_mask_pixels
|
||||
from .thresh import threshold
|
||||
|
||||
|
||||
def calc_apply_aggregation(results, data, pixel_mask_pf, aggregator):
|
||||
def calc_apply_aggregation(results, data, pixel_mask, aggregator):
|
||||
# last round was ready, restart
|
||||
if aggregator.is_ready():
|
||||
aggregator.reset()
|
||||
|
||||
calc_apply_threshold(results, data) # changes data in place
|
||||
data = calc_aggregate(results, data, aggregator)
|
||||
calc_mask_pixels(data, pixel_mask_pf) # changes data in place
|
||||
calc_mask_pixels(data, pixel_mask) # changes data in place
|
||||
|
||||
aggregator.nmax = results.get("aggregation_max")
|
||||
aggregation_is_ready = aggregator.is_ready()
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import numpy as np
|
||||
|
||||
|
||||
def calc_mask_pixels(data, pixel_mask_pf):
|
||||
if pixel_mask_pf is None:
|
||||
def calc_mask_pixels(data, pixel_mask):
|
||||
if pixel_mask is None:
|
||||
return
|
||||
|
||||
data[~pixel_mask_pf] = np.nan
|
||||
data[~pixel_mask] = np.nan
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -5,12 +5,12 @@ import numpy as np
|
||||
from peakfinder8_extension import peakfinder_8
|
||||
|
||||
|
||||
def calc_peakfinder_analysis(results, data, pixel_mask_pf):
|
||||
def calc_peakfinder_analysis(results, data, pixel_mask):
|
||||
do_peakfinder_analysis = results.get("do_peakfinder_analysis", False)
|
||||
if not do_peakfinder_analysis:
|
||||
return
|
||||
|
||||
if pixel_mask_pf is None:
|
||||
if pixel_mask is None:
|
||||
return
|
||||
|
||||
for k in ("beam_center_x", "beam_center_y", "hitfinder_min_snr", "hitfinder_min_pix_count", "hitfinder_adc_thresh"):
|
||||
@@ -39,7 +39,7 @@ def calc_peakfinder_analysis(results, data, pixel_mask_pf):
|
||||
peak_list_x, peak_list_y, peak_list_value = peakfinder_8(
|
||||
max_num_peaks,
|
||||
data.astype(np.float32),
|
||||
pixel_mask_pf.astype(np.int8),
|
||||
pixel_mask.astype(np.int8),
|
||||
pix_r.astype(np.float32),
|
||||
asic_nx, asic_ny,
|
||||
nasics_x, nasics_y,
|
||||
|
||||
@@ -4,7 +4,7 @@ from .thresh import threshold
|
||||
from .utils import npmemo
|
||||
|
||||
|
||||
def calc_radial_integration(results, data, pixel_mask_pf):
|
||||
def calc_radial_integration(results, data, pixel_mask):
|
||||
do_radial_integration = results.get("do_radial_integration", False)
|
||||
if not do_radial_integration:
|
||||
return
|
||||
@@ -12,14 +12,14 @@ def calc_radial_integration(results, data, pixel_mask_pf):
|
||||
center_x = results["beam_center_x"]
|
||||
center_y = results["beam_center_y"]
|
||||
|
||||
rad, norm = prepare_radial_profile(data.shape, center_x, center_y, pixel_mask_pf)
|
||||
rad, norm = prepare_radial_profile(data.shape, center_x, center_y, pixel_mask)
|
||||
|
||||
r_min = min(rad)
|
||||
r_max = max(rad) + 1
|
||||
|
||||
data = calc_apply_threshold(results, data)
|
||||
|
||||
rp = radial_profile(data, rad, norm, pixel_mask_pf)
|
||||
rp = radial_profile(data, rad, norm, pixel_mask)
|
||||
|
||||
silent_min = results.get("radial_integration_silent_min", None)
|
||||
silent_max = results.get("radial_integration_silent_max", None)
|
||||
|
||||
@@ -105,32 +105,32 @@ def work(backend_addr, accumulator_addr, visualisation_addr, fn_config, skip_fra
|
||||
if image is None:
|
||||
continue
|
||||
|
||||
pixel_mask_pf = jfdata.get_pixel_mask(results, double_pixels)
|
||||
pixel_mask = jfdata.get_pixel_mask(results, double_pixels)
|
||||
|
||||
if pixel_mask_pf is not None:
|
||||
if pixel_mask is not None:
|
||||
saturated_pixels_y, saturated_pixels_x = jfdata.get_saturated_pixels(raw_image, double_pixels)
|
||||
results["saturated_pixels"] = len(saturated_pixels_x)
|
||||
results["saturated_pixels_x"] = saturated_pixels_x.tolist()
|
||||
results["saturated_pixels_y"] = saturated_pixels_y.tolist()
|
||||
|
||||
|
||||
calc_radial_integration(results, image, pixel_mask_pf)
|
||||
calc_radial_integration(results, image, pixel_mask)
|
||||
|
||||
pfimage = image.copy() #TODO: is this copy needed?
|
||||
|
||||
calc_mask_pixels(pfimage, pixel_mask_pf) # changes pfimage in place
|
||||
calc_mask_pixels(pfimage, pixel_mask) # changes pfimage in place
|
||||
calc_apply_threshold(results, pfimage) # changes pfimage in place
|
||||
calc_roi(results, pfimage, pixel_mask_pf)
|
||||
calc_roi(results, pfimage, pixel_mask)
|
||||
calc_spi_analysis(results, pfimage)
|
||||
calc_peakfinder_analysis(results, pfimage, pixel_mask_pf)
|
||||
calc_peakfinder_analysis(results, pfimage, pixel_mask)
|
||||
|
||||
# ???
|
||||
|
||||
# Streak finder processing for convergent-beam diffraction experiments
|
||||
# changes image and mask in place if do_snr=True in parameters file
|
||||
image = calc_streakfinder_analysis(results, image, pixel_mask_pf)
|
||||
image = calc_streakfinder_analysis(results, image, pixel_mask)
|
||||
|
||||
image, aggregation_is_ready = calc_apply_aggregation(results, image, pixel_mask_pf, aggregator)
|
||||
image, aggregation_is_ready = calc_apply_aggregation(results, image, pixel_mask, aggregator)
|
||||
|
||||
results["type"] = str(image.dtype)
|
||||
results["shape"] = image.shape
|
||||
|
||||
Reference in New Issue
Block a user