def gaussian_smoothing(self, data=None, filter_len=None, filter_sigma=None):
""" This method convolves the data with a gaussian
the smoothed data is returned
@param array data: raw data
@param int filter_len: length of filter
@param int filter_sigma: width of gaussian
@return array: smoothed data
"""
#Todo: Check for wrong data type
if filter_len is None:
if len(data) < 20.:
filter_len = 5
elif len(data) >= 100.:
filter_len = 10
else:
filter_len = int(len(data) / 10.) + 1
if filter_sigma is None:
filter_sigma = filter_len
gaus = gaussian(filter_len, filter_sigma)
return filters.convolve1d(data, gaus / gaus.sum(), mode='mirror')
评论列表
文章目录