2D 高斯拟合
astropy 实时二维高斯拟合——检测 ROI,输出参数和轮廓线。
检测图像中的亮斑(如离子)。使用 skimage.features.blob_dog 进行亮斑检测。
输入:
输出:
np.array:包含亮斑位置掩码dict:检测到的亮斑数量 N_brightbloblist: the locations of the bright spotsdict: N_bright the number of bright spots detectedProperties:
imagestreams ([str]): Input streamsmax_sigma (float): Parameter from blob_dogthreshold (float): Parameter from blob_dogHint: 将输出流用作图像监视器中的掩码。
quatm.analysis.bright_spots.BrightSpots(name)Bases: object
run()quatm.analysis.bright_spots.main_run(name)模拟分析程序崩溃场景以测试容错。
对数据集执行一维高斯拟合。
Fit function: [ f(x) = \frac{A_0}{\sqrt{2\pi}\sigma} e^{\frac{-(x-\mu)^2}{2\sigma^2}} + C ]
Output: 输出为包含拟合结果字典和拟合曲线二维数组的数据流。
Fit parameter nomenclature:
A0: ( A_0 )sigma: ( \sigma )pos: ( \mu )offset: ( C )height: ( \frac{A_0}{\sqrt{2\pi}\sigma} )In older versions some of the parameters were named differently:
area: ( A_0 )height: ( A_0 )Format of the input datastream: The fit can handle two types of data:
numpy.array (data.ndim == 1): the y-values are taken from the data, and the x values are a linear spaced index from 0 to ny.numpy.array:x = data[0]y = data[1]Properties controlling the program:
datastreams: list of input datastreamsquatm.analysis.gaussfit.Gaussfit(name)Bases: object
run()quatm.analysis.gaussfit.main_run(name)Handle absorption imaging data. According to Beer’s Law, light travelling through an atomic cloud is attenuated by:
[ I = I_0 e^{-n(x,y)\sigma} ]
where ( I_0 ) is the intensity before the cloud (Imaging beam without atoms) and ( I ) is the attenuated intensity (Image with atoms), ( \sigma ) is the absorption cross section, and ( n(x,y) ) is the column density of the atoms. Transforming this equation allows us to determine the column density of the atoms from the import two images.
[ n(x,y) = \frac{ln(I_0/I)}{\sigma} ]
where ( \sigma ) is given by:
[ N_{atoms} = \frac{ln(I_0/I)}{\frac{\sigma_0}{1+(2\Delta/\Gamma)^2}} ]
where effscale rescales the value from atoms per ( m^2 ) to atoms per pixel.
[ \sigma_0 = \frac{\hbar\omega\Gamma}{2 I_{sat}/C_2} ]
where ( \omega ) is the angular frequency of the laser, ( \Gamma ) is the linewidth of the transition in angular frequencies, ( I_{sat} ) is the saturation intensity in SI units, and ( C_2 ) is the Clebsh-Gordon coefficient for the dipole transition.
Properties:
imagestreams: input datastreamsimageWithAtoms: index of the image containing the image data with atoms (0 being the first image in each run)imageWithoutAtoms: the image containing the image without atomsabsorptionCrossection: defaults to ( \sigma_0 )detuning_rad: detuning of the imaging laser from resonancelinewidth_rad: linewidth of the transitionquatm.analysis.imagedivider.ImageSlice(name)Bases: object
C_2 = 0.6666666666666666gamma = 36897377.3978814h_bar = 1.0545716346179718e-34isat = 25.4omega = 2807325165778985.0run()sig0 = 1.4335384024006802e-13quatm.analysis.imagedivider.main_run(name)使用 imgindex 从流中每次选取单张图像。
Input:
Output:
Properties:
imagestreams: ([str]) input image streamsSelectedImage: (int) the number of the image to be selected counting from 0.quatm.analysis.imageselector.ImageSlice(name)Bases: object
run()quatm.analysis.imageselector.main_run(name)从图像流中创建线性轨迹和子区域。
![Imageslice]
Input:
Output:
colsum_ (datastream): summation in the direction of columns (use only row that lie within the region of interest. (gray area))rowsum_ (datastream): summation along rowscolsumcut_, rowsumcut_: use only data within the region of interestcolint, rowint, colintcut, rowintcut: Perform numeric integration (which means the sum is multiplied by the metric pixel size)Properties:
cutimg: (bool) send the image inside the ROIcolsum: send the column sumrowsum: send the sum over the rowscolsumcut, rowsumcut: (bool) send the corresponding data restricted to the region of interestcolint, rowint, colintcut, rowintcut: similar to the sum version but taking into account the scale. Therefore these versions can be treated as integralsquatm.analysis.imageslice.ImageSlice(name)Bases: object
run()quatm.analysis.imageslice.main_run(name)astropy 实时二维高斯拟合——检测 ROI,输出参数和轮廓线。
Cython 加速一维高斯拟合——输出位置、宽度、幅度和 3D 峰值密度。
table_parameterItem 和 table_parameter 类扩展了 pyqtgraph 参数树的功能,使其能够以表格形式显示和编辑 NumPy 记录数组。通过注册自定义参数类型,这些类可以轻松地集成到现有的 pyqtgraph 应用程序中,提供灵活且强大的数据编辑功能。
这段代码实现了一个复杂的图形用户界面应用,用于科学实验数据的管理、分析和可视化。
这段代码实现了能够动态订阅、显示和更新数据流的数据可视化界面。
SubscriptionEditor 类提供了一个直观的界面,用户可以方便地管理数据和图像流的订阅。通过灵活的属性管理和用户交互,确保用户能够轻松地添加、删除和更新订阅,从而适应不断变化的需求和数据源。
这个脚本可以用于需要实时监控和展示数据流的应用程序,例如科学实验、工业监控和实时数据分析等。用户可以通过 GUI 配置数据流的订阅和绘图属性,实时查看和分析数据变化。
这个类适用于需要在图形界面中显示和管理多个兴趣区域的应用程序,特别是那些需要通过中心属性类来通信和管理属性的场景。例如,科学实验中的图像处理和分析,实时监控中的区域选择和管理等。
Cython 偏态正态拟合——额外输出偏度和众数。
这个代码实现了一个属性编辑器 GUI,用于管理和编辑属性树。
该代码实现了一个用于检查属性更新的 GUI 应用程序。通过 PropertiesChecker 类,用户可以定期检查属性是否更新,并在属性未更新时发出警报,使用了 Qt 的多种控件和信号槽机制来实现用户交互和数据更新。
该代码使用 Qt 库构建了一个 GUI 应用,用于显示和编辑数据流、图像数据和相机属性。代码主要定义了一些自定义窗口小部件(widgets),包括参数显示框、图像数据框和相机属性框,并实现了上下文菜单、订阅管理和数据选择对话框等功能。
该代码实现了一个基于 Qt 的应用程序,用于订阅和显示数据流或图像流。应用程序提供了一个可滚动的绘图窗口,用户可以通过多种交互方式来管理数据源和配置绘图属性。
该模块是一个用于在科学实验中实时绘制和分析数据的控件。该控件集成了 pyqtgraph 库,用于高效地绘制和更新图表。
该代码实现了一个基于 Qt 的图像查看器应用,名为 ImageWindow。这个应用包含一个中心图像显示区域和两个用于显示线图的侧边栏。用户可以通过该应用实时查看和分析图像数据,并调整图像的显示参数。
该代码实现了一个基于 Qt 的图像监控器应用,名为 ImageDisplay。这个应用能够接收并实时显示图像数据,并提供多种工具来调整和保存图像。用户可以通过该应用监控图像流,应用滤波器,调整显示参数,并保存当前图像。
Beer-Lambert 柱密度计算——有原子/无原子/背景三帧成像。
BrightSpots / IonState / SingleIonPresent——离子存在性与量子态判别。
热像素过滤/检测、图像旋转、切片、选择器和背景减法。