Skip to content
Snippets Groups Projects

[Gotthard2][Dark] Calculate noise bpixs in multiple iterations

Merged Karim Ahmed requested to merge feat/iterate_to_calculate_noise_bpix into master
2 unresolved threads
1 file
+ 20
5
Compare changes
  • Side-by-side
  • Inline
acquisition_rate = -1. # Detector acquisition rate (1.1/4.5), set to -1 to use value in raw file.
acquisition_rate = -1. # Detector acquisition rate (1.1/4.5), set to -1 to use value in raw file.
single_photon = -1 # Detector single photon mode (High/Low CDS), set to -1 to use value in raw file.
single_photon = -1 # Detector single photon mode (High/Low CDS), set to -1 to use value in raw file.
 
# Parameters used for calculating calibration constants
 
bpix_noise_nitrs = 2 # number of maximum iterations to actively try to reach correct number of badpixels of NOISE_OUT_OF_THRESHOLD type. Leave -1 to keep iterating until finding maximum number of badpixels.
# Parameters used during selecting raw data trains.
# Parameters used during selecting raw data trains.
min_trains = 1 # Minimum number of trains that should be available to process dark constants. Default 1.
min_trains = 1 # Minimum number of trains that should be available to process dark constants. Default 1.
max_trains = 1000 # Maximum number of trains to use for processing dark constants. Set to 0 to use all available trains.
max_trains = 1000 # Maximum number of trains to use for processing dark constants. Set to 0 to use all available trains.
~np.isfinite(offset_map[mod])
~np.isfinite(offset_map[mod])
] |= BadPixels.OFFSET_NOISE_EVAL_ERROR.value
] |= BadPixels.OFFSET_NOISE_EVAL_ERROR.value
badpixels_map[mod][
badpixels_map[mod][
eval_bpidx(noise_map[mod])
] |= BadPixels.NOISE_OUT_OF_THRESHOLD.value
badpixels_map[mod][
~np.isfinite(noise_map[mod])
~np.isfinite(noise_map[mod])
] |= BadPixels.OFFSET_NOISE_EVAL_ERROR.value
] |= BadPixels.OFFSET_NOISE_EVAL_ERROR.value
if not local_output:
 
nmap = noise_map[mod].copy()
 
last_nbpix = 0
 
# Calculate NOISE_OUT_OF_THRESHOLD bpix in multiple iterations.
 
while bpix_noise_nitrs > 0:
 
badpixels_map[mod][
 
eval_bpidx(nmap)
 
] |= BadPixels.NOISE_OUT_OF_THRESHOLD.value
 
nmap[badpixels_map[mod] > 0] = np.nan
 
recent_nbpix = np.count_nonzero(badpixels_map[mod])
 
 
if last_nbpix == recent_nbpix:
 
bpix_noise_nitrs = 0
 
else:
 
bpix_noise_nitrs = bpix_noise_nitrs - 1
 
last_nbpix = recent_nbpix
 
 
if local_output:
for cell in [0, 1]:
for cell in [0, 1]:
fig, ax = plt.subplots(figsize=(10, 5))
fig, ax = plt.subplots(figsize=(10, 5))
for g_idx in [0, 1, 2]:
for g_idx in [0, 1, 2]:
Loading