Welcome to FLIM LABS Intensity Tracing v1.3 usage guide. In this documentation section, you will find all the necessary information for the proper use of the application’s graphical user interface (GUI). For a general introduction to the aims and technical requirements of the project, read the Intensity Tracing Homepage. You can also follow the Console mode and Data export dedicated guides links.
The GUI mode provides advanced functionality for configuring analysis parameters and displaying live-streamed photon data. It allows simultaneous acquisition from up to 8 channels, offering real-time data visualization in the form of plots:
Here a table summary of the configurable parameters:
data-type | config | default | explanation | |
---|---|---|---|---|
enabled_channels |
number[] | set a list of enabled acquisition data channels (up to 8). e.g. [0,1,2,3,4,5,6,7] | [] | the list of enabled channels for photons data acquisition |
selected_conn_channel |
string | set the selected connection type for acquisition (USB or SMA) | “USB” | If USB is selected, USB firmware is automatically used. If SMA is selected, SMA firmware is automatically used. |
bin_width_micros |
number | Set the numerical value in microseconds. Range: 1-1000000µs | 1000 (µs) | the time duration to wait for photons count accumulation. |
selected_update_rate |
string | Set the chart update frequency (LOW or HIGH) | “LOW” | If selected_update_rate is configured as LOW, draw_frequency is set to 40Hz. When set to HIGH, it is configured to 10Hz. |
free_running_acquisition_time |
boolean | Set the acquisition time mode (True or False) | True | If set to True, the acquisition_time_millis is indeterminate. If set to False, the acquisition_time_millis param is needed (acquisition duration) |
time_span |
number | Time interval, in seconds, for the visible data range on the duration x-axis. Range: 1-300s | 5 | For instance, if time_span is set to 5s, the x-axis will scroll to continuously display the latest 5 seconds of real-time data on the chart |
acquisition_time_millis |
number/None | Set the data acquisition duration. Range: 1-1800s | None | The acquisition duration is indeterminate (None) if free_running_acquisition_time is set to True. |
output_frequency_ms |
number | Set the frequency, in milliseconds (time interval between successive acquired data points in the exported .bin data file). | If selected_update_rate is configured as LOW, output_frequency_ms is set to 100ms. When set to HIGH, it is configured to 25ms. |
|
write_data |
boolean | Set export data option to True/False | False | if set to True, the acquired raw data will be exported locally to the computer |
show_cps |
boolean | Set show cps option to True/False | False | if set to True, user can visualize cps value (average photon count per second) on charts for each active channel |
From Intensity Tracing v.1.2, there’s a change in the calculation of max points and draw frequency on charts to prevent overload and overcrowding while maintaining real-time acquisition.
draw_frequency
takes fixed values based solely on the selected_update_rate
:
selected_update_rate
is set to LOW, draw_frequency
is 10Hz.selected_update_rate
is set to HIGH ,draw_frequency
is 40Hz.Similarly, the max_points
value is recalibrated to ensure clarity and speed in chart rendering. It no longer depends on bin_width_micros but solely on selected_update_rate
and time_span
:
selected_update_rate
is LOW, max_points
is set to 10 * time_span.selected_update_rate
is HIGH, max_points
is set to 40 * time_span.This recalibration on the data visualization side doesn’t affect the acquisition of all points during data reading and export in .bin format, thanks to the combination of bin_width_micros
and output_frequency_ms
values.
Users can locally save their parameter configuration by clicking the SAVE CONFIGURATION
button in the top-right corner of the GUI. The saved parameters include:
enabled_channels
selected_conn_channel
selected_firmware
bin_width_micros
time_span
acquisition_time_millis
draw_frequency
free_running_acquisition_time
write_data
show_cps
The configuration file is stored as a JSON file at C:\Users\YOUR_USER\.flim-labs\config\intensity_tracing_config.json
.
On application restart, the saved configuration is automatically loaded if the file is found; otherwise, a default configuration is applied.
Here an example of the saved json structure:
{
"selected_update_rate": "HIGH",
"selected_conn_channel": "USB",
"selected_firmware": "intensity_tracing_usb.flim",
"bin_width_micros": 1000,
"time_span": 5,
"acquisition_time_millis": 10000000,
"draw_frequency": 40,
"free_running_acquisition_time": false,
"write_data": true,
"show_cps": true,
"enabled_channels": [1, 2, 3]
}
The software employs ring buffers to ensure seamless long-time acquisition of photon counts. A ring buffer, also known as a circular buffer, is utilized for efficient handling of cyclic data streams.
A ring buffer is a data structure implemented as a circular array, allowing continuous and cyclic storage of data. It is particularly useful when dealing with repetitive data streams without the need to fill or empty the entire buffer at once. This characteristic makes it well-suited for scenarios requiring constant data access and management.
It’s important to note that, due to the continuous nature of long-time acquisition, the system may consume a significant amount of RAM. In practice, for extended acquisition sessions, we estimate a potential consumption of up to 4 gigabytes of RAM. Users should be mindful of their system’s memory capabilities to ensure smooth operation during extended experiments.
For a detailed guide about console mode usage follow this link:
The application GUI allows the user to export the analysis data in binary file format
. For a detailed guide about data export and binary file structure see:
Distributed under the MIT License.
FLIM LABS: info@flimlabs.com
Project Link: FLIM LABS - Intensity Tracing