diff --git a/metobs/data/filter.py b/metobs/data/filter.py index 0fadc57742bf0c72c034a18c004a0636013796fc..9722524fb7e54d05ad4378890753d8ade5d99c0b 100644 --- a/metobs/data/filter.py +++ b/metobs/data/filter.py @@ -1,7 +1,7 @@ """Array filtering functions """ from numpy import ndarray, array, diff -from numpy.ma import MaskedArray, masked_array +from numpy.ma import MaskedArray, masked_array, masked_where __docformat__ = 'Epytext' __author__ = 'David Hoese' @@ -23,8 +23,12 @@ def filter_arr(arr, threshold, fill_value=None): if fill_value != None: arr = array(arr) if fill_value == None: arr = masked_array(arr) - diff_arr = diff(arr, n=1) + diff_arr = zeros(arr.shape[0]) + diff_arr[1:] = diff(arr, n=1) - if fill_value == None: arr = masked_where(diff_arr >= threshold, arr) + arr = masked_where(diff_arr >= threshold, arr) + if fill_value != None: + arr.fill_value = fill_value + arr = arr.filled() return arr \ No newline at end of file