Digital Twin for Imaging Skin
Introduction
Blood oxygen saturation is an important health indicator. When blood oxygen levels drop below a certain threshold, extremely dangerous, even life-threatening, conditions can occur due to the lack of oxygen reaching vital organs. Platforms to monitor blood oxygen saturation have therefore been a sought-after solution, as seen in the development of pulse oximeter finger monitors and the addition of monitors onto smartwatches, such as the Apple Watch. These monitors use reflected light to perform measurements since blood oxygen levels affect the reflectance characteristics of blood within the skin.
Another skin chromophore that affects reflectance characteristics of skin is melanin content. The distribution of melanin throughout the skin is an important indicator for skin cancers and skin health, and can affect blood oxygen measurements, making it imperative to consider.
For our project, we explore how imaging sensors can capture differences in blood oxygen levels and skin melanin content. Using imaging sensors for this task is attractive to naturally provide spatial information on the levels of the two chromophores of interest. In our project, we first explore methods to model the skin using MCMatlab [1], and simulate changes in the reflectance spectra given changes in blood oxygen levels and/or skin melanin content. Then we model imaging skin with these characteristics using iSetCam [2], to predict how differences will be captured.
Background
Blood Oxygen Saturation
Blood oxygen saturation levels can be measured using concentrations of oxygenated and deoxygenated hemoglobin–a protein that binds to oxygen molecules in the blood. By measuring the ratio between the concentration of oxygenated hemoglobin,
, to the total concentration of hemoglobin in the blood,
, a blood-oxygen saturation level,
, can be determined and used for medical diagnosis [3].

The optical absorption characteristics for oxygenated hemoglobin and deoxygenated hemoglobin are different at different wavelengths, as seen in the absorption spectra in Figure 1. Because of the distinct differences in their absorption spectra, we recognize that we can use reflected light as a measurement tool to differentiate between oxygenated and deoxygenated hemoglobin [2].

Reflectance describes what fraction of incident light gets reflected from a surface, and for biological tissue, this is related to absorption and scattering within the material through the following equation [4]:

where
and
are absorption and scattering coefficients that depend on the wavelength of light, and
and
are calibration constants. The goal of our project is to non-invasively capture images of the skin and characterize blood-oxygen saturation using reflectance data. This means we will need to know absorption and scattering properties for both blood and the layers of skin surrounding it. The total absorption spectra for blood,
, is found using the sum of the individual absorption spectra,
and
, weighted by their corresponding concentrations [1].

Skin Reflectance
The epidermis is the layer of skin which sits above the arteries and veins that carry blood, and it contains melanin, a chromophore which also absorbs light. The absorption properties of the epidermis,
, are modelled using experimentally determined functions for melanin,
, and baseline skin,
, which are weighted according to the density of melanin in the skin [5]. For skin types with light pigmentation, the epidermis layer will contain a smaller density of melanin compared to skin types with dark pigmentation.

Here, the function for baseline skin characterizes absorption from a melaninless epidermis layer and bloodless dermis layer. As is the case for absorption in blood, these functions are wavelength dependent. Figure 2 illustrates how the wavelength dependence of absorption in melanin exponentially decays. The absorption is highest for shorter wavelengths, but is much lower and not as wavelength dependent beyond 600 nm.

When absorption from melanin is low, measuring changes in reflectance due to oxygen levels in the blood can be achieved much more easily without as much noise present. With this in mind, we note that the low absorption level of melanin near 600 nm coincides with the distinct spectral features around 600 nm in the absorption data for oxygenated and deoxygenated blood from Figure 1. This is a design consideration that we will explore further when evaluating different imaging systems. Scattering within the skin can also be characterized using the following expression [4]:

where
, and
depends on the size of the scatter under consideration. For skin tissue, this is assumed to be 0.6. These absorption and scattering functions for blood and skin can be used to model and understand reflectance data for various skin types. In Figure 3, examples of measured reflectance spectra are plotted for various skin types [2].

