C/C++ Coding for Matrix Pseudo Inverses in Clinical Near Infrared Spectroscopy
Related Experiment Video
Updated: Oct 9, 2026

Near Infrared Optical Projection Tomography for Assessments of β-cell Mass Distribution in Diabetes Research
Published on: January 12, 2013
ROY E. Gagnon1, ANDREW J. Macnab
1B.C. Children's Hospital, University of British Columbia, Vancouver, British Columbia, Canada.
Abstract:
Near infrared spectroscopy is used clinically to investigate patterns of change in cerebral oxygenation. We have shown that differences reported between authors are likely the result of computer encoding errors in the manipulation of matrices. Current methods compute the inverse of a non-square matrix to derive chromophore concentration values, and solution of another non-square matrix to derive polynomial coefficients of a least squares best fit curve from which the first derivative can be used to estimate blood flow values. Encoding of these pseudo inverses involves too many nested looping steps to easily identify encoding errors. We have given C/C++ source code along with sample numerical values at the termination of each loop within the algorithm. This provides counter checking for future software development by other programmers, and also permits other investigators to report whether the software used for their experiments agrees with previously published material.
Related Concept Videos
Raman Spectroscopy: Overview
However, a small fraction of the scattered light exhibits a frequency shift due to the exchange of energy between the incident photons and the...
Infrared (IR) Spectroscopy: Overview
Different compounds display unique properties due to their...
2D NMR: Overview of Homonuclear Correlation Techniques
COSY90 is the standard two-dimensional (2D) COSY experiment that...
2D NMR: Heteronuclear Single-Quantum Correlation Spectroscopy (HSQC)
2D NMR: Homonuclear Correlation Spectroscopy (COSY)
2D NMR: Overview of Heteronuclear Correlation Techniques
