Python 多元高斯曲线的数据拟合

Python 多元高斯曲线的数据拟合,python,matlab,statistics,curve-fitting,gaussian,Python,Matlab,Statistics,Curve Fitting,Gaussian,我有一张质子束撞击闪烁片的图像。该图像已过滤为灰阶8位bmp文件。我可以使用python/matlab基本上得到一个大的数据点列表,其中每个点包括一个x、y位置和一个z大小 束斑 放大曲面图 我想用高斯函数对我的z数据建模,然后找到曲线最大值一半处的全宽。如何将多元高斯拟合到数据中?是否有这样一个Matlab/Python包或任何其他方式、代码等?这似乎是一个非常适合ROOT的工作,ROOT提供了Python绑定 如果您熟悉ROOT,只需创建一个TH2直方图并用点填充,其中8位彩色图像的强度就

我有一张质子束撞击闪烁片的图像。该图像已过滤为灰阶8位bmp文件。我可以使用python/matlab基本上得到一个大的数据点列表,其中每个点包括一个x、y位置和一个z大小

束斑

放大曲面图


我想用高斯函数对我的z数据建模,然后找到曲线最大值一半处的全宽。如何将多元高斯拟合到数据中?是否有这样一个Matlab/Python包或任何其他方式、代码等?

这似乎是一个非常适合ROOT的工作,ROOT提供了Python绑定

如果您熟悉ROOT,只需创建一个TH2直方图并用点填充,其中8位彩色图像的强度就是直方图计数。然后将TF2公式定义为二维高斯公式,并使用拟合方法minuit算法对其进行拟合

一些链接:

嘿,迈克。有趣的问题!因为我们看到的是二维高斯分布,所以半最大半高宽的全宽有两个值,对吗?嘿,你看过这个链接了吗?这不正是你需要的吗?@Takeshi H.我想你是对的。@ББјааМааааСааааааа107。如果你这样做,你会用什么来制作fitType?我需要创建我自己的函数吗?如果在该页面上对Gauss执行ctrl+f,您会发现可以指定自己的拟合方程。在你的例子中,你可以指定高斯函数作为拟合方程。请注意,您需要运行此工具两次:一次用于图像的每个轴。