From b29d04aa81c108b405bcf867fde119537d286b1d Mon Sep 17 00:00:00 2001 From: Egor Sobolev <egor.sobolev@xfel.eu> Date: Fri, 28 Jul 2023 13:22:38 +0200 Subject: [PATCH] Add RMSd in computation of average displacements --- src/geomtools/sfx/misc.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/geomtools/sfx/misc.py b/src/geomtools/sfx/misc.py index 39f968f..0a8e637 100644 --- a/src/geomtools/sfx/misc.py +++ b/src/geomtools/sfx/misc.py @@ -54,16 +54,17 @@ def get_peak_position(peaks, panels): def avg_pixel_displacement(match, panels): if 'panel_p' in match.columns: - pxdispl = match[['dx', 'dy', 'peakno', 'panel_p']].copy() + pxdispl = match[['dx', 'dy', 'r2', 'peakno', 'panel_p']].copy() pxdispl = pxdispl.rename(columns={'panel_p': 'panel'}) else: - pxdispl = match[['dx', 'dy', 'peakno', 'panel']].copy() + pxdispl = match[['dx', 'dy', 'r2', 'peakno', 'panel']].copy() pxdispl['fsi'] = np.floor(match['fs_p']).astype(int) pxdispl['ssi'] = np.floor(match['ss_p']).astype(int) pxdispl = pxdispl.groupby(['panel', 'fsi', 'ssi']).agg( dx_avg=('dx', 'median'), dy_avg=('dy', 'median'), + rmsd=('r2', lambda x: np.sqrt(x.mean())), num=('peakno', 'count') ) pxdispl['r_avg'] = np.sqrt(pxdispl.dx_avg * pxdispl.dx_avg + -- GitLab