<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Data and analysis on Quatm</title><link>https://www.quatm.com/en/docs/data-analysis/</link><description>Recent content in Data and analysis on Quatm</description><generator>Hugo</generator><language>en</language><atom:link href="https://www.quatm.com/en/docs/data-analysis/index.xml" rel="self" type="application/rss+xml"/><item><title>2D Gaussian fit</title><link>https://www.quatm.com/en/docs/data-analysis/2d-gaussian-fit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.quatm.com/en/docs/data-analysis/2d-gaussian-fit/</guid><description>Overview quatm/analysis/2D_gauss_fit.py provides 2D Gaussian fit analysis (TwoDGaussFit): it subscribes to an image stream and, on receiving an image, performs a 2D Gaussian fit inside the ROI (astropy Gaussian2D + Const2D, Levenberg-Marquardt iterations), publishes the fit parameters to the data stream and sends 1/e and 1/e² contour masks back to the image stream.
A fast variant, quatm/analysis/2D_gauss_fit_fast.py, is also available: the core fit is implemented in a Cython extension, and the interface and functionality are identical.</description></item><item><title>1D Gaussian fit</title><link>https://www.quatm.com/en/docs/data-analysis/1d-gaussian-fit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.quatm.com/en/docs/data-analysis/1d-gaussian-fit/</guid><description>Overview quatm/analysis/gaussfit.py provides 1D Gaussian fit analysis (Gaussfit): as a standalone analysis process it subscribes to data streams, fits a Gaussian to each frame of 1D data and publishes the results to the data stream.
The fit function has the form:
f(x) = A0 / (sqrt(2*pi) * sigma) * exp(-(x - pos)^2 / (2*sigma^2)) + offset The output parameters are A0 (area), sigma (width), pos (center), offset (background) and height (peak height = A0/(sqrt(2π)·σ)).</description></item><item><title>Data management and analysis module</title><link>https://www.quatm.com/en/docs/data-analysis/data-management-and-analysis-module/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.quatm.com/en/docs/data-analysis/data-management-and-analysis-module/</guid><description>Overview The data management and analysis module aggregates the data streams produced by an experiment into a complete record for each run and persists them. DataSummary in quatm/servers/datamgr.py is the aggregation core: it subscribes to a number of data channels plus experiment start/end events, organizes the data of each run into a complete dictionary that can be written to HDF5, read back and cleared. quatm/GUI/h5storage/ provides the data-management interface built on it (subscription, periodic saving and plotting).</description></item><item><title>Data stream subscription management</title><link>https://www.quatm.com/en/docs/data-analysis/data-stream-subscription-management/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.quatm.com/en/docs/data-analysis/data-stream-subscription-management/</guid><description>Overview quatm/GUI/entries/scrollwindow.py provides data stream subscription management (ScrollWindow): a multi-channel scrolling data-view main window that lays out ScrollPlot subplots by count (two per row) and uniformly distributes data blocks to the corresponding subplots and refreshes them; PlotDataEditor provides drop-down selection of data/image streams.
Components Component Description ScrollWindow Main window: creates subplots by count, distributes data and refreshes ScrollPlot Scrolling subplot: subscribes to data streams, ring buffer + periodic refresh PlotDataEditor Data-source selection panel: drop-down candidates written back to the property ydata Key methods Method Description initPlots / feedData / updatePlot (ScrollWindow) Create subplots / feed data / batch refresh setnewData (ScrollPlot) Periodically pulls data and refreshes the curve dataSelectDialog / subscribe_window / configureWindow (ScrollPlot) Select channels / change subscription / configure this plot updateDatachannel (PlotDataEditor) Writes the selected stream into the property ydata when the drop-down changes Usage from quatm.</description></item><item><title>Graphical ROI manager</title><link>https://www.quatm.com/en/docs/data-analysis/graphical-roi-manager/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.quatm.com/en/docs/data-analysis/graphical-roi-manager/</guid><description>Overview quatm/GUI/widgets/ROI.py provides ROI: a subclass of ROI that communicates its color, position and size through the central property store under a unique name. It is suited to displaying and managing multiple regions of interest in a GUI and letting remote clients view and adjust them in sync.
Methods Method Description update_from_properties Refreshes the ROI pen color and geometry from the color/position/size in properties Usage from quatm.GUI.widgets.ROI import ROI roi = ROI(name=&amp;#34;analysis_roi&amp;#34;, parent=view) # name must be unique; duplicate names share properties roi.</description></item><item><title>Live updating plot</title><link>https://www.quatm.com/en/docs/data-analysis/live-updating-plot/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.quatm.com/en/docs/data-analysis/live-updating-plot/</guid><description>Overview quatm/GUI/entries/updating_plot.py provides the live updating plot: UpdatingPlot is a subclass of PlotItem that subscribes to data streams and periodically pulls new data to refresh the curve; LivePlot, by contrast, is a widget container that embeds an UpdatingPlot and can carry an image-stream name, which makes it convenient to embed as a dock panel in other windows.
Components Component Description UpdatingPlot Live plot item: subscribes to data streams and keeps updating the curve LivePlot Widget container: embeds one UpdatingPlot and can carry an image stream Key methods (UpdatingPlot) Method Description setnewData Periodically pulls new data; for 1D arrays it automatically adds an x axis and then updates the curve updateConfiguration Cancels the old subscriptions, resubscribes according to the stream list configured in properties and rebuilds the curves subscribe_window Opens the subscription editor to select data streams and reapply the configuration configureWindow Opens the property-edit dialog to adjust display settings Usage from quatm.</description></item><item><title>Subscription editor</title><link>https://www.quatm.com/en/docs/data-analysis/subscription-editor/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.quatm.com/en/docs/data-analysis/subscription-editor/</guid><description>Overview quatm/GUI/editors/subscription_editor.py provides the subscription editor (SubscriptionEditor): it manages the program&amp;rsquo;s subscriptions to data or image streams. The interface shows the current subscription list, offers a drop-down to select a new stream and add it, and allows subscriptions to be deleted; changes are synchronized immediately to the property store and a signal is broadcast, so that plotting/monitoring components can update on the fly.
Key methods Method Description loadSubscriptions Reads the saved subscriptions from the property store and loads them into the list handle_property_changes Listens for property changes: when this subscription key changes, refreshes the list and broadcasts update_streamlist Rebuilds the drop-down candidates from the currently available data-stream list add Adds the stream selected in the drop-down to the subscriptions and synchronizes properties deletemarked Removes the subscriptions marked for deletion and synchronizes properties Usage from quatm.</description></item><item><title>Table widget</title><link>https://www.quatm.com/en/docs/data-analysis/table-widget/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.quatm.com/en/docs/data-analysis/table-widget/</guid><description>Overview quatm/GUI/widgets/table_parameter.py provides the table widget (table_parameter): it extends the parameter tree so that parameters holding NumPy record arrays can be displayed and edited in tabular form, and can be registered as a reusable custom parameter type via registerParameterType.
Components Component Description table_parameterItem Table-widget parameter item for editing record arrays (a WidgetParameterItem subclass) table_parameter Table parameter type (a Parameter subclass), used together with the item above Key methods Method Description makeWidget (table_parameterItem) Creates a QTableWidget editor from the recArray dtype value / setValue (table_parameterItem) Reads back cell by cell from the table / writes the array cell by cell valueChanged (table_parameterItem) Refreshes the table and label when the parameter value changes setValue / valueIsDefault (table_parameter) Sets the parameter value / tests whether it is the default value Usage from quatm.</description></item><item><title>Data, image and camera editor</title><link>https://www.quatm.com/en/docs/data-analysis/data-image-and-camera-editor/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.quatm.com/en/docs/data-analysis/data-image-and-camera-editor/</guid><description>Overview An earlier unified interface provided a set of widgets, ParameterBox / ImageDataBox / CamPropsBox / DataBox, for displaying a single data-stream value, image data and camera properties as compact boxes, with right-click subscription and data selection. As the GUI was split up and evolved, these capabilities have been taken over by the current components:
Legacy component Function Current implementation ParameterBox Compact display of a single data-stream value Parameter box widgets (widgets/arg_boxes etc.</description></item><item><title>Image monitor</title><link>https://www.quatm.com/en/docs/data-analysis/image-monitor/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.quatm.com/en/docs/data-analysis/image-monitor/</guid><description>Overview quatm/GUI/entries/image_monitor.py provides the image monitor (ImageDisplay): an automatically updating image display window that periodically pulls the latest frame from the image streams subscribed in properties, transforms it according to resolution and offset, refreshes the display and synchronously overlays mask streams. It has built-in noise reduction, bright-spot detection, saving of the current frame and property configuration (display levels, ROI, etc.).
Methods Method Description update_image / update_mask Periodically pulls the image/mask stream and refreshes the display and overlay noise_filter Bilateral filtering + median filtering noise reduction using property parameters spot_detector Binarizes the image by threshold to detect bright spots saveCurrentImage Saves the currently displayed frame as PNG (named by time) subscribe_window / subscribe_mask Opens the subscription dialog to select image/mask streams and resubscribes configureWindow Opens the property-edit dialog to adjust display levels, ROI, etc.</description></item><item><title>Image viewer</title><link>https://www.quatm.com/en/docs/data-analysis/image-viewer/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.quatm.com/en/docs/data-analysis/image-viewer/</guid><description>Overview quatm/GUI/entries/image_group.py provides the image viewer window (ImageWindow): with a central ImageDisplay image display as the main widget and docked panels for row/column line profiles and the histogram color scale around it, it is used for live monitoring and analysis in imaging experiments.
Layout structure Dock area Widget Purpose Center ImageDisplay Subscribes to image streams and refreshes automatically; masks can be overlaid Top LivePlot (row profile) Intensity distribution for image rows Right LivePlot (column profile) Intensity distribution for image columns Left HistogramLUTWidget Histogram color scale: level range and false-color mapping Display parameters (in the Viewer/ namespace: min/max levels, gradient, tick_position) are restored from properties on construction and saved on close.</description></item><item><title>Live data monitor</title><link>https://www.quatm.com/en/docs/data-analysis/live-data-monitor/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.quatm.com/en/docs/data-analysis/live-data-monitor/</guid><description>Overview quatm/GUI/alignment/plotter.py provides the live data monitor (DataPlotterWidget): it plots the data acquired during a measurement. It supports switching the data source and provides an x-axis selector and several y-axis selectors; each y axis is processed through a configurable data chain (scale factor → filter → binning/fitting) before being drawn in the plot area, and the result can be exported to PDF.
Components Component Description DataPlotterWidget Main plot: data-source drop-down, x-axis selector, several y-axis selectors (right-click toggles the configuration panel) YAxisWidgetHelper y-axis data chain: scale factor, filter, binning and fitting Key methods Method Description setDataSource Sets or changes the data source checkForNewData / updateDatasources Checks for new data / new data sources and refreshes plotData Adds a set of x/y data to the plot area as a new curve toggleConfig Toggles display of the data-source and y-axis configuration panel exportpdf Exports the current plot as an archival-quality PDF clear Clears the data summary and all curves in the plot area Y-axis chain (YAxisWidgetHelper): updateYscale sets the scale factor; the context menu offers addBinning for binning and addFitting for fitting (e.</description></item><item><title>Property editor</title><link>https://www.quatm.com/en/docs/data-analysis/property-editor/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.quatm.com/en/docs/data-analysis/property-editor/</guid><description>Overview quatm/GUI/entries/property_editor.py provides the property editor: it presents the key/value tree of the property store as an expandable, editable parameter tree, and modifications are written back immediately. It supports browsing by subtree, searching, saving/loading and deleting the selected nodes.
Components Component Description TreeEdit Extracts information from Properties and organizes it into a tree-view structure PropEdit Property editing main window (ParameterTree): subtree browsing, search, save/delete ScalableGroup Special parameter group: automatically generates two mutually reciprocal child parameters PropSelector Key-list selector: checks keys from the property tree and maintains a key list Usage from quatm.</description></item><item><title>Property update manager</title><link>https://www.quatm.com/en/docs/data-analysis/property-update-manager/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.quatm.com/en/docs/data-analysis/property-update-manager/</guid><description>Overview quatm/analysis/props_check.py provides the property update manager (PropsCheck): a watchdog that runs as a standalone analysis process and periodically reads the timestamp property specified by the property path _prop_path_abs; if it has not been updated for longer than _deadman_delay_sec, an alarm is raised through send_error (Mattermost can be configured).
Key methods Method Description run Periodically checks whether the timestamp property is fresh and raises an alarm in Deadman fashion on timeout Usage from quatm.</description></item><item><title>Skewed Gaussian fit</title><link>https://www.quatm.com/en/docs/data-analysis/skewed-gaussian-fit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.quatm.com/en/docs/data-analysis/skewed-gaussian-fit/</guid><description>Overview quatm/analysis/gaussfit_skewed.py provides skewed Gaussian fit analysis (GaussfitSkewed): it fits a skew-normal distribution to each frame of 1D data in a data stream and publishes the results to the data stream. Compared with an ordinary Gaussian fit, the skewed Gaussian describes asymmetric (tailed) peak shapes better, and the results additionally include the skewness parameter and the peak position.
Usage from quatm.analysis.gaussfit_skewed import GaussfitSkewed gs = GaussfitSkewed(name=&amp;#34;skewed&amp;#34;) # name serves as the property/data-stream namespace gs.</description></item><item><title>Data and image stream monitor</title><link>https://www.quatm.com/en/docs/data-analysis/data-and-image-stream-monitor/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.quatm.com/en/docs/data-analysis/data-and-image-stream-monitor/</guid><description>Overview quatm/GUI/entries/live_plot.py provides data-stream/image-stream scrolling monitoring (ScrollPlot): inside the multi-subplot scrolling window ScrollWindow, each ScrollPlot subscribes to several channels of one data stream, maintains a ring buffer and scrolls scatter points and a moving-average curve; PlotDataEditor provides a data-source selection drop-down.
Components Component Description ScrollWindow Multi-subplot scrolling main window: restorePlots restores / addPlot appends subplots ScrollPlot Scrolling subplot: ring buffer, scatter and moving average, context-menu operations PlotDataEditor Data-source selection panel: drop-down candidates written back to properties/the parent plot Key methods (ScrollPlot) Method Description feedData / setnewData Pushes a new data block into the buffer / periodically pulls and refreshes updatePlot / clearPlot Refreshes the curve / clears and rebuilds this plot running_mean Efficiently computes the N-point moving average using cumulative sums and differences dataSelectDialog / subscribe_window / configureWindow Select channels / change subscription / configure deletePlot / updateTitle Removes this plot / synchronizes the title and data source Usage from quatm.</description></item><item><title>Absorption imaging</title><link>https://www.quatm.com/en/docs/data-analysis/absorption-imaging/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.quatm.com/en/docs/data-analysis/absorption-imaging/</guid><description>Overview quatm/analysis/imagedivider.py provides absorption imaging analysis (ImageDivider): it collects with-atom (atom), without-atom (no-atom) and background (background) images by imgindex, combines them with physical parameters such as the scattering cross-section, and computes and publishes the optical density (two-dimensional atomic column density) according to the Beer-Lambert law.
The intensity relation is I = I₀·exp(−n·σ), so the column density is n = ln(I₀/I)/σ; physical parameters such as detuning and linewidth are updated through event messages when the experiment starts.</description></item><item><title>Ion detection series</title><link>https://www.quatm.com/en/docs/data-analysis/ion-detection-series/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.quatm.com/en/docs/data-analysis/ion-detection-series/</guid><description>Module overview Module Class Detection method Purpose ion_blob BrightSpots Threshold segmentation + connected-component counting Counts the number of ions in each frame bright_spots BrightSpots skimage blob_dog Detects bright spots and outputs a position mask and bloblist single_ion_present SingleIonPresent Counting + multiple Gaussian-fit-parameter criteria Decides whether a single ion is present ion_state IonState Multi-image sequences by imgindex Discriminates the ion product state Discrimination workflow IonState collects the check / survival / hot / shelved image series by imgindex, detects whether an ion is present in each image, and aggregates the results into the product state:</description></item><item><title>Image processing tools</title><link>https://www.quatm.com/en/docs/data-analysis/image-processing-tools/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.quatm.com/en/docs/data-analysis/image-processing-tools/</guid><description>Module list The following are all standalone analysis processes that subscribe to image streams, located in quatm/analysis/:
Module Class Description hot_pixel_filter HotFilter Filters/replaces hot pixels according to the coordinate list in the property hotpixels and sends the result back hot_pixel_finder HotFilter Finds hot-pixel coordinates statistically and writes them to properties (for use by the filtering script) rotate_image ImageRotate Rotates the image by an angle and rotates the coordinate offsets accordingly imageslice ImageSlice Computes row/column projections (sum/clip/integrate) over the ROI and sub-region images imageselector ImageSlice Selects the frame with the specified imgindex from the image stream and forwards it substract_image ImageSubstract Subtracts a fixed background image (automatically adapting for transposition) and outputs the difference Usage from quatm.</description></item></channel></rss>