We see that different skin types with different melanin content have distinct shapes to their reflectance spectra. The spectrum for the African American skin type, with higher melanin, exhibits much lower reflectance values with a more linear shape in the 600-900 nm range compared to the spectrum for the Caucasian skin type. The spectrum for the Caucasian skin type, with lower melanin, exhibits higher reflectance values and a concave shape in the same range. The spectrum for the African American skin type also does not exhibit the same peaks and dips that the spectrum for the Caucasian skin type does in the 500-600 nm range. These differences will be critical in our assessment of different imaging systems.
MCmatlab for Modeling Human Skin
In order to evaluate the best imaging systems for capturing differences in blood-oxygen saturation for different skin types, we want the ability to easily manipulate blood and skin parameters and to generate reflectance data that corresponds to these changes. MCmatlab is a tool which allows us to accomplish these goals. MCmatlab is a software package that uses a Monte-Carlo simulation to iteratively solve the Radiative Transfer Equation [6].

The Radiative Transfer Equation describes how radiation undergoes absorption, scattering, and extinction processes as it propagates in a medium [7].
is the spectral radiance of a beam of light, which can be thought of as an intensity per solid angle for a specific wavelength. The Radiative Transfer Equation measures changes in the spectral radiance of a beam over some distance in a volume described by the coordinates x, y, and z. These changes are quantified by the sum of the incident spectral radiance,
, weighted by an extinction coefficient,
, plus the scattered spectral radiance,
, weighted by a scattering coefficient,
, plus the spectral radiance of thermal emission,
, weighted by an absorption coefficient,
.
Because these processes are stochastic, solving this equation requires numerical methods like Monte-Carlo. In this case, the Monte-Carlo simulation from MCmatlab uses small timesteps to advance the motion of a photon within a specified volume for a specified number of photons and initial trajectories [6]. The size of the timesteps varies randomly as photons propagate through the medium with given attenuation properties. Absorption in the medium is modeled by numerically reducing the energy of a photon. This can also result in termination of the photon if it falls below a certain threshold.The portions of the photons that don’t experience absorption are given an angular change in their trajectory in order to emulate scattering.
We create a 3D skin model in MCmatlab by first specifying the geometry of the volume we’d like to simulate. This includes the overall dimensions, the size of the bins within the volume to be evaluated, as well as the dimensions of individual skin layers. The skin layers we incorporate include air, epidermis, upper dermis, blood, lower dermis (with rows of blood vessels), and black (a purely absorbing material).

In addition to the geometry of our simulation, we also have the ability to vary parameters such as the scattering properties, absorption properties, and scattering anisotropy, g, of the materials that we model. Using our virtual skin model and the Monte-Carlo solver, we can generate reflectance data for a variety of parameters that we wish to explore.

2022 Psych221 Project Results
A former Psych221 project from 2022, conducted by Ritvik Sharma, Pranil Joshi, and Arjun Deopujari, used MCmatlab to generate reflectance data for different levels of blood-oxygen saturation and for different amounts of melanin [8]. Figure 6 shows these results for type I skin, with low melanin, for 85%, 90%, 95%, and 100% oxygen levels.

Below 580 nm, it is very difficult to distinguish between the reflectance spectra for the different oxygen levels, but between 600-700 nm, this difference becomes much more apparent. In Figure 7, we observe very similar characteristics for the reflectance spectra of skin type VI, except that the magnitude of the reflectance values are considerably lower (max. ~0.18 compared to max. ~0.35 for skin type I).

How Apple Watches Previously Measured Blood Oxygen Saturation
The Apple Watch is an example of a technology that uses reflectance information from visible and NIR light sources to measure blood oxygen levels. By understanding how they work, we can get an idea of what spectral features are most important for us to measure. Apple watches have previously used 660 nm red light to detect changes in blood-oxygen saturation [9]. As we pointed out for Figures 6 and 7, the spectral range between 600-700 nm exhibits the greatest contrast between oxygen content, so 660 nm is a logical choice for this measurement. 850 nm NIR light was also used to make baseline measurements such that the ratio of 660 nm light to 850 nm light would give values for blood-oxygen saturation that are calibrated relative to the amount of melanin in the skin.
An additional 525 nm green light was incorporated to measure changes in blood volume as well. As blood is pumped by the heart, the arteries carrying oxygenated blood will periodically expand and contract. This means that the volume of blood present in the skin will change with time. Measurements need to be calibrated according to when blood volume is highest so that there is maximum contrast between blood in the arteries that contains oxygen and blood in the veins that does not.

