Probably the first thing you will want to do is adjust the configuration of Stradx. You can use the `Setup' menu to load and save complete setup files, or you can adjust some of the parameters interactively using the `Edit setup' panel, which is shown below.
Across the top of the `Edit setup' panel you will see a list of the video and position sensing devices that Stradx has detected. The possible video devices are:
Recording to memory vs. recording to disk
The control in the top left corner of the `Edit setup' panel determines whether you will store your image data directly on disk or put it in memory. Position information is always stored in memory. If this control is set to `Record to memory', the available memory buffer will be used for both the position information and the images. The size of this buffer will determine the number of frames that can be recorded. If you select `Record to disk', the image data will be stored directly on disk in the .sxi file: this is much slower than recording to memory, so the frame rate will suffer. When recording to disk, the capacity of the disk and the space available in memory for the position information will determine the maximum recording length. It is perfectly OK to record a data set using `Record to memory' on a machine with lots of memory, and then subsequently review it using the `Record to disk' setting on a machine with much less memory.
Configuring a position sensor
Towards the top of the `Edit setup' panel are five controls relating to the position sensor: the serial device, its baud rate, the type of position sensor, the desired tool port and whether or not you wish to record position information. If you do not record position information, you cannot immediately use any of Stradx's 3D visualisation and volume measurement facilities. You can, however, retrospectively estimate the B-scans' relative positions, and then perform qualitative 3D visualisation and analysis. So, if you do not have a position sensor you should set the `Positions required' switch to `not required': you will then be able to record B-scans and analyse them later.
Assuming you do have a position sensor, you should start by setting the correct baud rate and then select the appropriate serial device: leave the `Sensor' and `Polaris tool' selectors set to `auto'. If the serial device appears correct but it does not work, try changing it to /dev/null and then back to the correct device (either /dev/ttyd1 or /dev/ttyd2 for SGI systems, or /dev/ttyS0, /dev/ttyS1, /dev/usb/ttyUSB0 or /dev/usb/ttyUSB1 for Linux PCs). If you want to record position information from an unusual device, then select /tmp/slink and create a symbolic link from /tmp/slink to the device of your choice. If the position sensor responds, Stradx will display the type of position sensor it has found in the device list at the top of the `Edit setup' panel. If no position sensor responds, Stradx will (after a short delay) report this fact and possibly suggest why (eg. the permissions on the serial device might be preventing Stradx communicating with the position sensor).
With the `Sensor' selector set to `auto', Stradx sends some probing characters down the serial line and decides what position sensor it's talking to on the basis of what comes back. According to the documentation of the various position sensors, none of them should mind being sent characters designed to probe for the others. However, we have had reports of the Ascension LaserBird locking up when it receives the Polhemus Fastrak's probing characters (even though the LaserBird documentation states that these characters should be harmless). If you experience problems of this sort, try selecting the appropriate position sensor from the `Sensor' menu, instead of asking Stradx to do `auto' position sensor detection.
A Polaris system can be used with either active or passive tools plugged into any of the tool ports. If you are using an active tool with its own SROM (see the Polaris Application Programmer's Interface Guide), the port will be auto-detected. If you are using a passive tool, or an active tool without an SROM, you will need to supply the tool description data. This is a 752 byte file which should be supplied by the tool manufacturer. Rename this file as `polaris?.rom', where the `?' is replaced by `1', `2' or `3' for active tools plugged into each of the three ports, or `A', `B' or `C' for passive tools. If Stradx finds such a file in the same directory as the Stradx executable, this will override the use of any active tools with their own SROMs, even if such a tool is also plugged in.
It is possible to set the Polaris system up such that more than one tool port has a tool which can be tracked (i.e. either an active tool or a passive tool with an associated ROM file). By using the 'Polaris tool' selector, you can tell Stradx to track a specific tool, or alternatively to track a tool relative to another tool. For instance, to track the tool in port 1 relative to that in port 3, select '1 re 3'. If you leave 'Polaris tool' set to 'auto', Stradx will track the tool in the lowest numbered tool port, relative to the tool in the next lowest numbered tool port (if there is more than one tool plugged in). If there is a third tool connected, this will be ignored. For instance, if an active tool is connected to port 1, and a passive tool tracked from port 2, Stradx records the position of the active tool relative to the passive tool. The passive tool could then be attached to the patient for example, and the position coordinate system would then be relative to the patient, not the Polaris cameras. Subsequent repositioning of the Polaris cameras, or movement of the patient, would then have no effect on the reported positions for a given body location.
Selecting a video source, setting the image size and sampling rate
Most of the remaining controls are used to configure Stradx's video frame grabbing facilities. The image source is controlled by the `Video input' control, and the size, offset and sampling rate can be adjusted using the appropriate menus and sliders (you can also set the size and offset using the mouse in the `Preview' window). Normally, you would leave the `Video input' control set to `composite PAL' or `S-Video PAL' (or the NTSC equivalents if you are in North America), since this is where the ultrasound machine is likely to be connected. The `digital camera' setting (SGI systems only) may be useful for testing. Other possible video sources are `digital PAL' and `digital NTSC' (SGI systems only), which you could use if you have the digital video option on your SGI workstation and some way of extracting 4:2:2 digital video from your ultrasound machine.
Note that when you change the size or offset of the video input, the internal spatial calibration parameters are automatically updated to match the new settings. If you want to keep the new spatial calibration, make sure that you save the calibration (.sxc) file after you have cropped the image.
There are also two specialised 'video' sources: 'ethernet link' and 'Gage RF'. When `ethernet link' is selected, digital video and timing information (in a proprietary format) are streamed over 100MB ethernet from the host specified in the `Ethernet server' field. If you are interested in this option, and can persuade an ultrasound machine manufacturer to modify their machine to stream video over a TCP/IP ethernet link, please contact us for details of the format. When 'Gage RF' is selected, the raw RF ultrasound signals are sampled using a Gage digital input board: see below for details.
One of the possible sampling rates is `default'. In this case, Stradx records B-scans as fast as possible, without attempting to regulate the frame rate. This usually means 25 frames per second for a PAL ultrasound machine connected to an analogue video source. Another possible sampling rate is `gated'. In this case, B-scans are recorded not at a constant frame rate, but when the probe has moved by the amount set on the `Gating threshold' slider. To be precise, B-scans are acquired from the video source as quickly as possible, but discarded if the motion of all four corners of the B-scan is within the gating threshold. On the other hand, if one or more of the corners has moved by the gating threshold since the last recorded B-scan, then the frame is recorded. Motion gated acquisition can be used to acquire regularly sampled volumes, even when the freehand scanning motion is not smooth.
The `stable' sampling rate is similar to `gated', with the added restriction that the probe must not have moved beyond a certain distance since the last reported position for the B-scan to be recorded. With this option, therefore, B-scans are only recorded if the probe is moved slowly and has moved by the amount set on the `Gating threshold' slider. This is useful if you want to ensure that B-scans are only acquired in relatively stable movement conditions. For instance, `stable' sampling rate will increase the accuracy of the spatial calibration, by reducing the possible error between the recorded and actual position of the B-scan.
The `single' sampling rate allows you to record one B-scan at a time. In this mode, after one frame is recorded, Stradx goes into `pause' mode. Releasing the pause button records one more frame, then puts Stradx into pause mode again.
Recording Doppler ultrasound data
Select the `Record as Doppler?' button if you intend to record colour Doppler data. If you wish to record only greyscale data, do not select this feature. Stradx stores each image pixel as one byte. If you have selected `Record as Doppler?', then each B-scan is stored as 128 levels of grey, and 64 levels each of red and blue. If you have not selected `Record as Doppler?', then each B-scan is stored as 256 levels of grey.
The `Advanced Doppler controls' button pops up the panel shown above. When Stradx records colour Doppler data, it classifies pixels as greyscale or colour on-the-fly, and stores each pixel as an appropriately coded byte. For a pixel to be classified as coloured, its Cr and Cb (red and blue chroma) values must differ by a certain amount: this threshold is the first parameter which you can set on the pop-up panel. Since colour is not well defined for very dark pixels, the pixel's Y (luminance) value must also exceed a certain threshold for the pixel to be classified as coloured: this is the second parameter which you can set on the pop-up panel. In practice, you will need to set these parameters once for your particular ultrasound machine and frame grabbing card, and then save them in a setup file for later recall. The easiest way to set the parameters is to observe their effect on the live image in the `Preview' window: when this image most closely matches the live picture you see on the ultrasound machine's screen, you have set the parameters correctly.
Recording RF ultrasound data
If you have a digital acquisition board from Gage in the CompuScope range, and you can persuade an ultrasound machine manufacturer to give you access to the analogue RF signals, then you can use Stradx to acquire freehand 3D RF data. In order to do this, select 'Gage RF' from the 'Video input' selection box, and check the 'Record as RF data?' box. If the 'Gage RF' input is selected, but the 'Record as RF data?' box is not checked, then the RF input will be converted to B-scans on-the-fly, and these B-scans will be saved, not the raw RF data.
The Advanced RF Controls button can be used to determine how RF data is acquired and processed. Click here for more information on the required signals, and the format of some additional required files.
CPU & graphics performance
The final control in the `Edit setup' panel should be set to reflect the combined power of your computer's CPU and graphics subsystems. Stradx makes a sensible guess at this when it starts up. The slider influences how ambitious Stradx is when attempting real-time reslices and manifolds. For slower systems, the reslice and manifold images are updated only once, after the reslice plane has been defined in the `Preview', `Review' or `Outline' window. For faster systems, the reslice and manifold images are continually updated while the plane is being defined, though not at full resolution. For very fast systems, the reslice and manifold images are continually updated at full resolution while the plane is being defined. In a similar manner, the slider also determines whether Stradx updates all windows in real-time as the ECG gating phase slider is dragged.
Finally, the slider controls the number of polygons used to construct the body parts in the `Registration' and `Outline' windows. Opting for fewer polygons gives faster rendering but lower resolution. More polygons give better resolution but slower rendering. Once again, you should set this control according to the capabilities of your computer's CPU and graphics subsystems, though the default value set when Stradx starts up should be fine.