Expand this Topic clickable element to expand a topic
Skip to content
Optica Publishing Group

Rapid spectral analysis for spectral imaging

Open Access Open Access

Abstract

Spectral imaging requires rapid analysis of spectra associated with each pixel. A rapid algorithm has been developed that uses iterative matrix inversions to solve for the absorption spectra of a tissue using a lookup table for photon pathlength based on numerical simulations. The algorithm uses tissue water content as an internal standard to specify the strength of optical scattering. An experimental example is presented on the spectroscopy of portwine stain lesions. When implemented in MATLAB, the method is ~100-fold faster than using fminsearch().

©2010 Optical Society of America

1. Introduction

Spectral imaging involves the acquisition of a series of 2D images of reflected light, where each image uses a different wavelength (λ) yielding a “spectral cube”, R(x,y,λ). Each pixel R(x,y) has a spectrum R(λ).

The reflectance spectrum can be described using a variety of light transport computations, and is here called getR(μa, μs’, nr), for example diffusion theory [1], Monte Carlo [2], or the Pn method [3], which depends on the two tissue optical properties, the absorption coefficient μa [cm−1] and the reduced scattering coefficient μs’ [cm−1], and the refractive index mismatch (nr) at the air/tissue surface. The behavior of getR(μa, μs’,nr) is mimicked by the expression:

getR(μa,μs',nr)=eμaL(μa,μ's,nr)
where L(μas’,nr) is a photon pathlength within the homogeneous tissue that includes the effects of absorption, scattering and refractive index mismatch at the air/tissue surface. The absorption coefficient depends on the absorbing components in the tissue:
μa(λ)=BSμa.oxy(λ)+B(1S)μa.deoxy(λ)+Wμa.water(λ)+ifiμa.i(λ)
where

  • B = blood volume fraction (B = 1 implies whole blood, 150 g hemoglobin/liter)
  • S = oxygen saturation of hemoglobin in mixed arterio-venous blood perfusion
  • W = water volume fraction
  • fi = volume fraction of other ith components
  • μa.oxy(λ) = absorption spectrum of fully oxygenated whole blood as function of wavelength λ
  • μa.deoxy(λ) = absorption spectrum of fully deoxygenated whole blood
  • μa.water(λ) = absorption spectrum of pure water
  • μai(λ) = absorption spectrum of other ith components

The method can consider fat/lipid and other absorbers. For this paper, only the blood and water absorption are considered, to simplify the notation. The reduced scattering coefficient is described by an expression that matches experimental data [4,5]:

μs'(λ)=μs'500nm(f(λ500nm)4+(1f)(λ500nm)b)
where

  • μs.500nm = reduced scattering coefficient at 500 nm (as a reference wavelength)
  • f = fraction of scattering due to Rayleigh limit of Mie scattering (f = 0.64)
  • (1-f) = fraction of scattering due to Mie scattering
  • b = power of wavelength dependence of Mie scattering (b ≈0.91)

This paper considers reflectance from skin, so an additional parameter due to epidermal melanin is included, exp(-Mμa.melLepi), where

  • M = volume fraction of melanosomes in 60-μm-thick pigmented epidermis
  • μa.mel = absorption coefficient of interior of melanosome,
  • μa.mel(λ) ≈(690cm−1)(λ/500nm)-3.33, based on [6].
  • Lepi = pathlength of escaping photons in pigmented epidermis.

Also, any variation in the coupling of reflected light from skin into the camera, relative to coupling of reflected light from a reflectance standard into the camera, is considered by a factor K. The expression for R(λ) is:

R(λ)=KeMμa.melLepieμaL

The factor K is wavelength independent and equals the ratio of reflectance collection from the skin (Cskin) and the reflectance standard (Cstd), Cskin/Cstd, which may also include a factor cosθ where θ is the angle of observation off the normal to the skin surface (typically θ = 0° if the camera views perpendicular to the skin surface, and K = 1).

The analysis of R(λ) at each x,y pixel can use Eq. (3) in a least-squares fitting routine to find the best values of B,S,W, μs.500nm, f, and b that specify the μa and μs’ for getR() to match the data.

