nexatom-downloads

DCS Analysis

Diffuse Correlation Spectroscopy (DCS) analyzes the rapid temporal fluctuations of near-infrared light scattered deeply through biological tissues (e.g., the brain or muscle) to measure microvascular blood flow.

DCS represents the third physics model overlay built on top of the Multi-Tau Correlator (CORM). The background C++ thread fits the semi-infinite medium diffusion approximation to the measured g²(τ) decay curve, outputting critical metrics like the Blood Flow Index (BFI).

Function Reference

Function Parameters (In/Out) Returns Description
nexatom_tt_enable_dcs_analysis [In] nexatom_tt_handle device
[In] bool enable
nexatom_error_code_t Enables host DCS analysis. An available selected result has analysis_type == 3; enabling alone does not guarantee it.
nexatom_tt_set_dcs_tissue_properties [In] nexatom_tt_handle device
[In] double mu_a
[In] double mu_s_prime
[In] double source_detector_separation_cm
nexatom_error_code_t Defines the macroscopic tissue optics: absorption coefficient (μa), reduced scattering coefficient (μs’), and the physical source-detector separation in centimeters.
nexatom_tt_set_dcs_model_parameters [In] nexatom_tt_handle device
[In] double anisotropy_g
[In] double tissue_n
[In] double wavelength_nm
nexatom_error_code_t Defines microscopic optics: tissue scattering anisotropy (g), tissue refractive index (n), and the near-infrared laser wavelength (e.g., 785 nm or 850 nm).
nexatom_tt_set_dcs_fit_range [In] nexatom_tt_handle device
[In] uint32_t start_index
[In] uint32_t end_index
nexatom_error_code_t Restricts the Levenberg-Marquardt solver to a specific temporal region of the 80-bin CORM lag curve to bypass early hardware afterpulsing.
nexatom_tt_set_dcs_fitting_control [In] nexatom_tt_handle device
[In] double tolerance
[In] int max_iterations
[In] double initial_beta
[In] double initial_db
nexatom_error_code_t Seeds the curve fitter with starting estimates for the coherence factor (β) and diffusion coefficient (Db) to optimize convergence speed.

Data Structures: nexatom_dcs_analysis_result_t

An available DCS result is exported when analysis_type == 3. Enabling analysis alone does not guarantee selection, fit convergence or computed values. General fit quality and beta are in the parent fit_result; uncomputed fields can be NaN or zero. The representation below does not establish clinical validity or instrument qualification for a biological measurement.

Field Type Description
blood_flow_index float Primary diagnostic output: BFI = α × DB (in cm²/s).
brownian_diffusion_cm2_s float Tissue diffusion coefficient (DB).
alpha float The fraction of moving scatterers (assumed active red blood cells).
decorrelation_time_us float Characteristic decorrelation time (τc).
penetration_depth_mm float Effective optical measurement depth based on the source-detector separation.
absorption_coefficient_per_cm float μa absorption coefficient (echoes input).
reduced_scattering_per_cm float μs’ reduced scattering (echoes input).
tissue_refractive_index float Tissue refractive index (echoes input).
mean_square_displacement_um2 float ⟨Δr²⟩ at τc.
flow_velocity_mm_s float Directed flow velocity component (if active flow models are fitted).
shear_rate_per_s float Shear flow rate across the sampled microvascular bed.
decay_rate_per_s float 1/τc.
perfusion_units float Model output when computed; not a calibrated clinical unit or proof of clinical validity.
relative_flow_change_percent float For monitoring applications comparing baseline vs. current.
photon_path_length_cm float Average photon path length through the tissue.
mu_eff float Effective attenuation coefficient (reserved/currently NaN when not computed).

C Example: Configuring a DCS Tissue Measurement

// Fragment: illustrative model inputs, not prescribed tissue properties.
// Check every return and preserve the complete acquisition owner's cleanup.
double mu_a = 0.15;       // Absorption (1/cm)
double mu_s_prime = 10.0; // Reduced scattering (1/cm)
double separation = 2.5;  // 2.5 cm between laser and detector

nexatom_tt_set_dcs_tissue_properties(my_device, mu_a, mu_s_prime, separation);

// 2. Configure the physical constants
double anisotropy_g = 0.9;
double tissue_n = 1.4;    // Refractive index of tissue
double wavelength = 785.0; // 785nm NIR laser

nexatom_tt_set_dcs_model_parameters(my_device, anisotropy_g, tissue_n, wavelength);

// 3. Exclude very fast lags to bypass detector afterpulsing
nexatom_tt_set_dcs_fit_range(my_device, 3, 80);

// 4. Activate the DCS physics pipeline
nexatom_tt_enable_dcs_analysis(my_device, true);

Use the analysis validity guide and appropriate experimental validation before interpreting any derived quantity.