Knowing how an Apple Watch performs these measurements, our imaging system will similarly need to capture not only the contrast between oxygenated and deoxygenated hemoglobin in the blood, but also calibration data for melanin content and blood volume using specific wavelength choices for our light sources and sensors.
Methods
MCMatlab for Modeling Skin Reflectance
To create simulated reflectance spectra with features that match experimentally measured data, we build on the code developed in the 2022 project [8]. We began by using the same simulation parameters that they used but with a smaller step size for the wavelength sweep. By doing this, we expected to extract some of the finer features that were missing from the simulated data but were present in the experimental data. This included, for instance, the spectral peaks and dips seen in Figure 3 for Caucasian skin below 580 nm. However, without access to the original data used in the 2022 project, we had trouble replicating and improving on their results. As an alternative approach, we chose to substitute the input data for skin absorption with the empirical functions described in background [5]. The results of these changes are discussed in the section that follows.
iSetCam for Modeling Skin Imaging
Once reflection data has been simulated in MCMatlab, we can use iSetCam to model imaging skin with the specified reflectance data. To start we first combine reflection data for various skin types into a single scene; this is useful for easy comparison between skin properties.
With the scene created from the reflectance data, we can use iSetCam to adjust the illuminant on the scene. Using illuminants with different spectral densities, different portions of the spectrum can be probed more or less heavily. The simulated reflectance of skin may show more or less sensitivity to blood oxygen levels and skin melanin content around specific wavelengths. Therefore tuning the spectral density to probe these regions of interest explores how illuminant conditions affect the distinguishability of skin characteristics. In our study, we include both broadband white light sources and LED-like sources with high spectral density around a single wavelength.
The scene and illuminant combination represents the light that would be expected to be reflected back from the scene given the illuminant’s spectral density. This light can then be processed at a sensor to model how different sensors respond.
Using iSetCam the sensor properties can be adjusted; many characteristics can be explored including, pixel size, noise properties, filter arrays and many more. In this study, we are largely interested in the spectral response of the light, and how to tune the illuminant spectrum and the sensor filter spectrum to best capture various skin features. In this case we kept noise properties to include both electronic and shot noise in all cases, as well as imaging conditions like field-of-view and imaging distance constant. We considered real sensors based on data from physical and purchasable items, as well as idealized sensors. For our study we investigated both monochrome or intensity sensors, as well as color sensors.
Once a filter with specific properties has been set, the light can be processed at that sensor. This leads to expected pixel values that can be considered in either voltages or digital values. To predict distinguishability we pull these pixel values and look at the average value for each set of skin characteristics. We can evaluate these pixels by looking at which filters provide the most and least sensitivity to skin characteristics to lay the groundwork for data processing algorithms to accurately describe skin characteristics. Considering low sensitivity sensor responses is useful to calibrate the data, and then use high sensitivity portions to accurately read the value after calibration.
Results
Melanin and Blood Oxygen Level Sensing
Using MCMatlab with the absorption and scattering coefficients discussed in the background and methods section, the output spectrums are obtained for varying skin melanin content and blood oxygen levels. Higher melanin counts show reduced sensitivity to blood oxygen level changes. For this reason, shown are the two melanin content extremes, with type I skin containing a low percentage of melanin, and type VI containing a high percentage of melanin. In figure 9, the expected features in the type I epidermis can be observed between 500 nm and 600 nm from blood absorption, as well are the expected significant jump in reflection past 600 nm (see Figure 3). In the type VI epidermis we observe the expected reduction of these features caused by the increased melanin count (see Figure 3).

With this simulated reflectance data, iSetCam is then used to predict the light reflected from skin with certain blood oxygen and melanin levels under a specified illuminant. Fig. X+1 shows the expected reflected light under four illuminants: equal energy white light, D65 white light, 620 nm red LED, 520 nm green LED. Additionally, eight skin types are shown under each illuminant, type I epidermis with blood oxygen levels of 85%, 90%, 95% and 100%, and type VI epidermis with blood oxygen levels of 85%, 90%, 95% and 100%.

With the light charts shown in Fig. 10, we can now process these different spectral reflections at various sensors. Considering the output of the monochrome sensor, with unitary quantum efficiency at all wavelengths a processed image is given in Fig 11.

The processed images give a prediction of what the output image would look like using standard post processing of the pixel values. However, since signatures appear rather faint, looking at the raw pixel data, and doing specific post processing may enable better skin characteristic detection. Figure 12, shows the average pixel value for a given skin characteristic combination.