In the MATLAB programming environment, we have previously used the function fminsearch() for this least-squares fitting of the spectrum from each pixel. However, the fitting is slow, about 120 ms per pixel, or 8.7 hr to analyze 262,144 (512x512) pixels. This report discusses a faster method that reduces the analysis 100-fold down to 5.2 min.

2. The method

The method considers the optical depth, OD = -ln(R), so that Eq. (4) becomes:

OD(λ)=ln(R)=BSμa.oxy(λ)L(λ)+B(1S)μa.deoxy(λ)L(λ)+Wμa.water(λ)L(λ)+Mμa.mel(λ)Lepi(λ)ln(K)
where L(λ) is the photon pathlength [cm] in the skin (dermis + melaninless epidermis) of escaping photons, and Lepi(λ) is the photon pathlength [cm] in the pigmented epidermis of escaping photons. Eq. (5) can be restated as OD = AX, where X = [BS B(1-S) W M -ln(K)]T:
|ODλ1ODλ2ODλ3...ODλN|OD==|μa.oxy.λ1Lλ1μa.deoxy.λ1Lλ1μa.water.λ1Lλ1μa.mel.λ1Lepi.λ11μa.oxy.λ2Lλ2μa.deoxy.λ2Lλ2μa.water.λ2Lλ2μa.mel.λ2Lepi.λ21μa.oxy.λ3Lλ3μa.deoxy.λ3Lλ3μa.water.λ3Lλ3μa.mel.λ3Lepi.λ31...............μa.oxy.λNLλNμa.deoxy.λNLλNμa.water.λNLλNμa.mel.λNLepi.λN1|A×|BSB(1S)WMln(K)|X
which is solved by the MATLAB command X = \A*OD that implements:
X=A1OD
The tissue parameters are then specified:
B=X(1)+X(2)S=X(1)/(X(1)+X(2))W=X(3)B=X(4)K=exp(X(1))
where X(1) denotes the first element in the vector X, X(2) denotes the second element, etc. The key to this method is specifying the functions L(μa, μs’, Mμa.mel) and Lepia, μs’, Mμa.mel). Based on Eq. (4), the derivative dR/dμa equals L, and the derivative ∂R/∂(Mμa.mel) = Lepi. Monte Carlo simulations specified the R for various values of μa, μs’ and Mμa.mel. The derivatives were then evaluated:

