The stategy is to predict the measurement M using theory based on choices of
In this example, the factor P scales a Gaussian centered in the blue wavelength range, and we further fit for the center wavelength and width of this Gaussian. In general, this is not necessary, however we did not have a reliable spectrum for bilirubin within skin tissue, so we used a Gaussian as a first approximation.
In this model, the known behavior of skin scattering was used, which is a combination of Mie scattering and Rayleigh scattering. This behavior was obtained from experimental work on rats, human adults, and human neonates, which all had the same scattering behavior versus wavelength, although the amplitude of this scattering slightly varied.
The subroutine getRr(mua, musp, r, n) for source-detector fiber separation r = 0.2 cm and tissue refractive index n = 1.37, uses the optical properties of absorption (mua) and reduced scattering (musp) as a function of wavelength (nm). The generic MATLAB code is:
Mie = 4.59e3*nm.^-0.913; Ray = 1.74e12*nm.^-4; musp = a*(Mie + Ray); % <---------- reduced scattering for generic skin mua = B*(S*muaoxy + (1-S)*muadeoxy) + W*muawater + P*muaP; % <-------- total absorption r = 0.2; % cm, source-detector fiber separation n = 1.37; % tissue refractive index pR = GG*getRr(mua, musp, r, n); % <========== predicted reflectance
The primary analysis program is analyze.m This algorithm uses the following files MATLAB subroutines.
subroutine | sub-subroutine |
lookskin1.m | |
getSpectrum.m | |
skin1.Master.Scope | |
std1.Master.Scope | |
loadTakataniGraham.m | |
loadwaterHaleQuerry.m | |
fitspectrum.m | |
getRr.m |
Here is an animation of the fitting procedure:
BLACK LINE = bloodless skin (-blood -bilirubin).
RED LINE = +blood -bilirubin.
BLUE LINE = +blood +bilirubin