defaultalt Field II home page
Point spread function Field II Simulation Program
    Main page
Center for Fast
Ultrasound Imaging
Biomedical Engineering


Menu Line
Menu Line
Users guide
Menu Line
Menu Line
Menu Line
Menu Line
   Cyst phantom
   Kidney phantom
   Fetus phantom
   PW example
   Flow example
   CFM example
   Tissue motion
Menu Line
Menu Line
Menu Line

Field IIpro

Menu Line


Menu Line

Calculation of B-mode image of synthetic kidney

The simulation of artificial phantoms are done by simulating and summing the field from a collection of point scatterers. A single RF line in an image can be calculated by summing the response from a collection of scatterers, in which the scattering strength is determined by the density and speed of sound perturbations in the tissue. Homogeneous tissue is, thus, made from a collection of randomly placed scatterers with a scattering strength with a Gaussian distribution. The variance of the distribution is determined by the backscattering cross-section of the particular tissue.

The phantoms typically consist of 100,000 or more scatterers, and simulating 50 to 128 RF lines can take several days depending on the computer used. It is therefore beneficial to split the simulation into concurrently run sessions. This can easily be done by first generating the scatterer's position and amplitude and then storing them in a file. This file can then the be used by a number of workstations to find the RF signal for different imaging directions, which are then stored in separate files; one for each RF line. These files are then used to assemble an image. This is the approach used for the simulations shown here. For the 1 million scatterers it roughly takes 1 hour and 10 minutes for a 3 GHz CPU to generate one RF line, thus, simulating roughly 270 point scatterers per second. The image consists of 128 lines and splitting the simulation over 10 CPUs makes it possible to generate the image in a little over 12 hours. The 100 CPU Linux cluster at CFU can make the image in roughly 1 hour and 10 minutes.

The anatomic phantoms are attempts to generate images as they will be seen from real human subjects. This is done by drawing a bitmap image of scattering strength of the region of interest. This map then determines the factor multiplied onto the scattering amplitude generated from the Gaussian distribution, and models the difference in the density and speed of sound perturbations in the tissue. Simulated boundaries were introduced by making lines in the scatterer map along which the strong scatterers were placed. This is marked by completely white lines shown in the scatterer maps. The model is currently two-dimensional, but can readily be expanded to three dimensions. Currently, the elevation direction is merely made by making a 15 mm thickness for the scatter positions, which are randomly distributed in the interval. The scatterer map used in this example was based on the optical photos from the Visible Human Project. They were created from scanning a human cadaver with CT and MRI scanners and then subsequently slicing the cadaver into 1 mm sections for taking photographs.

A phantom for a left kidney in a longitudinal scan has been made. 1.000,000 scatterers were randomly distributed within the phantom, and with a Gaussian distributed scatter amplitude with a standard deviation determined by the scatter map. The phantom was scanned with a 7 MHz 128 element phased array transducer with lambda/2 spacing and Hanning apodization. A single transmit focus 60 mm from the transducer was used, and focusing during reception is at 5 to 150 mm in 1 mm increments. The images consists of 128 lines with 0.7 degrees between lines.

Below is shown the artificial kidney scan.

Artificial kidney.

The m-files can be found at:


The routine field.m initializes the field system, and should be modified to point to the directory holding the Field II code and m-files. The routine make_scatteres.m is then called to make the file for the scatterers in the phantom. The file kidney_cut.bmp holds the scatterer map of the kidney. The script sim_kidney.m is then called. Here the field simulation is performed and the data is stored in RF-files; one for each RF-line done. The data for the scatteres are read from the file pht_data.mat, so that the procedure can be started again or run for a number of workstations. The data must then subsequently be processed to do the polar to rectangular mapping to yield the image. The is done by the routine make_polar, that creates an image with a dynamic range of 50 dB.

Last updated: 19:45 on Mon, 30-Apr-2012