defaultalt Field II home page
Point spread function Field II Simulation Program
    Main page
Center for Fast
Ultrasound Imaging
Ultrasound and
Biomechanics Section


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 cyst phantom

The imaging 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 that have a scattering strength with a Gaussian distribution, where 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.

The code here writes a dummy file before it simulates the line, so that other computers can see that this line is being made. This makes it possible to run the script on multiple computers at the same time, and they will automatically synchronize the simulations. This is the approach used for the simulations shown here. Simulating on lines takes roughly 5 minutes on a 2.8 GHz CPU. A cluster with 32 PCs can, thus, generate the image in around 10 minutes instead of more than 4 hours for one PC. It is also possible to restart the simulation if something goes wrong without having to perform the whole simulation again. This is done be deleting the corrupt file and then start again.

The cyst phantom consists of a collection of point targets, five cyst regions, and five highly scattering regions. This can be used for characterizing the contrast-lesion detection capabilities of an imaging system. The scatterers in the phantom are generated by finding their random position within a 60 x 40 x 15 mm cube, and then ascribe a Gaussian distributed amplitude to each scatterer. If the scatterer resides within a cyst region, the amplitude is set to zero. Within the highly scattering region the amplitude is multiplied by 10. The point targets have a fixed amplitude of 100, compared to the standard deviation of the Gaussian distributions of 1.

A linear scan of the phantom was done with a 192 element transducer, using 64 active elements with a Hanning apodization in transmit and receive. The element height was 5 mm, the width was a wavelength and the kerf 0.05 mm. The pulses where the same as used for the point phantom mentioned above. A single transmit focus was placed at 60 mm, and receive focusing was done at 20 mm intervals from 30 mm from the transducer surface. The resulting image for 100,000 scatterers is shown below. A homogeneous speckle pattern is seen along with all the features of the phantom.

The resulting image is:

Cyst phantom.

The m-files are 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 mk_pht.m is then called to make the file for the scatterers in the phantom. The script sim_img.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 files are stored in the sub-directory rf_data. The data is then subsequently be processed by make_image.m to yield the image. The data for the scatterers are read from the file pht_data.mat, so that the procedure can be started again or run for a number of workstations.

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