Simulated Fluorescence Process (SFP) is the computing algorithm behind the Huygens SFP Renderer. By modeling a physical light / matter interaction process an image is computed showing the data as it would have appeared in reality if it was made up of fluorescent materials, and if its size was on a 'human scale'.
Principle
A virtual light source produces excitation light that illuminates the object. This casts shadows on parts of the object itself and on a table below it. The interaction between the excitation light and the object produces emission light, which also interacts with the object before it reaches the eye of the viewer.
SFP fundamentals
The VoXel values in the image are interpreted as the density of a fluorescent material. If the voxels are Multi Channel each channel is interpreted as a different fluorescent dye. Each dye has its own specific excitation and emission wavelength with corresponding distinct absorption properties. The absorption properties can be controlled by the user. The different emission wavelengths give each dye a specific color.
To excite the fluorescent matter, light with a given Excitation Wavelength must traverse other matter. The resulting attenuation of the excitation light will cause objects, which are hidden from the light source by other objects, to be weakly illuminated, if at all. The attenuation of the excitation light will be visible as shadows on other objects. To optimally use the depth perception cues generated by these shadows a homogeneous plane (the gray table) is placed below the data volume on which the shadows are cast.
After excitation the fluorescent matter will emit light at a different Emission Wavelength (longer than the Excitation Wavelength if the number of Excitation Photons is just one). Therefore the emission light can not re-excite the same fluorescent matter: multiple scattering does not occur. Thus only the light emitted in the direction of the viewer, either directly or as reflected by the table is of importance. By simulating the propagation of the emitted light through the material, the algorithm computes the final intensities of all wavelengths (the spectrum) of the light reaching the viewpoint.
The Sfp Renderer has many optional parameters that allow for full control over the SFP process:
- Twist, tilt, zoom & pan: Adjust the viewing angle and camera position.
- Render mode: Set whether the scene must be rendered in fast mode, in high quality mode, rendered in a movie or not rendered.
- Penetration depth: Adjust the overall transparency of the objects.
- Excitation transparency: Adjust excitation transparency for each channel.
- Emission transparency: Adjust emission transparency for each channel.
- Shadow transparency: Adjust shadow transparency for each channel.
- Object brightness: Set the intensity level of the emission light for each channel.
- Soft threshold: Adjust the threshold level for the each channel.
- Color mode: Adjust the color of each channel.
- Camera tracking: Let the excitation lighting direction follow the camera.
- Light twist & tilt: Adjust the excitation lighting direction (azimuth and zenith).
- Table: Choose whether or not the table underneath the object should be included in the scene.
- Table distance: Adjust the distance between the object and the table.
- Table reflection: Adjust the degree of reflection of the table.
- Table size: Adjust the size of the table.
- Table color & brightness: Adjust the color of the table through hue, saturation, and brightness.
- Background color & brightness: Adjust the color of the background through hue, saturation, and brightness.
GPU implementation
A fast GPU implementation of the SFP algorithm is available as from Huygens 19.04. If a GPU is available and has sufficient on-board memory it is automatically used, otherwise processing will fall back to the CPU.
References
Noordmans, Herke Jan, Hans TM van der Voort, and Arnold WM Smeulders. "Spectral volume rendering." IEEE transactions on visualization and computer graphics 6.3 (2000): 196-207.
Noordmans, Herke Jan, et al. "Physically realistic visualization of embedded volume structures for medical image data." Medical Imaging 1999: Image Display. Vol. 3658. International Society for Optics and Photonics, 1999.
Noordmans, Herke Jan, Arnold WM Smeulders, and Hans TM van der Voort. "Fast volume render techniques for interactive analysis." The Visual Computer 13.8 (1997): 345-358.
Van der Voort, H. T. M., et al. "Volume visualization for interactive microscopic image analysis." Bioimaging 1.1 (1993): 20-29.
Messerli, J. M., Van der Voort, H. T. M., Rungger‐Brändle, E., & Perriard, J. C. (1993). Three‐deimensional visualization of multi‐channel volume data: The amSFP algorithm. Cytometry: The Journal of the International Society for Analytical Cytology, 14(7), 725-735.
H. T. M. van der Voort, G. J. Brakenhoff and M. W. Baarslag. "Three-dimensional visualization methods for confocal microscopy", Journal of Microscopy, Vol. 153, Pt 2, February 1989, pp. 123–132.
See Wikipedia for further reference.