skinoptics.scattering_coefficient module

SkinOptics
Copyright (C) 2024 Victor Lima
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Victor Lima
victorporto@ifsc.usp.br
victor.lima@ufscar.br
Release Date:
October 2024
Last Modification:
October 2024
References:
[SJT95] Saidi, Jacques & Tittel 1995.
Mie and Rayleigh modeling of visible-light scattering in neonatal skin.
[S*06] Salomatina, Jiang, Novak & Yaroslavsky 2006.
Optical properties of normal and cancerous human skin in the visible and near-infrared spectral range.
[J13] Jacques 2013.
Optical properties of biological tissues: a review.
[N19] Niemz 2019.
Laser-Tissue Interactions: Fundamentals and Applications (4th edition).
skinoptics.scattering_coefficient.albedo(mua, mus)
Calculate the optical albedo from the absorption coefficient and the scattering coefficient.
For details please check section 2.4 from Niemz 2019 [N19].

\(a = \frac{\mu_s}{\mu_a + \mu_s}\)

Parameters:
  • mua (float or np.ndarray) – absorption coefficient [mm^-1]

  • mus (float or np.ndarray) – scattering coefficient [mm^-1]

Returns:

  • albedo (float or np.ndarray) – optical albedo [-]

skinoptics.scattering_coefficient.mus_from_rmus(rmus, g)
Calculate the scattering coefficient from the reduced scattering coefficient and the
anisotropy factor.

