Hybrid Ultrasound Simulation

The Hybrid Ultrasound Simulation Algorithm creates simulated ultrasound images based on a given tissue label volume.

Input

It can be invoked with either a tissue label volume alone, or with a tissue label volume and an Ultrasound Sweep (by selecting both in the Data widget and then creating the algorithm). The tissue label volume is a label map, where each label value corresponds to a different tissue type. The algorithm will simulate the ultrasound image based on the tissue properties associated with each label value.

Output

The output of the algorithm is an Ultrasound Sweep containing the simulated ultrasound images.

Description

The algorithm generates a simulated ultrasound sweep based on a given tissue label volume and an optional Ultrasound Sweep. An example workspace showing the usage of this algorithm is available in the ultrasound demo repository.

The simulation method combines ray-tracing convolution to create the final image. Ray-tracing is used to determine the directions of the scanlines and the echos arising from tissue boundaries. It accounts for refraction and reflection as the scanlines cross tissue boundaries. The convolution simulates the tissue appearance within homogeneous areas. The method is based on the technique presented in

Salehi, M., Ahmadi, S. A., Prevost, R., Navab, N., & Wein, W. (2015). Patient-specific 3D ultrasound simulation based on convolutional ray-tracing and appearance optimization. In Medical Image Computing and Computer-Assisted Intervention–MICCAI 2015: 18th International Conference, Munich, Germany, October 5-9, 2015, Proceedings, Part II 18 (pp. 510-518). Springer International Publishing, https://doi.org/10.1007/978-3-319-24571-3_61. https://campar.in.tum.de/pub/salehi2015miccai/salehi2015miccai.pdf

When invoked with only a label volume, the simulation will be based on a user defined sweep. The Controller will then show simulation specific options, as well as options to define the sweep. The user can then define the sweep by placing two splines that define the ultrasound sweep motion and the number of frames, the depth, the probe width, the angle, and the alignment of the frames.

When invoked with a tissue label volume and a sweep, the simulation will be based on the provided sweep, the simulated images will be in the exact same locations as those of the input sweep. The Controller will only show the simulation specific options, the options to define the sweep are not shown. The pre-existing ultrasound sweep provides the information about the ultrasound image geometry and image poses to generate the simulated ultrasound image.

The following tissue types and associated label values have preconfigured acoustic properties:

  • 1: Background

  • 2: Lung

  • 3: Fat

  • 4: Water

  • 5: CSF

  • 6: Kidney

  • 7: Blood

  • 8: Muscle

  • 9: Grey Matter

  • 10: White Matter

  • 11: Liver

  • 12: Soft Tissue

  • 13: Bone

  • 14: Skull

  • 15: Vessels

  • 16: Tumor Brain

  • 17: Air

Simulation Specific Options

../../_images/hybridsim_controller.png

Controller for the Hybrid Ultrasound Simulation Algorithm

The Controller for the Hybrid Ultrasound Simulation Algorithm provides various options to customize the simulation. The following simulation specific options are available:

  • Element Height: Influences the thickness of the image plane. Higher values result in a reduced out-of-plane resolution.

  • Focus Depth: The depth at which the ultrasound waves are focused.

../../_images/hybridsim_tab_ray.png

Ray tracing parameter tab

In the tab Ray Tracing Parameters, the following ray-tracing specific options can be set:

  • Scan Lines: The number of lateral scan lines per image. Reducing this number will speed up the simulation, but can lead to a lower image quality.

  • Elevation Rays: The number of rays in the elevation direction. Does not usually need to be changed.

  • Axial Resolution: The number of sample points along one scan line (axial resolution).

  • Multiple Reflections: The maximum number of ray reflections to be considered.

  • Reflection Factor: Changes the intensity of reflected rays.

  • Intensity Threshold: Rays with an intensity less than the threshold are not traced further.

  • Sound Speed: The speed of sound to be assumed in the simulated imaging.

../../_images/hybridsim_tab_conv.png

Convolution parameter tab

In the tab Convolution Parameters, the following options can be set:

  • Texture Size: Size scale of the scatterers within tissue. Smaller values will result in more coarse noise patterns.

  • Wave Width: The width of the wave at the focus distance. Smaller values will increase the lateral resolution.

  • Smoothness: Influences the depth dependent change of beam-profile. Higher values will result in a larger depth-of-field.

  • Intensity: Tissue response intensity scaling factor. Influences the overall brightness of all tissues.

  • Attenuation: Ultrasound attenuation scale factor. Influences the overall attenuation of all tissues.

  • SxFactor: Scaling factor for the lateral size of the point-spread-function. Smaller values will increase the lateral resolution.

  • SyFactor: Scaling factor for the axial size of the point-spread-function. Smaller values will increase the axial resolution.

  • Convolution Parallel Runs: Number of convolution computations that are computed in parallel. Does not need to be changed in most cases, but different values can speed up the simulation, depending on the graphics card.

../../_images/hybridsim_tab_post.png

Post-processing tab

The Post-processing Parameters tab allows to set the following options:

  • RF Noise: Added to the RF data before the Time Gain Compensation (TGC).

  • Scale Exp1 and Scale Exp2: Scaling factors for post-processing.

  • TGC Scale: Coefficient of the exponent for TGC.

  • TGC Alpha: Default attenuation coefficient for TGC.

  • Reject Threshold: Signals under this value are ignored.

  • Hilbert Length: The length of the Hilbert FIR filter used for envelope detection.

  • Envelope: Whether to perform envelope detection during the post-processing. If disabled, the resulting simulation will be RF data.

../../_images/hybridsim_tab_acprop.png

Acoustic properties tab

In the Acoustic Properties tab, the following parameters can be set for each tissue type, where the number left of the tissue name is the label value in the label volume. The Speed of Sound (c), and Impedance (z) affect the appearance and the refraction of the ultrasound waves at the tissue boundaries. The Attenuation (a) and the Scattering Coefficients (m0, m1, s0) affect the appearance of the ultrasound waves within the tissue.

  • Speed of Sound (c): The speed of sound in the tissue.

  • Impedance (z): The acoustic impedance of the tissue.

  • Attenuation (a): The attenuation of the ultrasound waves as they propagate through the tissue.

  • Scattering Intensity Coefficient (m0): Scaling of the scattered intensity within tissue. Higher values will increase the brightness of the tissue in the simulated image.

  • Scattering Density Coefficient (m1): Scatterer density coefficient. Higher values will result in the presence of more scatterers.

  • Tissue signal bias (s0): Bias that is added to the backscattererd signal, before weighting with the ray intensity. The default value of 0 is adequate for most tissues.

Note

The settings are only updated if the “Save Current Tissue” button is pressed.

Note

The “Reset All Tissues” button will reset the tissue parameters of all tissues to their default values.

../../_images/hybridsim_tab_slice.png

Advanced slice settings tab

The Advanced Slice Settings tab allows to flip the simulated at different stages. Activating these options is not recommended for normal use.

  • Flip Slice: Flips the simulated slice in lateral or axial direction before simulation. Should only be used to correct for errors in input sweep definition.

  • Flip Final Data: Flips the final simulated data in lateral or axial direction. Should only be used to correct for errors in input sweep definition.

User Defined Sweep Options

If no pre-existing sweep is used, the sweep motion is needs to be defined by the user with the help of an additional panel in the Controller, see User Defined Sweep for Simulation.