From 0a17ce28dced4edd8ce02b7611da528fba45f8ee Mon Sep 17 00:00:00 2001 From: ferrari <maxence.ferrari@gmail.com> Date: Wed, 28 Jun 2023 11:13:26 +0200 Subject: [PATCH] Add a bound check for positions --- gsrp_tdoa_hyperres.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gsrp_tdoa_hyperres.py b/gsrp_tdoa_hyperres.py index f514a29..b3b29d6 100755 --- a/gsrp_tdoa_hyperres.py +++ b/gsrp_tdoa_hyperres.py @@ -206,6 +206,10 @@ def main(args): # Position where the TDOAs are computed if os.path.isfile(args.stride): pos = (sr * np.loadtxt(args.stride, delimiter=',')).astype(int).ravel() + if any(pos < 0) or any(pos >= len(sound)): + print(f'{BColors.WARNING}Discarding {np.sum(pos <0) + np.sum(pos >= len(sound))} out of bounds out of the ' + f'{len(pos)} loaded positions{BColors.ENDC}') + pos = pos[(0 <= pos) & (pos < len(sound))] else: try: pos = np.arange(0, len(sound), int(sr * float(args.stride))) -- GitLab