PlusLib  2.9.0
Software library for tracked ultrasound image acquisition, calibration, and processing.
Temporal calibration application (TemporalCalibration)

TemporalCalibration is for computing time offset between channels. It can be useful for advanced testing and tuning of the temporal calibration parameters.

How to use:

  1. Record a tracked US sequence of an object that will produce a line in each US frame
    1. During the recording the probe should undergo translational periodic motion and minimal rotational motion (e.g. moving the probe vertically up-and-down while imaging the bottom of a water bath)
    2. It is recommended to acquire raw (not paired, synchronized) imaging and tracking data (add a separate recording device for each input channel)
  2. Run TemporalCalibration executable. For example, assume a tracker raw buffer called named "trackerRawBuffer.mha," and a video raw buffer named "videoRawBuffer.mha." To calculate the time by which the tracker data stream lags the video data stream (i.e. the time offset), the following call could be made:

Examples

TemporalCalibration --fixed-seq-file=RawVideoBuffer.mha --moving-seq-file=RawTrackerBuffer.mha --moving-probe-to-reference-transform=ProbeToReference --sampling-resolution-sec=0.001 --plot-results --save-intermediate-images --verbose=4

In the above call, a 0.001 second (default) sampling resolution is used; the final pre- and post-aligned video and tracker metric signals are plotted; and, intermediate images–namely scanlines and detected lines–are stored.

Command-line parameters reference

  --baseline-file=opt  Input xml baseline file name with
                                             path

  --clip-rect-origin opt opt ...  Origin of the clipping rectangle

  --clip-rect-size opt opt ...  Size of the clipping rectangle

  --fixed-probe-to-reference-transform=opt  If specified then it indicates
                                             that the fixed sequence contains
                                             tracking data and it specifies the
                                             transform name that describes the
                                             probe pose relative to a static
                                             reference (for example,
                                             ProbeToReference). If not
                                             specified then video data is used
                                             from the fixed sequence.

  --fixed-seq-file=opt  Input US image sequence metafile
                                             name with path

  --help  Print this help.

  --intermediate-file-output-dir=opt  Directory into which the
                                             intermediate files are written

  --max-time-offset-sec=opt  Maximum time offset between the
                                             signals, in seconds (default: 2
                                             seconds)

  --moving-probe-to-reference-transform=opt  If specified then it indicates
                                             that the moving sequence contains
                                             tracking data and it specifies the
                                             transform name that describes the
                                             probe pose relative to a static
                                             reference (for example,
                                             ProbeToReference). If not
                                             specified then video data is used
                                             from the moving sequence.

  --moving-seq-file=opt  Input tracker sequence metafile
                                             name with path

  --plot-results  Plot results (display position vs.
                                             time plots without and with
                                             temporal calibration)

  --sampling-resolution-sec=opt  Sampling resolution (in seconds,
                                             default is 0.001)

  --save-intermediate-images  Save images of intermediate steps
                                             (scanlines used, and detected
                                             lines)

  --verbose=opt  Verbose level (1=error only,
                                             2=warning, 3=info, 4=debug,
                                             5=trace)