diff --git a/src/toolbox_scs/base/knife_edge.py b/src/toolbox_scs/base/knife_edge.py index 3ccac7ef0f3959774aaeea8d5999824f90028291..82e3aee85cf70731bcd2cb9f8bfbcff89a04c32e 100644 --- a/src/toolbox_scs/base/knife_edge.py +++ b/src/toolbox_scs/base/knife_edge.py @@ -49,17 +49,13 @@ def prepare_arrays(positions: np.ndarray, intensities: np.ndarray, assert positions.shape == intensities.shape # Clean both arrays by only getting finite values - positions, intensities = finite_array(positions, wrt=intensities) - intensities, positions = finite_array(intensities, wrt=positions) + finite_idx = np.isfinite(positions) & np.isfinite(intensities) + positions = positions[finite_idx] + intensities = intensities[finite_idx] return positions, intensities -def finite_array(array, *, wrt): - index = np.isfinite(wrt) - return array[index], wrt[index] - - def range_mask(array, minimum=None, maximum=None): default = np.ones(array.shape, dtype=np.bool) min_slice, max_slice = default, default