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

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.

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.

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.

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.

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.

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.