The 'Position source' configuration dialog provides controls for measuring positions live from a position sensor, or alternatively manually creating positions for ultrasound frames which have been recorded without a position sensor.

Measured Positions

The left hand section provides five controls relating to the position sensor: the serial device, its baud rate, the type of position sensor, the desired tool (for Polaris or Optitrack sensors only) and the tool to use for a pointer. If you do not record position information, you cannot use any of Stradwin's 3D visualisation facilities.

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 'Probe for' selector set to 'All' and the other controls to 'auto'. Now press the 'Reprobe for sensor' button. If the position sensor responds, the type of position sensor Stradwin has found will be displayed at the top of the 'position source' dialog. If no position sensor responds, Stradwin will (after a short delay) report this fact.

Under Linux, 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.

With the 'Probe for' selector set to 'All', Stradwin 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 'Probe for' menu, instead of asking Stradwin to probe for 'All'.

The dialog also contains a button for requesting the sensor status. This will generate (after a short delay) information regarding which sensors are being tracked and the parameters of the tracking system. For the Optitrack system and for Polaris systems which support it (the Vicra and Spectra), it will also display a window showing the infra-red response from the tools and the surroundings.

Polaris setup

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 Stradwin finds such a file in the same directory as the Stradwin executable, this will override the use of any active tools with their own SROMs, even if such a tool is also plugged in.

Think of the Polaris as having a sequence of abstract devices called 'ports'. For a hybrid Polaris, that supports active tools, these 'ports' correspond to the sockets into which you plug the active tools. Port 1 is the first socket, port 2 is the second socket and so on. When the Polaris starts up under Stradwin, it works down a priority list associating tools with 'ports' in numerical order, starting at 'port' one. First it looks for active tools with explicit ROM files, then passive tools with explicit ROM files, lastly it looks for active tools that have their tool description data in an (SROM) chip on the tool itself. Within the first two of these groups the tools are ordered by the numbering or lettering of the ROM file. For the third group the ordering follows the ordering of the sockets into which the tools are plugged. This means that if you have a passive tool and an active tool without a ROM file, the passive tool will take 'port' 1 and you will have to plug the active tool into the second physical port on the tool interface unit to get it to work.

It is thus possible to have one port associated with tracking the ultrasound probe and another for tracking a pointer. If you have two tools available to your Polaris, Stradwin will, by default associate the tool on 'port' 1 with the ultrasound probe and the tool on 'port' 2 with the pointer. You can override this default behaviour using the bottom two controls on the dialog.

Note that if a pointer is associated with Port 3 (or C), then it will be assumed to be a Cambridge Pointer. This is a special device used in probe calibration. The calibrated point in this case is offset from the pointer tip.

Optitrack setup

The Optitrack sensor is a little different in that its presence is detected if Stradwin finds the Motive API NPTrackingTools library, rather than detecting it via the serial port. This library needs to be placed in the same directory as the Stradwin executable. Hence the serial port controls are ignored in this case. If the library is found, Stradwin looks for Motive API information in files 'stradwin.ttp', 'stradwin.cal' or 'stradwin.motive' in the same directory as the Stradwin executable (C:\Program Files\Stradwin or C:\Program Files (x86)\Stradwin). If there is more than one defined rigid body, the 'US Probe tool' and 'Pointer tool' controls can be used to select which is used to track the US probe, and which can be used as an independent pointer for locating 3D fiducial points.

The 32-bit (x86) and 64-bit (x64) versions of Stradwin require different versions of the Motive API, different sets of 'stradwin.*' files and different libraries to be copied to the Stradwin executable directory. These libraries can be found either in the 'Motive' directory of an Optitrack Motive installation (C:\Program Files\OptiTrack or C:\Program Files (x86)\OptiTrack), or in the 'lib' or 'lib32' sub-directory.

For the Stradwin 32-bit version, you need to install Motive 1.7.1 (32-bit), and copy:

For the Stradwin 64-bit version compiled for Motive 1.7.1, you need to install Motive 1.7.1 (64-bit), and copy:

For the Stradwin 64-bit version compiled for Motive 2.3.6, you need to install Motive 2.3.6, and copy:

All these files should be copied to the Stradwin executable directory: for the Motive 2.3.6 version it may be simplest just to copy all the DLL files from the Motive directory to this directory. If the cameras you are using have an internal calibration, then the camera calibration file can be omitted.

The 'Report Sensor Status' button will show which trackable rigid bodies are contained within this project, and also the current levels of infra-red light for each of the cameras. These are more informative once you have started measuring positions (i.e. gone into live mode at least once, whilst using positions).

Manual Positions

The right hand section provides controls for manually estimating frame positions for data sets which have been recorded without a position sensor, or for image sequences which have been loaded with no corresponding positions. It is possible to create data sets where the probe has been translated along any of the three principal axes, and/or rotated about any of the three principal axes. As these controls change, the 3D visualisation windows update automatically, so you can see the effect that these positions and orientations have on the data.

Note that it is only possible to enter manual positions for a data set which does not already have measured positions.