Turbo-Satori — Real‑Time fNIRS Analysis & BCI/Neurofeedback Application

Turbo‑Satori is a real‑time analysis and BCI/Neurofeedback application for functional near‑infrared spectroscopy (fNIRS). While Satori focuses on offline, detailed analysis, Turbo‑Satori is optimized for low‑latency streaming use cases such as Neurofeedback and brain‑computer interfaces (BCI). It converts incoming wavelength data to oxy/deoxy concentrations, real-time preprocessing and provides live visualization and QC, and includes flexible Neurofeedback outputs.

How Turbo-Satori works

Turbo‑Satori integrates into the real-time fNIRS workflow by connecting to an available data stream (or opening a simulated .sri, .hdr or .nirs project) and collecting an initial baseline window. During this baseline period the interface displays raw wavelength signals; once the baseline is established, real‑time conversion to HbO/HbR concentration begins and live plots switch to the haemodynamic signals. Preprocessing (detrending and low‑pass filtering) is applied per stream and can be tuned to balance smoothing versus latency. Channels are displayed in a selectable list, allowing you to choose which channels to include in the neurofeedback target. The selected channels are averaged together to produce a single feedback signal for oxy, deoxy, or a combined metric. This feedback value is visualized in a thermometer-style display and can be exported as numerical logs and PNG snapshots for later analysis.

Channel selection and scaling

Channels are displayed in a selectable list with color coding; multiple channels can be chosen for visualization and averaged for neurofeedback. A separate “Mask” column lets you hide noisy channels without affecting processing. Per‑channel scaling factors ensure plotted values remain within the display range (−1 to +1) and are saved to global settings for reuse.

Real‑time preprocessing and baseline handling

Raw and converted signals have independent preprocessing controls. Baselines for HbO/HbR are computed from the initial received samples (default: first 200 points) and can be adjusted in the Real‑Time Analysis Setup. Filtering is specified in Hz and internally mapped to the moving‑average length, avoiding excessive smoothing that would increase delay.

Neurofeedback configuration and outputs

Raw and converted signals have independent preprocessing controls. Baselines for HbO/HbR are computed from the initial received samples (default: first 200 points) and can be adjusted in the Real‑Time Analysis Setup. Filtering is specified in Hz and internally mapped to the moving‑average length, avoiding excessive smoothing that would increase delay.

Export, snapshots and logging

By default Turbo‑Satori writes per‑timepoint numerical feedback values to a NeurofeedbackValues subfolder (files named Feedback-<timestamp>.txt) and can optionally save PNG snapshots of the feedback thermometer in NeurofeedbackImages. Each numerical export contains: pre‑condition oxy baseline, oxy feedback, oxy thermometer level, pre‑condition deoxy baseline, deoxy feedback, deoxy thermometer level, and current condition index. Toggle exports in the Neurofeedback dialog.

Key features (summary)

  • Low‑latency conversion to oxy/deoxy concentrations from raw wavelength data streams
  • Real‑time QC, detrending and low‑pass filtering with Hz‑based control
  • Advanced preprocessing including short channel correction and GLM filtering
  • Multi‑channel selection, masking and averaging for neurofeedback targets
  • Flexible neurofeedback modes (oxy, deoxy, combined) with thermometer UI
  • Network interface for accessing preprocessed data in real-time
  • Exportable numeric logs and PNG snapshots per timepoint
  • Saveable global settings and reproducible real‑time pipelines