The curves in Fig. 12, depict the average pixel values for a given skin type under the specified illuminant. These curves can be thought of as taking horizontal slices of pixel values in an image like Fig. 10 and Fig. 11 and averaging them for an epidermis type. The white illuminants, equal energy and D65, wash out the type I skin to the point signals held about the blood oxygen level are indistinguishable. In type VI epidermis skin the white lights see a slight upward trend in value, coming from the increased reflectance at higher blood oxygen levels. The red LED illuminant shows the greatest contrast between blood oxygen levels. The increased contrast can be observed in the clearly defined steps at each transition in skin oxygen level in the red LED illuminant column. The green LED is fairly flat, or non-responsive to blood oxygen levels, but a slight downward trend is visible in the type I epidermis resulting from the absorption features in the oxygenated and deoxygenated blood spectrums (Figure 1). A monochrome sensor may be attractive to take multiple images of skin using various LED illuminants, where a green or blue LED may be used to calibrate the image taken with the red LED. Since the blue or green LED can be insensitive to blood oxygen levels and sensitive to other factors like melanin content or blood volume, images under green or blue LEDs could be used to map melanin and blood volume. Then using the blue-green calibration map, the red LED image can be processed to pull out blood oxygen content.
The AR0132AT imaging sensor, with a Red-Clear-Clear-Clear (RCCC) filter arrays, is a more realistic sensor than the idealized monochrome sensor discussed above. It consists of a repeating four-block array, where one pixel has a red filter and the other three have clear filters. Unlike the idealized monochrome sensor the clear filters do not exhibit perfect unitary quantum efficiency. It has a given quantum efficiency in Fig. 13.

Processing the light at the sensor and filter, the pixel data gives insight into the sensor's ability to capture skin characteristics. The pixel data is processed the same way as before, by average horizontal slices of the pixel values for each epidermis type.

Figure 14, shows in both type I and type VI epidermis the filter is able to resolve clear steps from blood oxygen levels in the red pixel data when the light contains some fraction of red light. Additionally, the clear pixels also pick up this sensitivity; this can partially be attributed to the slight favoring of quantum efficiency the clear pixels have towards red wavelengths. However, in bright conditions, like white light with type I skin, the steps get washed out in the clear pixel but are clearly obtained in the red pixel values. The clear filter slightly favors red light and can be useful for imaging brightness, as well as blood oxygen level. The values of the red pixel and clear pixel could be used in conjunction. Clear pixels could be used to calibrate lightness which can relate to skin melanin count and red pixels could be used to determine blood oxygen levels based on the calibration of brightness. In the calibration and analysis process, taking into account the spectral quantum efficiency of each pixel filter is imperative to properly extract data. This imaging system is similar to the monochrome, where it is largely dominated by intensity, but has selective sensitivity to red wavelengths where maximum blood oxygen contrast resides.
The monochrome and RCCC filtered sensors show distinguishable sensitivity to blood oxygen levels under red light conditions but may require additional images with specific illuminants to perform accurate calibration. Due to the desire to probe certain wavelengths for certain information about the skin, it is interesting to consider a colored image, and how one could pull pixel data for broad spectral information. The first color imaging sensor considered in this study will be the Sony IMX363. The IMX363 sensor has the spectral quantum efficiency given in Figure 15a, with corresponding pixel layout shown in Figure 15b.

Considering the same four illuminants as before, and using the Sony IMX363 sensor with this spectral quantum efficiency to process an image of the skin, the following pixel values are obtained.

