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:
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.