\(\mu_s(\lambda) = \frac{\mu_s'(\lambda)}{1-g}\)

Parameters:
  • rmus (float or np.ndarray) – reduced scattering coefficient [mm^-1]

  • g (float) – anisotropy factor [-] (must be in the range [-1, 1])

Returns:

  • mus (float or np.ndarray) – scattering coefficient [mm^-1]

skinoptics.scattering_coefficient.rmus_DE_Salomatina(lambda0)
The reduced scattering coefficient of human DERMIS as a function of wavelength.
Linear interpolation of experimental data from Salomatina et al. 2006 [S*06],
wavelength range: [370 nm, 1600 nm]
Parameters:

lambda0 (float or np.ndarray) – wavelength [nm]

Returns:

  • rmus (float or np.ndarray) – reduced scattering coefficient [mm^-1]

skinoptics.scattering_coefficient.rmus_EP_Salomatina(lambda0)
The reduced scattering coefficient of human EPIDERMIS as a function of wavelength.
Linear interpolation of experimental data from Salomatina et al. 2006 [S*06],
wavelength range: [370 nm, 1600 nm]
Parameters:

lambda0 (float or np.ndarray) – wavelength [nm]

Returns:

  • rmus (float or np.ndarray) – reduced scattering coefficient [mm^-1]

skinoptics.scattering_coefficient.rmus_HY_Salomatina(lambda0)
The reduced scattering coefficient of human HYPODERMIS as a function of wavelength.
Linear interpolation of experimental data from Salomatina et al. 2006 [S*06],
wavelength range: [370 nm, 1600 nm]
Parameters:

lambda0 (float or np.ndarray) – wavelength [nm]

Returns:

  • rmus (float or np.ndarray) – reduced scattering coefficient [mm^-1]

skinoptics.scattering_coefficient.rmus_Jacques(lambda0, a, f_Ray, b_Mie)
The reduced scattering coefficient as a function of wavelength, assuming contributions from
both Rayleigh and Mie scattering.
For details please check Jacques 2013 [J13].

\(\mu_s'(\lambda) = a\left[f_{Ray} \mbox{ } \left(\frac{\lambda}{500}\right)^{-4} + (1-f_{Ray})\left(\frac{\lambda}{500}\right)^{-b_{Mie}} \right]\)

Parameters:
  • lambda0 (float or np.ndarray) – wavelength [nm]

  • a (float) – parameter \(a\) [mm^-1]

  • f_Ray (float) – fraction of Rayleigh scattering contribution [-] (must be in the range [0, 1])

  • b_Mie (float) – Mie scattering power [-] (must be nonnegative)

Returns:

  • rmus (float or np.ndarray) – reduced scattering coefficient [mm^-1]

skinoptics.scattering_coefficient.rmus_Mie(lambda0, B, b)
The reduced scattering coefficient as a function of wavelength, Mie scattering only.
For details please check Jacques 2013 [J13].

\(\mu_s'(\lambda) = B \mbox{ } \lambda^{-b}\)

Parameters:
  • lambda0 (float or np.ndarray) – wavelength [nm]

  • B (float) – parameter \(B\) [mm^-1 nm^b] (must be nonnegative)

  • b (float) – Mie scattering power [-] (must be nonnegative)

Returns:

  • rmus (float or np.ndarray) – reduced scattering coefficient [mm^-1]

skinoptics.scattering_coefficient.rmus_Ray(lambda0, A)
The reduced scattering coefficient as a function of wavelength, Rayleigh scattering only.
For details please check Jacques 2013 [J13].

\(\mu_s'(\lambda) = A \mbox{ } \lambda^{-4}\)

Parameters:
  • lambda0 (float or np.ndarray) – wavelength [nm]

  • A (float) – parameter \(A\) [mm^-1 nm^4] (must be nonnegative)

Returns:

  • rmus (float or np.ndarray) – reduced scattering coefficient [mm^-1]

skinoptics.scattering_coefficient.rmus_SCC_Salomatina(lambda0)
The reduced scattering coefficient of SQUAMOUS CELL CARCINOMA (SCC)
as a function of wavelength.
Linear interpolation of experimental data from Salomatina et al. 2006 [S*06],
wavelength range: [370 nm, 1600 nm]
Parameters:

lambda0 (float or np.ndarray) – wavelength [nm]

Returns:

  • rmus (float or np.ndarray) – reduced scattering coefficient [mm^-1]

skinoptics.scattering_coefficient.rmus_Saidi(lambda0, A_Mie, B_Ray)
The reduced scattering coefficient of NEONATAL SKIN as a function of wavelength.
Saidi, Jacques & Tittel 1995 [SJT95] fit to their own experimental data.

\(\mu_s'(\lambda) = A_{Mie} \mbox{ (} 9.843 \times 10^{-7} \times \lambda^2 - 1.745 \times 10^{-3} \times \lambda + 1) + B_{Ray} \mbox{ } \lambda^{-4}\)

wavelength range: [450 nm, 750 nm]
gestational ages between 19 and 52 weeks
Parameters:
  • lambda0 (float or np.ndarray) – wavelength [nm]

  • A_Mie (float) – parameter \(A_{Mie}\) [mm^-1] (must be nonnegative)

  • B_Ray (float) – parameter \(B_{Ray}\) [mm^-1 nm^4] (must be nonnegative)

Returns:

  • rmus (float or np.ndarray) – reduced scattering coefficient [mm^-1]

skinoptics.scattering_coefficient.rmus_from_mus(mus, g)
Calculate the reduced scattering coefficient from the scattering coefficient and the
anisotropy factor.

\(\mu_s'(\lambda) = (1-g) \mbox{ } \mu_s(\lambda)\)

Parameters:
  • mus (float or np.ndarray) – scattering coefficient [mm^-1]

  • g (float) – anisotropy factor [-] (must be in the range [-1, 1])

Returns:

  • rmus (float or np.ndarray) – reduced scattering coefficient [mm^-1]

skinoptics.scattering_coefficient.rmus_iBCC_Salomatina(lambda0)
The reduced scattering coefficient of INFILTRATIVE BASAL CELL CARCINOMA (iBCC)
as a function of wavelength.
Linear interpolation of experimental data from Salomatina et al. 2006 [S*06],
wavelength range: [370 nm, 1600 nm]
Parameters:

lambda0 (float or np.ndarray) – wavelength [nm]

Returns:

  • rmus (float or np.ndarray) – reduced scattering coefficient [mm^-1]

skinoptics.scattering_coefficient.rmus_nBCC_Salomatina(lambda0)
The reduced scattering coefficient of NODULAR BASAL CELL CARCINOMA (nBCC)
as a function of wavelength.
Linear interpolation of experimental data from Salomatina et al. 2006 [S*06],
wavelength range: [370 nm, 1600 nm]
Parameters:

lambda0 (float or np.ndarray) – wavelength [nm]

Returns:

  • rmus (float or np.ndarray) – reduced scattering coefficient [mm^-1]

skinoptics.scattering_coefficient.std_rmus_DE_Salomatina(lambda0)
The standard deviation respective to skinoptics.scattering_coefficient.rmus_DE_Salomatina().
Linear interpolation of experimental data from Salomatina et al. 2006 [S*06],
wavelength range: [370 nm, 1600 nm]
Parameters:

lambda0 (float or np.ndarray) – wavelength [nm]

Returns:

  • std_rmus (float or np.ndarray) – standard deviation of the reduced scattering coefficient [mm^-1]

skinoptics.scattering_coefficient.std_rmus_EP_Salomatina(lambda0)
The standard deviation respective to skinoptics.scattering_coefficient.rmus_EP_Salomatina().
Linear interpolation of experimental data from Salomatina et al. 2006 [S*06],
wavelength range: [370 nm, 1600 nm]
Parameters:

lambda0 (float or np.ndarray) – wavelength [nm]

Returns:

  • std_rmus (float or np.ndarray) – standard deviation of the reduced scattering coefficient [mm^-1]

skinoptics.scattering_coefficient.std_rmus_HY_Salomatina(lambda0)
The standard deviation respective to skinoptics.scattering_coefficient.rmus_HY_Salomatina().
Linear interpolation of experimental data from Salomatina et al. 2006 [S*06],
wavelength range: [370 nm, 1600 nm]
Parameters:

lambda0 (float or np.ndarray) – wavelength [nm]

Returns:

  • std_rmus (float or np.ndarray) – standard deviation of the reduced scattering coefficient [mm^-1]