Spatial Calibration
Stradx offers two methods for spatial calibration. For the
quickest and most accurate calibration, you'll need to manufacture or
purchase a mechanical alignment instrument, as described in this
technical report. The Stradx features which support this technique
are described here.
Most users, however, will use Stradx's alternative spatial calibration
technique, for which you need only a flat-bottomed waterbath (or a
Cambridge phantom for more accuracy). This technique is still very
accurate and takes only a few minutes to perform. Details of how it works
can be found in this
technical report.
To perform spatial calibration this way, you need
to do the following things:
- Fill a flat-bottomed water bath with water.
- Mount your position sensor rigidly on the ultrasound probe. An
optical or
Bird sensor may be mounted directly on the body of the probe, but a
Fastrak or Patriot should be fixed about 10cm away using some sort of rigid
plastic strut.
- If you have a Cambridge phantom available, mount the probe in the
phantom, ensuring that the brass strip in the phantom is at all times
in the centre of the ultrasound beam. If you don't have a Cambridge
phantom, ensure that the bottom of the water bath is flat and roughen
it uniformly using small circular motions with very fine emery cloth
or sand paper. This will improve the reflection of ultrasound at
oblique angles.
- Use the `Edit setup' controls or
the `Preview' window to select the
area of the ultrasound scanner screen that you want to record. When
you are happy with the image cropping you should save it using the `Save setup' menu item.
- Configure the controls of the ultrasound machine so that the line
feature appears clearly in the preview window.
- Using the `Edit setup' menu, choose
a slow acquisition rate. 5 frames a second, motion-gated or
stable-gated acquisition are the best options.
- Record a sequence of images as detailed below. You will probably
need to record between 400 and 800 frames to complete the sequence.
All probe movements should be as slow and steady as possible.
- Open the automatic calibration window and, if necessary, use the
`Define scan area' button to outline the region of the image occupied
by the scan (the cyan polygon in the example below). The left mouse
button is used to specify each point round the edge of the region, and
the right button is used to indicate the final point.
- Scroll through the B-scans and check that the line detector (the
green line in the example below) latches on to the real image of the
brass beam (or the bottom of the water bath if you are not using a
Cambridge phantom). If the line image is weak, it is possible that the
detector will not latch on to the line, but in this case check that
the line is rejected and not accepted for subsequent processing. The
automatic accept/reject decision is displayed near the bottom of the
window. As you scan through the frames, the positions of accepted
green lines are recorded, and a count of how many frames have been
processed is maintained at the bottom of the window.
- If the window incorrectly accepts a green line which has in fact
been badly fitted, press the space bar to force it to reject the
line. Conversely, if the window incorrectly rejects a green line which
has in fact been properly fitted, press the space bar to force it to
accept the line. Pressing the space bar a second time forces the
window to re-detect the line automatically, overriding the manual
accept/reject decision. If you find yourself making many manual
corrections, try adjusting the sliders in the calibration controls window to improve
the line detection. When you've finished adjusting these sliders, go
back to the first B-scan and press `Reset' to clear the window's
memory of previously detected lines. Then start scrolling through the
B-scans again.
- Press the `Solve' button to run the calibration solution
algorithm. This algorithm uses the recorded positions of those green
lines which were accepted as you scrolled through the B-scans. If
there are any B-scans which you did not visit, the solution algorithm
runs the automatic line detector on these frames and uses any lines
which are subsequently accepted. If you don't trust the automatic
detector's accept/reject decisions, make sure you scroll through all
the B-scans by hand before pressing the `Solve' button.
- Use the `Verify' toggle button to check the calibration. When in
`Verify' mode, the calibration window shows the intersection of the
calibrated plane with the current B-scan (instead of the results of
the line detection algorithm). If the calibration has gone well, you
should observe the plane passing through the image of the brass beam
(or the bottom of the water bath if you are not using a Cambridge
phantom) in all B-scans.
- Save your results in a calibration file.
Sequence of Probe Movements for Automatic Calibration
There are some movements of the probe which it is vital to perform in
order to sufficiently constrain the calibration process. A suggested
procedure for calibration is shown in the diagram below.
Motions (A), (B) and (C) must be performed in order to
constrain the six positional parameters of the B-scan relative to the
position sensor transmitter (three angles and three
translations) and the two scale parameters (in the plane of the
B-scan).
However, the location of the plane being imaged by the probe is also
unknown and must be estimated by the spatial calibration
process. Repeating motions (A), (B) and (C) in three different
locations will provide sufficient constraints for the location of this
plane to be determined.
An additional rotation about the vertical axis between each of these
three measurement locations (as shown in the diagram above) is not
strictly necessary, but will ensure that the calibration process will
not be degraded by a poor choice of orientation of the position sensor
transmitter with respect to the receiver.
You may need to adapt this sequence to satisfy constraints imposed by
your position sensor or water bath, but you must ensure that you
incorporate all the motions in several different positions on the
calibration plane.
The full set of unknowns that the system solves for are as
follows:
- Z translation parameter of transformation from datum of position sensor
to phantom plane. This value is discarded.
- Elevation parameter of transformation from datum of position sensor to phantom
plane. This value is discarded.
- Roll parameter of transformation from datum of position sensor to phantom
plane. This value is discarded.
- Azimuth parameter of transformation from the ultrasound scan plane to the
sensing element of the position sensor.
- Elevation parameter of transformation from the ultrasound scan plane to
the sensing element of the position sensor.
- Roll parameter of transformation from the ultrasound scan plane to the sensing
element of the position sensor.
- X translation parameter of transformation from the ultrasound scan plane
to the sensing element of the position sensor.
- Y translation parameter of transformation from the ultrasound scan plane
to the sensing element of the position sensor.
- Z translation parameter of transformation from the ultrasound scan plane
to the sensing element of the position sensor.
- Scaling parameter of the ultrasound scan plane in the X direction.
- Scaling parameter of the ultrasound scan plane in the Y direction.