From e936fff58f56abbfe7786ea570607ed2a4c9e06c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Le=20Guyader?= <loic.le.guyader@xfel.eu> Date: Tue, 11 Apr 2023 11:41:39 +0200 Subject: [PATCH] Add drop intra darks option in BOZ parameters object --- src/toolbox_scs/routines/boz.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/toolbox_scs/routines/boz.py b/src/toolbox_scs/routines/boz.py index 856751e..a7707e9 100644 --- a/src/toolbox_scs/routines/boz.py +++ b/src/toolbox_scs/routines/boz.py @@ -76,14 +76,17 @@ class parameters(): run: int, run number for the data run module: int, DSSC module number gain: float, number of ph per bin + drop_intra_darks: drop every second DSSC frame """ - def __init__(self, proposal, darkrun, run, module, gain): + def __init__(self, proposal, darkrun, run, module, gain, + drop_intra_darks=True): self.proposal = proposal self.darkrun = darkrun self.run = run self.module = module self.pixel_pos = _get_pixel_pos(self.module) self.gain = gain + self.drop_intra_darks = drop_intra_darks self.mask = None self.mask_idx = None @@ -116,9 +119,10 @@ class parameters(): def dask_load_persistently(self): """Load dask data array in memory.""" self.arr_dark, self.tid_dark = load_dssc_module(self.proposal, - self.darkrun, self.module, drop_intra_darks=True, persist=True) + self.darkrun, self.module, drop_intra_darks=self.drop_intra_darks, + persist=True) self.arr, self.tid = load_dssc_module(self.proposal, self.run, - self.module, drop_intra_darks=True, persist=True) + self.module, drop_intra_darks=self.drop_intra_darks, persist=True) # make sure to rechunk the arrays self.arr = self.arr.rechunk(('auto', -1, -1, -1)) @@ -249,6 +253,7 @@ class parameters(): v['run'] = self.run v['module'] = self.module v['gain'] = self.gain + v['drop_intra_darks'] = self.drop_intra_darks v['mask'] = self.mask_idx v['mean_th'] = self.mean_th @@ -287,7 +292,8 @@ class parameters(): """ with open(fname, 'r') as f: v = json.load(f) - c = cls(v['proposal'], v['darkrun'], v['run'], v['module'], v['gain']) + c = cls(v['proposal'], v['darkrun'], v['run'], v['module'], v['gain'], + v['drop_intra_darks']) c.mean_th = v['mean_th'] c.std_th = v['std_th'] @@ -313,6 +319,7 @@ class parameters(): def __str__(self): f = f'proposal:{self.proposal} darkrun:{self.darkrun} run:{self.run}' f += f' module:{self.module} gain:{self.gain} ph/bin\n' + f += f'drop intra darks:{self.drop_intra_darks}\n' if self.mask_idx is not None: f += f'mean threshold:{self.mean_th} std threshold:{self.std_th}\n' -- GitLab