Both the type I and type VI epidermis show the upward trend with blood oxygen level in the raw green and red pixel values. The green pixel has minor quantum efficiency in the 600-700 nm region, where blood oxygen levels most heavily influence the reflectance spectrum. These upward trends in both red and green pixels are therefore expected, as both pixels exhibit spectral sensitivity to the increased reflectance with increased blood oxygen levels. The blue pixel has almost no quantum efficiency in this region and obtains very flat bands with respect to blood oxygen levels. Notably, the relative values of the red and green pixels shift which is larger under the red illuminant from type I to type VI skin. We note, type I skin sees a large jump in reflectance above approximately 600 nm, where type VI skin sees a more gradual increase (see Figure 9). This results in type I epidermis strongly reflecting red light compared to the amount of shorter wavelengths it reflects, where as the type VI skin has a less of a difference. Due to the filter being most sensitive to green light, which favors shorter wavelengths, under the red light illumination where the central wavelength is centered around the large jump in reflectance observable in type I skin, these differing features in reflectance spectrum due to melanin are observable in the relative pixel values. This highlights the importance of considering the filter quantum efficiency, the light source spectral density and the varying features in reflectance from melanin content to post process the data. Keeping this in mind, one might post process in a way that the blue pixels can calibrate the images’s melanin values. The green and red pixels can be used in conjunction with the calibration from blue pixel values to resolve blood oxygen levels and melanin content. The relative intensities of each of the pixels will be used to probe specific portions of the reflectance spectrum that contain chromophore specific features.
The type VI epidermis skin exhibits reduced pixel value contrast between blood oxygen levels, and noise effects become apparent increasing the difficulty of distinguishing different blood oxygen contents. The filter array used for the IMX363 sensor shows the greatest sensitivity to green wavelengths, and filters out much light in the region of interest between 600 and 700 nm. The low sensitivity to red light reduces the number of photons processed at the sensor containing important blood oxygen level information when lower light conditions are experienced. Therefore, a filter array that uses multiple color filters to probe specific portions of the spectrum, but shows high sensitivity to red wavelengths is attractive to explore.
A Cyan-Yellow-Yellow-Magenta (CYYM) may be the answer. The CYYM filter with the quantum efficiencies and filter layout shown in figure 17 has increased sensitivity to red wavelengths over the Bayer-RGB filter used for the Sony IMX363.

In this filter array both the yellow and magenta pixels show significant sensitivity to red wavelengths, enabling high capture rate of important red photons. The cyan pixel shows a dip in quantum efficiency in the region, it is expected to show low sensitivity to blood oxygen levels. Processing the skin image through a sensor with this CYYM filter array gives the average pixel values shown in Fig 18.

In both the yellow and magenta pixels, and type I and type VI epidermis, clear steps are visible due to blood oxygen levels. This response is expected as these pixels exhibit significant quantum efficiency in the red wavelengths that are sensitive to blood oxygen levels. The cyan pixel has a dip around this region, leading to flat bands with respect to blood oxygen content. This filter array shows high sensitivity to blood oxygen content, and has cyan pixel information to calibrate melanin content. With post processing algorithms, it is expected a reliable analysis of the images can be made using the three pixel values to calibrate melanin and blood oxygen levels.
We have highlighted how it is necessary to have high sensitivity to red wavelengths to successfully obtain signatures from blood oxygen content, while it is also useful to extract calibration data for melanin content that is not sensitive to blood oxygen levels to prevent melanin content from affecting blood oxygen level predictions.
Pulse Sensing
Up to this point blood volume has been considered constant. However blood volume in a given area changes with time due arterial pulses. In MCMatlab blood volume dependent spectra can be simulated by adjusting the volume taken up by the blood layer. Figure 19 shows the reflection spectra of skin when there is a small volume of blood and a large volume of blood in type I epidermis skin.

There is a clear bump in the reflection spectrum for small blood volume slightly past 500 nm coming from the absorption increase of blood around this spectral location. In contrast the large blood volume sees a decrease in this feature from increased absorption. This spectral feature can then be probed with green light around this wavelength. This difference can be considered using the IMX363 sensor again, and pulling green pixel information.

There is a clear difference between the two blood volumes visible in the green pixel data. However, pulling the raw pixel data exhibits the importance of considering other pixel values. The green pixel in the imx363 sensor has quantum efficiency overlapping with the 600-700 nm region. Therefore the green pixel values show sensitivity to blood oxygen level that could blur proper blood volume calibration. Post processing the pixels considering the red pixel response can flatten out the green value response, removing sensitivity to red wavelengths that could blur proper blood volume calibration.

