我编写了一个函数,将savitzky golay过滤器应用于data.table中的每一行。具有测量值的第一列作为参数给出,所有后面的列也包含要过滤的测量值。处理后的行会就地更新。
我的函数可以工作,但速度很慢。
如何更改函数以使其工作更高效、更像data.table?
MWE:
library(data.table)
library(pracma)
library(datasets)
data(iris)
setDT(iris)
#Reorder columns because function expects columns to apply a filter on
#startin
我有一个x和y数据集,x作为自变量,y作为因变量。
y=2x
我在“y”中添加了一些噪音,并应用了“scipy Golay”过滤器。当我试图得到y的一阶导数时,我得到的导数是0。我理解这是因为过滤器只接受'y‘作为输入。我希望有一个同时考虑x和y的过滤器,并且提供一个导数值。
在这里,我用表示不正确数据的图表显示了我的实现。
import numpy as np
from scipy import signal
import matplotlib.pyplot as plt
# create some sample twoD data
x = np.linspace(-3,3
有没有办法在R中的时间序列NDVI图像上运行savitzky golay滤波器?我已经尝试过使用‘signal’包中给出的以下代码;sg <- sgolayfilt(timeseries,3,5)。但是它返回下面的错误;
Error in if (all(is.na(x))) return(x) :
argument is not interpretable as logical
这里的文件"timeseries“是一个堆叠的光栅NDVI图像。有人能在这方面帮我吗?谢谢你的好意帮助。
我有一条熵曲线(1Dnumpy数组),但这条曲线有很多噪声。我想通过平滑来删除噪声。
这是我的曲线图:
我试着用Kaiser-Bessel滤波器制作一个卷积产品来解决这个问题:
gaussian_curve = window_kaiser(windowLength, beta=20) # kaiser filter
gaussian_curve = gaussian_curve / sum(gaussian_curve)
for i in range(0, windows_number):
start = (i * step) + 1
end = (i * ste
我有几组数据,我正在尝试匹配不同的配置文件。在其中一个最小值的中心有一个污染,这阻止了我做一个很好的拟合,就像你在这张图中看到的:
考虑到尖峰并不总是在同一位置,我如何剪除数据底部的那些尖峰?或者您将如何处理这样的数据?我使用lmfit来拟合轮廓,在本例中是洛伦兹和高斯。下面是一个最小的工作示例,其中我使用了初始值以更接近地拟合数据:
import numpy as np
import matplotlib.pyplot as plt
from lmfit import Model
from lmfit.models import GaussianModel, ConstantModel,
我很困惑。我有21个文件是由相同的进程生成的,我使用savitzky-golay过滤器使用相同的参数对它们进行过滤。它对某些文件正常工作,但在某一时刻,我收到了ValueError: array must not contain infs or NaNs。问题是,我检查了文件,没有任何infs或NaNs!
print "nan", df.isnull().sum()
print "inf", np.isinf(df).sum()
给出
nan x 0
T 0
std_T 0
sterr_T 0
dtype: int
当我和TypingError一起工作的时候,我正在面对numba。
我的函数在没有@jit(nopython=True)的情况下工作得很好,但是它会引发TypingError。
误差
TypingError: No implementation of function Function(<intrinsic exception_match>) found for signature:
exception_match(none, ValueError)
There are 2 candidate implementations:
- Of which 2 did
在使用Matlab2D滤波函数filter2(B,X)和卷积函数conv(X,B,'')时,我发现filter2函数本质上是二维卷积,但是滤波器系数矩阵的旋转是180度。就filter2和conv2的输出而言,我看到以下关系成立:
output matrix of filter2 = each element negated of output of conv2
编辑:我是不正确的;上述关系一般不成立,但我看到了一些情况。通常,这两个输出矩阵是不相关的,因为在这两个矩阵中都得到了两个完全不同的核,用于卷积。
我知道二维卷积是如何进行的。我想了解的是这在图像处理方面的含义。我怎
嗨,我正在尝试将应用到我所拥有的三维数据数组(带有xyz坐标的磁场数据)。当我运行我的程序时,我会得到错误: TypeError:预期的x和y具有相同的长度。我的数组有460798个单元长,每个单元都是一些坐标x,y,z的列表,我认为它必须用窗口大小参数来做一些事情。当我把它放在三,它工作很好,但我的数据点没有平滑。高于三,它不起作用。
I am trying to get the function to smooth the 3-D array.
mag = cdf['Mag'][start_ind:stop_ind) #mag is a 3-D array with co
我怎样才能发现孤立点取决于它的邻居。
我试着在路上检测车道,但由于路标和其他原因,这里有空值(-1)和噪音。对于null值,我将只使用此方法进行桥接。
def bridging(ar: np.ndarray):
v_start = 0
temp = 0
latch = False
for e, v in enumerate(ar):
if not latch:
if v == -1: # enter -1 values
latch = True
v_sta