It is known to use ultrasound to image anatomical structures by transmission and reception of ultrasound waves from a transducer. Ultrasound imaging may often be applied to image the fetus in the womb.
Three-dimensional (3D) ultrasound images may be obtained by using software to combine ultrasound data that has been taken at different positions or angles to obtain volumetric ultrasound data, and to render an image from the volumetric ultrasound data using methods such as simple surface shading or direct volume rendering. The rendered image may be represented as a 2D rendered image data set, which comprises appropriate pixel color values for display on a 2D surface such as a 2D screen. Such rendered images may nonetheless be referred to as 3D images because they provide an image that the viewer perceives as being representative of a structure in three dimensions, for example a solid structure.
In four-dimensional (4D) ultrasound imaging systems, a series of 3D images obtained at different times is dynamically rendered to produce a moving 3D image, for example a 3D ultrasound movie.
In recent years, 3D and 4D ultrasound images have been made more realistic through the use of advanced lighting techniques (referred to, for example, as global illumination, gradient free lighting, subsurface scattering or photon mapping) that simulate illumination with a more physically accurate model than was previously used.
In global illumination, a lighting model may be used that includes both direct illumination by light coming directly from a light source and indirect illumination, for example illumination by light that has been scattered from another surface.
Global illumination in ultrasound has gone from being seen as a novelty to being, in some cases, a required feature of ultrasound systems. In obstetrics, global illumination may be used to provide high quality images of the fetal face. Global illumination may also be of interest to doctors in other specialties, For example, global illumination may be used to render images from abdominal scans, so as to produce images that may in some cases be easier to read and/or contain greater detail than those produced with simpler lighting models. It is expected that the recognition and importance of global illumination may continue to increase.
Volume rendering may be computationally costly. FIG. 1 shows a cubic grid of voxels for which width=height=depth=N. The complexity of the volume rendering for this cube may be of the order of N3 (all the voxels may have to be taken into account).
Volume rendering for which global illumination is used may be even more computationally costly than volume rendering without global illumination. A naïve method for simple lighting configurations may include of the order of N4 operations.
There are global illumination methods that transform the global illumination process into two passes. Using such methods, the complexity of rendering may be considered to be reduced to be on the order of 2*N3. One such method is photon mapping. Other methods are also available that perform two passes, which may be referred to as traversals.
A first pass may create a light volume, and a second pass may use the light volume to render an image for display. A two-pass system may allow a single light volume to be used for multiple rendering passes at different viewing angles, thus avoiding the need to recalculate the light volume for each render.
A volumetric image data set comprises an array of voxels, each with an associated intensity. A volumetric image data set may be obtained directly from a medical imaging scan or through further processes such as reconstruction and filtering.
The volumetric image data set may be representative of all or part of the subject of the scan. The intensities of the voxels may correspond to physical properties of the subject of the scan, for example tissue types. The intensities may be mapped on to opacity and color values, for example by using a transfer function.
The volumetric image data set contains a representation of materials, surfaces and so on that occur in the subject. In the discussion below, processes may be referred to as if they occurred in a physical space (for example, light reflecting from a surface). However, in the case of illumination, we are usually describing virtual (simulated) processes occurring as numerical operations on a volumetric image data set. Similarly, when we discuss the volumetric image data set as if it were a physical space having a physical extent, we are generally referring to the coordinate space that is represented by the voxels of the image volume.
In order to render an image from the volumetric image data set, the position of at least one light source may be determined with reference to the volumetric image data set. The position of a viewpoint (which may be referred to as a camera) may also be determined. The image will be rendered as if viewed from the viewpoint.
A first pass may comprise a traversal from the light source into the volumetric image data set, in which virtual light is cast into the volumetric image data set. A global illumination lighting model may be used. The irradiance due to the light source may be determined at each of a large array of points in the volumetric image data set using absorptive properties assigned to the voxels in dependence on the voxel intensities.
The irradiance values at the array of points may be stored as a light volume. The light volume may be stored in memory. The light volume may be independent of the viewpoint.
The irradiance of each voxel in the light volume is determined by the number of photons that passes through the voxel. For better numerical performance, photons are often treated in a statistical way, rather than in a discrete way. This means that light from the light source may act as a beam of light sometimes, but like a discrete photon at other times.
Absorption may be more efficient to describe statistically, usually as an integral formed by the Beer-Lambert law. Absorption as defined by the Beer-Lambert law is governed by a medium-specific coefficient called the attenuation coefficient. The attenuation coefficient has a range of [0,∞] and may be used synonymously with opacity. Opacity is often defined on a [0,1] range, indicating what fraction of the light is absorbed.
Reflection and scattering and refraction may be seen as events that can happen along the light path and as such may be part of the determination of each voxel's irradiance.
A second pass may comprise a traversal through the light volume from the camera, using the light volume to provide global lighting information. Rays may be cast from the camera (for example, one ray for each pixel of the resulting rendered image), and irradiances from points along each ray may be integrated to provide pixel color values for a final rendered image.