Welcome to FLIM LABS Spectroscopy v2.4 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 Spectroscopy Homepage link.
Spectroscopy software provides users with three distinct analysis modes to suit various experimental and analytical needs:
Spectroscopy Mode allows users to perform in-depth analyses of the photon intensity decay profile as a function of time.
The decay curve displayed in the Spectroscopy plot represents the sum of the curves for each chunk, where a chunk is defined by the bin width parameter set by the user. Each decay curve is represented by 256 points, maintaining this consistency regardless of the laser frequency used.
Key features of Spectroscopy Mode include:
Phasors Mode enables users to conduct advanced analyses of the lifetime distribution using phasor plots.
Key features of Phasors Mode include:
Fitting Mode allows users to identify and estimate the parameters of the mathematical decay model that best describes the acquired data.
Key features of Fitting Mode include:
Spectroscopy includes a comprehensive settings package that allows users to configure their acquisition parameters and hardware connections with ease.
Key features of the settings system include:
Customization: Users can tailor various parameters to match their specific acquisition needs, ensuring seamless integration with their hardware setup.
Automatic retain of configurations: Every configured setting is automatically saved in a settings.ini file, enabling the software to retain user preferences between sessions. This feature saves time by eliminating the need to reconfigure settings with each use.
Below is a list of configurable settings.
The software allows for data acquisition in single-channel or multi-channel mode, with the user able to activate up to 8 channels simultaneously.
For each activated channel, its respective real-time acquisition plot will be displayed on the interface. If the number of activated channels exceeds 4, only the 4 plots configured via the PLOTS CONFIG button will be displayed, for optimization reasons. Data from channels not displayed will still be exported if the export option is activated.
The number of active channels affects the size of the exported data file. With the same values set for bin width
and acquisition time
, the file size grows proportionally to the number of activated channels.
To start acquisition, at least one channel must be activated.
Note: Ensure that the channel activated in the software corresponds to the channel number being used for acquisition on the FLIM LABS Data Acquisition Card.
The user can choose the type of connection for data acquisition between SMA and USB connections.
Note: The connection type set in the software must match the actual connection type activated on the FLIM LABS Data Acquisition Card.
By selecting Sync In
, the user will automatically initiate the process of measuring laser’s frequency. Alternatively, by selecting one of the Sync Out
options, the user can choose the desired frequency (80MHz
, 40MHz
, 20MHz
, 10MHz
). When the export data mode is active, the size of the generated file will increase in accordance with the number of active channels.
Selecting the Sync value is essential, as it determines the laser frequency and directly impacts the laser period and the time resolution of the measurements. A higher frequency reduces the laser period, enhancing the time resolution and enabling the capture of events in shorter time intervals.
The X-axis of the graphs reflects the laser period, depicting the time period of a single laser pulse. This aspect is crucial because the decay curve represented on the graph is the sum of curves from each chunk, where each chunk is defined by the bin width refer to the bin width section for more details.
The software automatically adjusts the time resolution according to the selected frequency, ensuring precision.
Each decay curve is represented by 256 points, maintaining this constancy despite changes in frequency or temporal resolution.
Selecting a Sync out
of 80MHz, we obtain a laser period of 12.5 ns and a temporal resolution of about 48.828 ps; thus, each point represents an interval of approximately 48.828 ps across the cumulative decay curves.
Conversely, at 20MHz, the laser period extends to 50 ns with a temporal resolution of about 195.312 ps, indicating that each point on the curve corresponds to an interval of approximately 195.312 ps across the cumulative decay curves of each chunk.
The user can set a bin width value ranging from 100 to 1,000,000 microseconds (μs).
The bin width value specifies the time interval, in microseconds (μs), used to divide the data acquisition into chunks. For each chunk, a theoretical photon decay curve is generated. The final graph represents the cumulative decay curves of each individual chunk. This approach provides a detailed representation of fluorescence over time, illustrating both the intensity and decay of photon signals.
As an example, consider an acquisition time of 10 seconds and a bin width of 10,000 microseconds (μs). This configuration results in the creation of 1000 chunks, each contributing to the overall decay curve displayed in the graph.
This methodology allows users to analyze fluorescence data in a more granular manner, enabling the identification of specific signal characteristics and trends.
The configured bin width value affects the size of the exported data file. With the number of active channels
and acquisition time
unchanged, the file size grows inversely proportional to the bin width value.
Time span set the time interval, in seconds, for the last visible data range on the duration x-axis. For instance, if this value is set to 5s, the x-axis will scroll to continuously display the latest 5 seconds of real-time data on the intensity tracing chart. Users can choose a value from 1 to 300 s (seconds).
Users can choose between two data acquisition modes: free running or fixed acquisition time.
In free running mode, the total acquisition time is not specified. If users deactivate free running mode, they must set a specific acquisition time value.
The chosen acquisition mode impacts the size of the exported data file.
When the free running acquisition mode is disabled, users must specify the acquisition time parameter to set the total data acquisition duration. Users can choose a value between 1 and 1800 s (seconds).
For example, if a value of 10 is set, the acquisition will stop after 10 seconds.
The acquisition time value directly affects the final size of the exported data file. Keeping the bin width
and active channels
values unchanged, the file size increases proportionally to the acquisition time value.
When Calibration is set to Phasors Ref, two additional configurable parameters are enabled:
Users can set a numeric value for the Pile-up threshold (CPS) input to highlight it when the CPS for a specific channel exceeds that threshold.
When the Show SBR parameter is enabled, users can view a Signal-to-Noise Ratio (SBR) value for each channel, providing real-time feedback on the level of noise detected during acquisition.
In Phasors Mode, users can configure the following three additional parameters:
Quantize Phasors: determines whether the phasor points should be quantized (grouped into bins), affecting the precision of the graphical representation.
Squares: Available only if Quantize Phasors is active. Specifies the number of bins for grouping the phasor points.
Harmonic Displayed: Visible only after a Calibration involving multiple harmonics. Allows users to select which harmonic to display on the phasor plot.
Users can choose to export acquired data in .bin file format for further analysis. Refers to this section for more details:
If the user chooses to export the acquired data, they can also opt to enable or disable the export of Time Tagger data. When enabled, a .bin file will be exported (along with a Python script to read the .bin file) containing information on the type of event and the micro-time and macro-time (ns) at which it was recorded.
Here a table summary of the configurable parameters:
Parameter | 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. |
connection_type |
number | Set the selected connection type for acquisition (USB or SMA). | 0 (“USB”) | If USB (0) is selected, USB firmware is automatically used. If SMA (1) is selected, SMA firmware is automatically used. |
bin_width |
number | Set the numerical value in microseconds. Range: 1-1000000µs. | 1000 (µs) | The time duration to wait for photons count accumulation. |
free_running |
boolean | Set the acquisition time mode (True or False). | True | If set to True, the acquisition_time is indeterminate. If set to False, the acquisition_time parameter 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 intensity tracing plot x-axis will scroll to continuously display the latest 5 seconds of real-time data on the chart. |
acquisition_time |
number/None | Set the data acquisition duration. Range: 1-1800s. | None | The acquisition duration is indeterminate (None) if free_running is set to True. |
cps_threshold |
number | Set the CPS threshold. | 0 | If set to a value greater than 0, the user will see the CPS for each channel highlighted when they exceed the set threshold. |
show_sbr |
boolean | Defines whether to visualize the Signal-to-Noise Ratio value for each channel or not. | False | Enables or disables the SBR visualization. |
sync |
string | Set the laser sync type (in/out) and optionally its frequency. | sync_in | Configures synchronization for laser input or output. |
calibration |
number | Defines whether to calculate reference parameters for phasors analysis or not. | 0 (None) | If set to Phasors Ref (1), a reference file for phasors analysis will be downloaded. |
tau_ns |
number/None | Set the tau (ns) value for Phasors Ref calculation. | None | Defines the decay time in nanoseconds for Phasors Ref calculations. |
harmonics |
number | Set the number of harmonics (1 to 4) for Phasors Ref calculation. | 1 | Configures the number of harmonics for Phasors Ref calculations. |
quantize_phasors |
boolean | Defines whether to quantize phasors points or not. | False | If set to True, phasor points will be grouped into bins. |
plots_to_show |
number[] | Defines the number of plots to visualize (max 4). | [] | Specifies the plots to display during acquisition. |
time_shifts |
dict | Defines the key (channel index) / value (time shift) pair for decay curves time shifts. | {} | Configures time shifts for decay curve visualization by channel. |
lin_log_mode |
dict | Defines the key (channel index) / value (LIN/LOG) pair for decay curves linear/logarithmic plot visualization. | {} | Configures the visualization mode (linear or logarithmic) for decay curves by channel. |
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 along with script files (Python/Matlab). |
time_tagger |
boolean | Set export Time Tagger data option to True/False. | True | If set to True, the Time Tagger data will be processed and exported locally to the computer (along with a reader script in Python). |
The saving of GUI configuration parameters has been automated. Each interaction with the parameters results in the relative value change being stored in a settings.ini
internal file.
On application restart, the saved configuration is automatically loaded. If the settings.ini
file is not found, or a specific parameter has not been configured yet, a default configuration will be set.
Here an example of the settings.ini
structure:
[General]
app_version=2.4
free_running=false
tau_ns=1
calibration=1
connection_type=0
plots_to_show="[2, 3]"
channel_0=false
channel_1=false
channel_2=true
channel_3=true
channel_4=false
channel_5=false
channel_6=false
channel_7=false
sync=sync_out_40
time_shift="{\"2\": 64, \"3\": 0}"
acquire_read_mode=acquire
harmonic=4
write_data=true
acquisition_time=10
phasors_resolution=2
quantize_phasors=true
lin_log_mode="{\"2\": \"LOG\", \"3\": \"LIN\"}"
The software supports automatic detection of the Flim Card connection. The detection is performed automatically when the app starts and when acquisition begins. The user can also manually run this check at any time by clicking the CHECK DEVICE button. If the card is connected, its ID will be displayed next to the button; otherwise, an error message will appear.
The software supports automatic detection of channels connections, simply clicking on the Detect Channels button. If connections are found, the system allows the user to update the configuration settings (Channel Type and enabled channels) in an automated way.
The user can choose to use the software in Reader mode, loading .bin/.json files from external spectroscopy, phasors or fitting data acquisitions. The user can configure which plots to display, with up to 4 channels shown simultaneously. Additionally, they can view the metadata related to the acquisition and download an image in .png and .eps format that replicates the acquisition graphs.
If the Export data option is enabled, the acquisition .bin file and the Python and Matlab scripts for manipulating and displaying the acquired data are automatically downloaded at the end of the acquisition, after the user selects a name for the files.
Note: a requirements.txt file — indicating the dependencies needed to run the Python script - will also be automatically downloaded.
Refer to this section for more details:
Distributed under the MIT License.
FLIM LABS: info@flimlabs.com
Project Link: FLIM Imager