From 3f224662bad9251dc24a440a084adf110bad57c1 Mon Sep 17 00:00:00 2001 From: craig-warren Date: Sat, 6 Feb 2016 10:22:48 +0000 Subject: [PATCH] Added function to find zero crossings of signal. --- gprMax/utilities.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/gprMax/utilities.py b/gprMax/utilities.py index a6a1a28c..26588e1d 100644 --- a/gprMax/utilities.py +++ b/gprMax/utilities.py @@ -128,3 +128,18 @@ def human_size(size, a_kilobyte_is_1024_bytes=True): raise ValueError('Number is too large.') +def zero_crossings(data): + """Find location of zero crossings in 1D data array. + + Args: + data (float): 1D array + + Returns: + Array of indices (int). + """ + + pos = data > 0 + npos = ~pos + return ((pos[:-1] & npos[1:]) | (npos[:-1] & pos[1:])).nonzero()[0] + +