diff --git a/src/geomtools/sfx/misc.py b/src/geomtools/sfx/misc.py index 39f968fff6d81e46711d23233048c8b76d596df3..0a8e637409941a2b0c92844beb1435500817109a 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 +