The Amplio SDK can be used to generate greyscale B-mode data from raw RF data, scan convert greyscale data, and apply speckle reduction post processing algorithms. In the past, 3 separate SDK's were used for this purpose (Amplio, Pando, and Mucro). Starting ver 6.x all these SDKs are combined into one and are name Amplio.
Download all Amplio SDK documentation as a PDF
Amplio SDK consists of the following three functions:
- RF to B conversion
- Speckle Reduction
- Scan Conversion
RF to B
This function allows the user to create pre-scan conversion 8 bit B-image from the 16bit RF-image. This is done by applying the following signal processing steps:
- IQ demodulation: this step mixes the RF signal with sine and cosine table for IQ demodulation. The start and end frequency for this tables need to be entered during the initialization step.
- Low pass filtering: this steps applies an FIR filter in order to remove the high frequency signal which appears after mixing.
- Envelope detection: this step calculates the envelope signal from the low pass filtered IQ signals.
- Log compression: following envelope detection, the 16bit data go through a compression table to create the final 8bit B image.
- Decimation: this steps is applied to reduce the sampling frequency of the B.
Note: The frequency compounding method which was used in Amplio ver 5.x is no longer used in the ver 6.x. Instead, IQ demodulation with adjustable demodulation frequency is used to allow smooth transition from one frequency to another.
Amplio's speckle reduction processing is ideal for custom programs built with Texo or other programs that generate raw data, where generated or captured B images need to be enhanced. The methods can also be used to take output of MATLAB processed images and enhance them using a fast and tested method.
The internal functions use the same engine run in the Sonix software, built on fast assembly and intrinsic functions. On the Exam software, Speckle Reduction is denoted as the Clarity setting on the main screen. Below is an example of an unprocessed and scan-converted B mode image, and the effect of the filter.
Amplio employs two different methods of speckle reduction listed below.
The default filter is based on the 3rd party technology, GOPView, from ContextVision. GOPView requires special activation of a license for the system that Amplio speckle reduction functions are being run on.
- GOPView requires a dongle that plugs into the parallel port. If the Sonix system did not come with a dongle, Mucro 2.x should be used instead.
- Obtain the serial number from the physical dongle, and provide it to Ultrasonix support; a string character key will be sent.
- At the Ultrasonix Support website, download the ContextVision dongle driver and run the executable. This will ensure the dongle can be recognized by Windows.
- From the same website download the Clarity Registration package, and follow the steps below:
- Ensure you have the dongle plugged into the parallel port
- Extract the cvliccon.exe program contained in this package and ensure that the .def and .dll files are in the same directory as the executable.
- From a command prompt, go to the directory you placed the files and run: cvliccon <dongle-key>, where the dongle-key is the string provided by the Ultrasonix support team.
Ultrasonix also has a home-brew speckle reduction algorithm named Adaptive Speckle Reduction (ASR). Starting Exam 6.1. ASR is used as the main speckle reduction algorithm for B-mode image.
Amplio's scan conversion (or interpolation) methods help to convert linear B scan data into geometrically correct images. The methods are the same used in the Sonix software, built on fast assembly and intrinsic functions.
Pando is ideal for custom programs built with Texo or other programs that generate raw data, where generated or captured greyscale linear B scan data needs to be interpolated. The functions can also be used to take output of MATLAB processed images and scan convert them using a fast and tested method.
Scan conversion is the process of taking linear data and interpolating into a different coordinate system. For the case of ultrasound, scanline greyscale data conversion to pixel based greyscale data.
Amplio Demo Program
SDK 6.X comes with executable amplio demo file located at \sdk\bin\amplio_demo_qt.exe
Alternately, Qt Creator can be used to compile the GUI demo using the steps provided at the Qt Creator page.
The demo can be used to process and RF data and generate all the B data both before and after scan conversion. In order to apply it on a set of RF data:
- press the power bottom to top ans locate your .rf data
- press the play bottom to run amplio
- to change any of the parameter just manually enter them and press Apply Param and press the Play bottom again.
This demo software will generate all the output files and save them into separate file with a proper header in the same folder
- .bpr (pre scan conversion B data)
- .bpr (pre scan conversion B data after speckle reduction)
- .b8 (scan converted image)
The demo software processes/saves all the frames in the file. The user can scroll through the frames by moving the cursor on the bottom of the demo software.
The current interface of amplio is shown in the figures below:
- Top left shows the original RF data.
- Top right shows the B image.
- Bottom left shows the B image after speckle reduction.
- Bottom right shows the B image after speckle reduction and scan conversion.
The following figures also show the correct parameters for proper signal processing and scan conversion for Linear, Convex, and Phased array transducers.
Amplio in Real-Time
Amplio console can also be used for real-time RF signal processing in order to generate proper B-mode image. An example of amplio SDK for real-time B-mode generation is provided in the Texo_DAQ_QT Demo. This Demos software uses Amplio to generate B mode images coming both from Texo and the DAQ data for side-by-side comparison.