Ulterius

Overview
Ulterius is a tool that allows users to control the system without having to physically be using the console, or even be in the same room. It allows full control of all the imaging parameters, the ability to perform system functions such as switch probes, freeze/unfreeze and change imaging modes, as well as capture any data that the research software offers. What makes Ulterius unique is it's ability to perform all of these operations over a network connection. Applications using Ulterius can run directly on the ultrasound system but can also operate on a PC connected to the same network.

Ulterius applications could include:
 * Task automation either on the machine or through a network, so physical console operation is necessary
 * Real-time data collection for processing and display
 * Device synchronization through software interrupts
 * Distribution of data processing to multiple PCs

The demonstration programs that come with Ulterius take advantage of all of the major functionality including:
 * Connecting and disconnecting to the ultrasound system
 * Transducer selection
 * Imaging mode selection
 * Preset selection
 * Freeze / unfreeze ability
 * Parameter retrieval
 * Parameter set / increment / decrement
 * Data acquisition
 * Image injection

Imaging Parameters
All imaging parameters on the research interface are available through Ulterius. The functions for parameter control include:
 * Retrieval of the imaging parameter list, as well as parameter properties and values
 * Parameter value setting (useful for going beyond preset boundaries the interface implements)
 * Incrementing or decrementing a parameter by a fixed amount

Data Acquisition
Ulterius provides an interface for data acquisition, with some specific features that include:
 * Retrieval raw data or processed images in real-time
 * Data descriptor retrieval for getting information on the data (width, height, sample size, etc)
 * Finding out how many frames are in the cine buffer once frozen, as well as acquiring individual or all frames from the buffer
 * Optional Huffman data compression for speedier network transfers (note that not all data will compress well)
 * Shared memory interface to ensure frames are never (or rarely) dropped while running the program on the ultrasound system directly

More information on this topic can be found here.

Image Injection
Image injection into the main research software is useful when processing raw data, then having a simple interface to display it to users, without having to always write custom display GUI programs. When injection mode is on, the ultrasound B-mode image display is stopped on the research software, and the display buffer is fully controllable from Ulterius. Pre scan-converted data can be captured and injected as well, forcing the research software to perform scan conversion on grayscale data.

The data injection feature can also be useful when imaging in the Dual B mode to compare ultrasound images that have been processed differently.

More information on this topic can be found here.

History and Versions
Ulterius started out in 2001 as a project for the University of British Columbia to use Ultrasonix' first ultrasound engine as a research device, back then it was called the RP-SDK.


 * Version 0.x could be considered as the RP-SDK toolkit which first took advantage of shared memory transfers and an interface for remotely interacting with the ultrasound software.
 * Version 1.0 created a brand new interface to work with the Sonix RP software, and it was named Ulterius. This version offered true network functionality with acquisition of multiple data types in real-time.
 * Version 2.0 implements the same interface, however the parameters structuring on the SonixTOUCH (version 5.5.x software), was changed, so Ulterius was updated to reflect this. The older 3.x series for the Sonix RP was also updated to reflect the changes.

PDF Download
Download all Ulterius SDK documentation as a PDF

Main Topics

 * Ulterius Data Acquisition
 * Ulterius Injection