L(μa,μs',Mμa.mel)=1R(μa,μs',Mμa.mel)R(μa,μs',Mμa.mel)μa
Lepi(μa,μs',Mμa.mel)=1R(μa,μs',Mμa.mel)R(μa,μs',Mμa.mel)(Mμa.mel)

The functional forms of L and Lepi are not discussed in this report, since such a discussion should include a full description of the Monte Carlo simulations.

The algorithm must assume a wavelength dependence for μs’, and for skin the literature [4,5] suggests μs500nm = 43 cm−1, f = 0.64 and b = 0.91. The μs500nm is allowed to vary so as to scale the strength of this scattering to match the scattering of a particular skin site, but the initial choice is 43 cm−1. Initial values are also assumed for B, S, W, M and K to specify X. Then the average volumetric skin absorption is calculated using the B, S and W values: μa = A(:,1:3)*X(1:3), equivalent to Eq. (1). This μa spectrum, the μs’ using Eq. (3), and the melanin optical depth Mμa.mel allow calculation of L(λ) and Lepi(λ), which are inserted into matrix A [Eq. (6)]. Solving for X using Eq. (7) specifies new values of X, which are then used to recalculate L(λ) and Lepi(λ) and update A. These steps are iteratively repeated several times. Typically, the solution for X converges after 5 iterations.

There is one additional step within these iterative steps. The choice of μs500nm scales the strength of scattering. Since total reflectance R is nonlinearly related to the ratio μs’/μa, an error in μs’ can be compensated by an error in the blood content B and water content W, such that the ratio μs’/μa yields the correct R. If one chooses a series of μs500nm values and solves for X, the values B and W will increase linearly versus the chosen value μs500nm. This linearity can be made useful, if one has a reliable estimate of the true tissue water content. The method is as follows.

At each iteration, the new X specifies the water content, W1 = X(3). The true water content of the skin is assumed to be 0.65. Therefore, the value of μs500nm is updated by multiplying the current value of μs500nm by the ratio 0.65/W1. After several iterations, the solution for X becomes stable, and μs500nm equals a value that yields W1 = 0.65. In other words, the water content of the tissue has been used as an internal standard to allow specification of the strength of scattering, μs500nm. Consequently, the value of B is also correct. The values of S, M and -ln(K) are relatively insensitive to the choice of μs500nm.

This algorithm is about 100-fold faster than using fminsearch(), 1.2 ms versus 120 ms, to fit a total reflectance spectrum R(λ) for the parameters B, S, M, K and μs500nm. The advantage of this method is speed. The disadvantage is that assumed values for W, f and b are required. The algorithm is outlined in Fig. 1 .

 figure: Fig. 1

Fig. 1 The algorithm for spectral analysis. The measured spectrum specifies OD. The array A [see Eq. (5) is initially filled using Eq. (1)] to specify μa and using the lookup tables L(μa, μs’, Mμa.mel) and Lepia, μs’, Mμa.mel) based on Monte Carlo simulations to specify L and Lepi for each wavelength. An initial value μs500nm is assumed. The matrix inversion X = A−1OD yields values for B, S, W that are used to update μa. The predicted water W1 is used to update μs500nm: μs500nm = μs500nm(0.65/W1). Then μa, M and μs500nm are used to update L and Lepi. The A matrix is updated. The cycle is repeated. After 5 iterations, the values of X converge on stable values.

Download Full Size | PDF

The error in the estimate of tissue water content W is likely to be only ~10%. The values of f and b can be learned for a particular tissue type by slower nonlinear least-squares fitting that allows fitting for f and b. Once these are known for a tissue type, the values of f and b can be used in the faster algorithm. The issue of μs500nm and B and W interacting via the ratio μs’/μa is still an issue with slow nonlinear least-squares fitting. The strategy of using water as an internal standard helps both the fast and slow analyses.

3. Experimental example: portwine stain lesion

To illustrate the spectral analysis, a reflectance spectrum from a portwine stain lesion (PWS) was acquired with a hand-held spectral camera (see Fig. 2 ). An optical fiber bundle delivers light through a linear polarizer to illuminate an open port that contacts the skin. A CCD camera (12 bit, Flea, Point Grey Research, Richmond, BC, Canada) views the skin through a second cross-polarized linear polarizer, thereby avoiding surface glare and collecting diffusely backscattered light. The light source is a white light source passing through a liquid crystal tunable filter (LCTF) (CRI Inc., Cambridge, MA, USA). Software control written in LabviewTM scans the LCTF over a set of 21 wavelengths (480:10:650 nm, plus 545, 558, and 585 nm).

 figure: Fig. 2

Fig. 2 A hand-held spectral camera for measuring skin sites. Liquid crystal tunable filter scans to different wavelengths. Camera views reflected skin through cross-polarizer filter to reject surface glare. The open port contacting the skin does not compress the skin site and avoids blanching the vasculature.

Download Full Size | PDF

Spectral images were acquired before and after treatment with a pulsed dye laser, a standard treatment for PWS. The laser treatment elicits thrombi formation in the PWS, causing ischemia, which elicits a wound healing response that removes the PWS. However, if thrombi loosen and blood flow is re-established, then the treatment fails. The goal of the project is to image regions where such reperfusion has occurred and predict treatment failure. In the clinical study, spectral images are typically acquired 15-30 min after treatment. Regions of reperfusion seen in images are later correlated with the success of the PWS clearance at 6 weeks post treatment.

Figure 3 shows the PWS spectra acquired before and 35 min after laser treatment. The laser treatment caused an increase in blood (B) and an decrease in oxygen saturation (S), but no significant effect on the melanin (M) or the constant (K).

 figure: Fig. 3

Fig. 3 Portwine stain lesion (PWS) spectra taken (A) before laser treatment and (B) 35 min after laser treatment (black circles). Red line shows fit by algorithm. Magenta lines show oxygenated blood (S = 0.6-1.0). Cyan lines show deoxygenated blood (S = 0-0.5). The blood content (B) increases and the oxygen saturation (S) decreases as thrombi are formed in the PWS by the laser treatment. The melanin content (M) and the constant (K) did not change significantly. The spectra for scatter only (black), + water (blue), + melanin (green) and + blood (red) are shown.

Download Full Size | PDF

4. Speed improvement for spectral analysis

To illustrate the improvement in speed, a set of spectra were analyzed using the least squares fitting routine fminsearch() in MATLABTM, which is based on the Nelder-Mead simplex method. Then the same spectra were analyzed using the algorithm of this report, using 5 iterations. Figure 4 shows histograms of computation times for the spectra using the two methods. The matrix method for spectral analysis of this report required 1.2 ms, while the fminsearch() required 120 ms, which is a 100-fold increase in speed.

 figure: Fig. 4

Fig. 4 Time required for fitting spectra, using (A) the matrix method of this report, and (B) the fminsearch() function in MATLABTM. The histograms for computation time (ms) for fitting one spectrum is shown, based on fitting over 300 spectra. The mean time for the matrix method (1.2 ms) is 100-fold faster than the mean time for the fminsearch() method (120 ms).

Download Full Size | PDF

4. Summary

The matrix inversion method provides a rapid spectral analysis for spectral imaging. A 512x512 pixel image would require about 5.2 min to analyze all pixels using a single processor and implemented on MATLABTM to yield the blood, oxygen saturation, melanin content and scattering strength of a skin site. This method is being used to analyze spectral images of portwine stain lesions before and after laser treatment to detect reperfusion and predict treatment failure.

This matrix inversion method should be able to be implemented on a graphics programming unit (GPU) to attain another factor of 10 or more in speed. Combining the 100-fold increase in speed of the rapid analysis algorithm with a high speed GPU should enable near real-time spectroscopy of tissues. For spectral imaging, analyzing an image would take ~30 s.

Acknowledgments

This work was supported by a grant from the National Institutes of Health (RO1-HL084013).

References and links

1. S. L. Jacques and B. W. Pogue, “Tutorial on diffuse light transport,” J. Biomed. Opt. 13(4), 041302 (2008). [CrossRef]   [PubMed]  

2. L.-H. Wang, S. L. Jacques, and L.-Q. Zheng, “MCML–Monte Carlo modeling of light transport in multi-layered tissues,” Comput. Methods Programs Biomed. 47(2), 131–146 (1995). [CrossRef]   [PubMed]  

3. K. G. Phillips and S. L. Jacques, “Solution of transport equations in layered media with refractive index mismatch using the PN-method,” J. Opt. Soc. Am. A 26(10), 2147–2162 (2009). [CrossRef]   [PubMed]  

4. S. L. Jacques, Origins of tissue optical properties in the UVA, visible and NIR (1991). Optical Society of America Trends in Optics and Photonics, Vol. 2 Advances in Optical Imaging and Photon Migration, p. 364–371 (1996).

5. C. R. Simpson, M. Kohl, M. Essenpreis, and M. Cope, “Near-infrared optical properties of ex vivo human skin and subcutaneous tissues measured using the Monte Carlo inversion technique,” Phys. Med. Biol. 43(9), 2465–2478 (1998) (as posted on website http://www.medphys.ucl.ac.uk/research/borg/research/NIR_topics/skin/ skinoptprop.htm.). [CrossRef]   [PubMed]  

6. S. L. Jacques and D. J. McAuliffe, “The melanosome: threshold temperature for explosive vaporization and internal absorption coefficient during pulsed laser irradiation,” Photochem. Photobiol. 53(6), 769–775 (1991). [PubMed]  

Cited By

Optica participates in Crossref's Cited-By Linking service. Citing articles from Optica Publishing Group journals and other participating publishers are listed here.

Alert me when this article is cited.


Figures (4)

Fig. 1
Fig. 1 The algorithm for spectral analysis. The measured spectrum specifies OD. The array A [see Eq. (5) is initially filled using Eq. (1)] to specify μa and using the lookup tables L(μa, μs’, Mμa.mel) and Lepia, μs’, Mμa.mel) based on Monte Carlo simulations to specify L and Lepi for each wavelength. An initial value μs500nm is assumed. The matrix inversion X = A−1OD yields values for B, S, W that are used to update μa. The predicted water W1 is used to update μs500nm: μs500nm = μs500nm(0.65/W1). Then μa, M and μs500nm are used to update L and Lepi. The A matrix is updated. The cycle is repeated. After 5 iterations, the values of X converge on stable values.
Fig. 2
Fig. 2 A hand-held spectral camera for measuring skin sites. Liquid crystal tunable filter scans to different wavelengths. Camera views reflected skin through cross-polarizer filter to reject surface glare. The open port contacting the skin does not compress the skin site and avoids blanching the vasculature.
Fig. 3
Fig. 3 Portwine stain lesion (PWS) spectra taken (A) before laser treatment and (B) 35 min after laser treatment (black circles). Red line shows fit by algorithm. Magenta lines show oxygenated blood (S = 0.6-1.0). Cyan lines show deoxygenated blood (S = 0-0.5). The blood content (B) increases and the oxygen saturation (S) decreases as thrombi are formed in the PWS by the laser treatment. The melanin content (M) and the constant (K) did not change significantly. The spectra for scatter only (black), + water (blue), + melanin (green) and + blood (red) are shown.
Fig. 4
Fig. 4 Time required for fitting spectra, using (A) the matrix method of this report, and (B) the fminsearch() function in MATLABTM. The histograms for computation time (ms) for fitting one spectrum is shown, based on fitting over 300 spectra. The mean time for the matrix method (1.2 ms) is 100-fold faster than the mean time for the fminsearch() method (120 ms).

Equations (10)

Equations on this page are rendered with MathJax. Learn more.

g e t R ( μ a , μ s ' , n r ) = e μ a L ( μ a , μ ' s , n r )
μ a ( λ ) = B S μ a . o x y ( λ ) + B ( 1 S ) μ a . d e o x y ( λ ) + W μ a . w a t e r ( λ ) + i f i μ a . i ( λ )
μ s ' ( λ ) = μ s ' 500 n m ( f ( λ 500 n m ) 4 + ( 1 f ) ( λ 500 n m ) b )
R ( λ ) = K e M μ a . m e l L e p i e μ a L
O D ( λ ) = ln ( R ) = B S μ a . o x y ( λ ) L ( λ ) + B ( 1 S ) μ a . d e o x y ( λ ) L ( λ ) + W μ a . w a t e r ( λ ) L ( λ ) + M μ a . m e l ( λ ) L e p i ( λ ) ln ( K )
| O D λ 1 O D λ 2 O D λ 3 ... O D λ N | O D = = | μ a . o x y . λ 1 L λ 1 μ a . d e o x y . λ 1 L λ 1 μ a . w a t e r . λ 1 L λ 1 μ a . m e l . λ 1 L e p i . λ 1 1 μ a . o x y . λ 2 L λ 2 μ a . d e o x y . λ 2 L λ 2 μ a . w a t e r . λ 2 L λ 2 μ a . m e l . λ 2 L e p i . λ 2 1 μ a . o x y . λ 3 L λ 3 μ a . d e o x y . λ 3 L λ 3 μ a . w a t e r . λ 3 L λ 3 μ a . m e l . λ 3 L e p i . λ 3 1 ... ... ... ... ... μ a . o x y . λ N L λ N μ a . d e o x y . λ N L λ N μ a . w a t e r . λ N L λ N μ a . m e l . λ N L e p i . λ N 1 | A × | B S B ( 1 S ) W M ln ( K ) | X
X = A 1 O D
B = X ( 1 ) + X ( 2 ) S = X ( 1 ) / ( X ( 1 ) + X ( 2 ) ) W = X ( 3 ) B = X ( 4 ) K = exp ( X ( 1 ) )
L ( μ a , μ s ' , M μ a . m e l ) = 1 R ( μ a , μ s ' , M μ a . m e l ) R ( μ a , μ s ' , M μ a . m e l ) μ a
L e p i ( μ a , μ s ' , M μ a . m e l ) = 1 R ( μ a , μ s ' , M μ a . m e l ) R ( μ a , μ s ' , M μ a . m e l ) ( M μ a . m e l )
Select as filters


Select Topics Cancel
© Copyright 2024 | Optica Publishing Group. All rights reserved, including rights for text and data mining and training of artificial technologies or similar technologies.