Figure 21, shows an example of post processing pixel data in the default way to render an image in iSetCam, eliminating some negative effects from quantum efficiency overlap. In this method the green values are calibrated against other pixel data flattening out the response, making these values more useful for blood volume analysis than raw green pixel values that exhibit blood oxygen level dependency.
Conclusions
MCMatlab has positioned itself as a useful tool for simulating skin reflectance data. MCMatlab has the freedom to change multiple skin parameters, enabling many datasets to be generated. In experimental settings similar data may be hard to gather, further highlighting the benefits of developing an easy to use, and accurate simulation software. We first discuss improvements made to multi-layer skin modeling to better match output reflection spectra to experimentally measured skin reflectance values. We show important features in the reflection spectra dependent on blood levels, blood oxygen levels and melanin levels are all visible in the simulated data.
We then discuss how imaging of these generated reflection spectra can be modeled in iSetCam, exploring sensor and illuminant properties that enable optimal skin characteristic imaging. We note the importance of having high sensitivity to red wavelengths corresponding to the portion of the skin reflectance spectra with the greatest variation due to blood oxygen content. Additional data in the form of multiple pictures under multiple illuminants, or processing of color-filtered pixels is imperative to properly calibrate the data to melanin and blood volume. In monochrome or RCCC filters, the method of multiple images with calibration between these images may be useful to create accurate detection algorithms. In color pixels, comparative processing of pixel data can probe specific portions of skin reflection spectra that hold information on melanin content, blood volume and blood oxygen levels when considered against one another. A blend of high sensitivity to red wavelengths to pick up small changes caused by blood oxygen content, and non-negibile sensitivity to outside wavelengths could be a powerful platform to accurately image the spatial distribution of melanin and blood in the skin.
References
[1] Marti, Dominik, et al. “MCmatlab: an Open-Source, User-Friendly, MATLAB-Integrated Three-Dimensional Monte Carlo Light Transport Solver with Heat Diffusion and Tissue Damage.” Journal of Biomedical Optics, vol. 23, no. 12, SPIE-Intl Soc Optical Eng, Dec. 2018, p. 1, doi:10.1117/1.jbo.23.12.121622.
[2] Brian Wandell (2024). “isetcam” (https://github.com/ISET/isetcam), GitHub.
[3]Chris Higgins, “Oxygen saturation: Better measured than calculated” https://acutecaretesting.org/en/articles/oxygen-saturation-better-measured-than-calculated
[4] George Zonios and Aikaterini Dimou, "Light scattering spectroscopy of human skin in vivo," Opt. Express 17, 1256-1267 (2009).
[5] Steven L. Jacques, “Skin Optics”, Oregon Medical Laser Center News, (1998), https://omlc.org/news/jan98/skinoptics.html
[6] Ritvik Sharma, Pranil Joshi, Arjun Deopujari "Blood oxygen modelling from skin reflectance" (2022) https://vista.su.domains/psych221confluence/2022/BloodOxygenModellingFromSkinReflectance.pdf
[7] Pranil Joshi (2022) "skin_reflectance_matlab" (https://github.com/PranilJ/skin_reflectance_mcmatlab), GitHub.
[8] Empirical Health, "Oxygen saturation", https://www.empirical.health/metrics/oxygen.
Appendix
Github Repository
https://github.com/cwoodahl/Digital-Twin-Skin-Imaging/tree/main
MCMatlab Simulation
Run on MCMatlab version 3.6.2. See reference [8] and files multiple_layers.m in their project and ours. This contains the basics for simulating multiple layers, and contains our equations to calculate absorption and scattering coefficients.
See files ‘Ep1_400nm_900nm.mat’ and ‘Ep6_400nm_900nm.mat’, containing type I and type VI epidermis reflectance spectrum and error. See files ‘Ep1_v4_sBL.mat’ and ‘Ep1_v4_lBL.mat’ for blood volume reflectance data. 'Ep1_v4_sBL.mat' corresponds to type I epidermis, with a small volume of blood, and 'Ep1_v4_lBL.mat' corresponds to type I epidermis with a large volume of blood.
iSetCam Sensor and Imaging Code
See our file ‘sensorCalibration.m’, containing code used to process illuminant at various sensors.
iSetCam Pixel Data Extraction Code
See our file ‘plotSensorPerformance.m’ for code to easily create average pixel value graphs for various sensors.
Appendix II
This work was very collaborative.
Melanie:
- Improvement of skin modeling in MCMatlab for better fit to experimental data
- Generating reflection/color charts in ISETCam
- Presentation and final report
Clarisse:
- Improvement of skin modeling in MCMatlab for better fit to experimental data
- Simulating sensor response to skin reflections
- Processing raw pixel data to predict distinguishability
- Presentation and final report