def derampMatrix(displ):
""" Deramp through fitting a bilinear plane
Data is also de-meaned
"""
if displ.ndim != 2:
raise TypeError('Displacement has to be 2-dim array')
mx = num.nanmedian(displ, axis=0)
my = num.nanmedian(displ, axis=1)
ix = num.arange(mx.size)
iy = num.arange(my.size)
dx, cx, _, _, _ = sp.stats.linregress(ix[~num.isnan(mx)],
mx[~num.isnan(mx)])
dy, cy, _, _, _ = sp.stats.linregress(iy[~num.isnan(my)],
my[~num.isnan(my)])
rx = (ix * dx)
ry = (iy * dy)
data = displ - (rx[num.newaxis, :] + ry[:, num.newaxis])
data -= num.nanmean(data)
return data
评论列表
文章目录