Installing Stradx on SGI workstations

Downloading Stradx

You can download binary executables of Stradx, StackSX and SelectSX now. These binaries allow you to review 3D ultrasound data on SGI workstations running Irix 6.2 and above. If you wish to acquire ultrasound data as well, you will need a conventional 2D ultrasound machine and one of the following workstations:

If you wish to make quantitative measurements from the 3D ultrasound data, you will also need a supported position sensor.

Download Stradx, StackSX and SelectSX now.

Note that the binary will time-out every 6 months or so. When this happens, simply return to this website to download the latest release of Stradx. If you are interested in buying a license to use the source code of Stradx, please email Richard Prager.

Configuring your workstation for Stradx

First of all, make sure you have enough memory in your machine. 64 MBytes is an absolute minimum memory requirement; we use 256 MBytes. Furthermore, the operating system should have up-to-date video and graphics patches applied. If you wish to use Stradx's body registration facilities, make sure the file wireframe.data is installed in the same directory as the Stradx executable: you will also need to specify the full path of the Stradx executable when you run Stradx (ie. do not rely on symbolic links or your shell's search path), otherwise Stradx will not be able to find the wireframe.data file.

Stradx is compiled using the N32 Application Binary Interface. If you are still using Irix 6.2, you need to make sure that you have installed the necessary N32 execution environment packages from the operating system CDROM, including ftn77_eoe.sw32. The runtime linker needs objects from this package to successfully run Stradx. In addition, you will need to execute Stradx with the following command: "_RLDN32_LIST=DEFAULT:/usr/lib32/libftn.so stradx".

Stradx needs to reserve a large amount of memory for use as a recording buffer: it expects to be able to lock-up about three quarters of the total machine memory. For this to be possible, you may need to tune the operating system's kernel to raise the `maxlkmem' limit: this kernel parameter dictates how much memory a user process is allowed to lock. This is something your System Administrator needs to do: click here for further instructions.

You may wish to set up a .stradxrc file in your home directory.

Setting up your workstation for data acquisition

In order to record freehand 3D ultrasound data, you first need to connect the ultrasound machine to one of the video inputs on the workstation's video acquisition card. You may also need a position sensor to record the position of the ultrasound probe during the scan. You can use Stradx without a position sensor, but the data will not be accurate enough for quantitative measurements. Stradx supports the MiniBird, LaserBird and Flock of Birds position sensors produced by Ascension Technology Corporation, the Fastrak produced by Polhemus and the Polaris produced by Northern Digital. You should connect one of these sensors to one of the serial ports of the workstation. Switch off the getty running on this serial port by commenting out the appropriate line in /etc/inittab. Make sure that all users have permission to read and write to the appropriate serial device (/dev/ttyd1 or /dev/ttyd2). Remember which serial port you have chosen, as you will need this information to configure Stradx.

The Polaris optical sensor is the most accurate but also the most expensive. Both magnetic sensors appear to give similar accuracy but the Bird seems less affected by non-ferrous metals in the vicinity. Many users of the Bird mount the receiver directly on the body of the ultrasound probe. Users of the Fastrak generally use a rigid plastic mount to offset the receiver by about 4 inches from the probe.

Command line arguments

The SGI version of Stradx takes the usual X-toolkit command line arguments plus two extra ones.

-l<number>
indicates the number of megabytes of memory that Stradx should leave free in addition to that being used by the system and all the other processes at the time when it starts up. If this number is too small, then there will not be enough room for Stradx (and other processes) to allocate memory as they run. If this number is too big, then you will not have enough memory available to do useful recordings. The default value is 20 MBytes. This flag is also useful if you are running Stradx on a machine with a lot of memory and you don't want to have to wait for Stradx to grab all of it. In this case you subtract the memory you want Stradx to use and the memory used by all the other processes and the kernel from the RAM available, and tell Stradx to leave the residue free. Use gmemusage to discover the memory used in your machine.

-b
tells Stradx to create big clear, pause and record buttons for use with a touch screen. If you use a touch screen that uses a serial port, make sure that Stradx is not trying to use the same port to receive position information.