Release Notes

From WikiSonix
Revision as of 13:18, 31 August 2016 by Kris (talk | contribs) (SDK 6.2)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

SDK 6.2

(ETR Sept 2016)

  • Texo Features
    • Full support for Sonix Embrace has now been added to Texo, this includes the ability to set custom mux tables for the Sonix Embrace probe.
    • Added toggle for high frequency firmware in texo_daq_qt demo.
  • Propello Features
    • New Matlab file readers
    • Minor bug Fixes
  • Amplio Features
    • Minor bug Fixes
  • Remote Cine
    • Enhancement to the UI

SDK 6.1.2

  • General
    • Minor bugfixes

SDK 6.1.1

Sample Matlab Display
  • General
    • Bug fix: In 6.1.0 Demo SDKs only work with the first probe connector. This problem is now fixed. See specific comments below.
  • Texo Features
    • The texoInit() function is modified to get the Hardware Cine Size as a parameter. The default value is still 32MB, but the user can change that if larger sequences need to be programmed. It's value can be between 16MB and 512 MB.
    • A known issue is now fixed, where a transducer which was connected to connectors other than the one with an ID of 0, could not acquire images in real-time.
  • Porta Features
    • The portaGetFrameRate() function's return type is changed to double. The frame rate was previously converted to an integer, but now it will be returned with double precision accuracy.
    • A known issue is now fixed, where a transducer which was connected to connectors other than the one with an ID of 0, could not acquire images in real-time.
  • Matlab Toolboxes
    • Added a folder inside Matlab directory in the SDK \MATLAB\ImagingModes that contains sample data sets with all the Matlab files for reading, processing, and visualizing the same data set. For more information see Matlab Imaging Modes.

SDK 6.1.0

Also known as Quantom Release

The kernel mode drivers used for communication with the hardware are updated from windriver 6.2 to 11.20. The upgrading of the exam software will result in the removal of the old drivers and installation of the new drivers. If you want to downgrade from 6.1.0 to prior versions, make sure to run an extra patch to downgrade the windriver as well, as this is not part of the previously released update packages.

  • General
    • All the demo software are now using the new QT style sheet.
    • It is possible to save the time stamps together with the raw data from the research interface of the Exam software. The time stamps go into the lowest level, that is RF-line time stamps.
    • A long standing issue with manual control of the 3D probe's stepper motor has been resolved.
  • Exam
    • The DAQ is now integrated into the Exam software, and can acquire channel data and store it concurrently with the clinical software.
    • The .mpr files saved through the research interface where not working properly. The bug has been fixed, and also a new data type added .mrf to distinguish between the 16-bit rf data in the M-mode and the 8-bit envelope detected log-compressed data.
    • Scan-cönverted 3D volumes can now be saved from the Sonix 3D engine.
      • This is part of research features that allows researchers to gain access to data before (pre-scancönversion) and after 3D reconstruction.
      • It shares the same "Save Volume" button on the Sonix Touch interface, and would save the reconstructed raw data to the same location as the current pre-scanconversion data.
      • The current pre-scanconversion data is called "volume.3dd", and the new reconstructed volume is called "volume.3dv".
    • A remote_cine program has been added to sdk package, based on the Ulterius sdk that can record raw data for extended periods of time. It directly writes the data to the hard drive.
  • DAQ
    • The driver now supports both 32 and 64 bit Windows systems. Please make sure to install the appropriate drivers depending on the version of your DAQ and OS.
    • It is possible to run multiple DAQs at the same time (up to 4 DAQs supported)
    • Demo software are both updated. Please check the DAQ page to see the new interface and newly added features.
    • A major threading bug was fixed which involved resource and memory leaks.
    • The programming of the DAQ sequence is now separated from restarting it. This removes an unnecessary delay caused by reprogramming the DAQ.
    • The public interface has been changed. Use both daqProgramSequence() and daqRun() instead of the old daqRun().
    • The daqRun() function cannot be called from within the callback anymore. It will not restart the DAQ if called from with the callback. See texo_daq_qt for an example of the proper way to do it.
    • the daqIsInitialized() would return false if called when the daq was running. Now it returns true.
    • A function daqDataIndexToChannelIndex() is added to give the mapping between the raw data read from the DAQ, and the actual transducer elements.
    • The DAQ driver had a conflict with the GPS driver. Customers having both devices could not use them at the same time. This issue is resolved for newer DAQs (DAQ 1.1) in this release.
    • The analog front end's low pass filter's cut-off frequency can now be adjusted through the API (This is the antialiasing filter).
    • The analog front end's high pass filter's cut-off frequency can now be adjusted through the API.
  • Amplio
    • There was a bug in calculation of the scan conversion table which was causing the software to go beyond the input buffer size. The bug is now fixed in both console and demo software.
  • Texo
    • Demo software is now updated. Please check the Texo page to see the new interface and newly added features.
    • Time delay calculations for beamforming is revised to fixed the jagged line issue when line density is set higher than 128.
    • rx.rxAprCrv is no longer used, instead F-number for receive beamformer can now be programmed through rx.fnumber parameter. The user can still use the rx.weightType for setting the apodization for receive beamforming.
    • A bug was fixed with rx.customLineDuration. In the previous version, saveDelay was summed with the customLineDuration to form the actual line duration. This is not desirable if the user wants to get a pre-defined frame rate with a nonzero saveDelay.
    • A long standing issue with manual control of the 3D probe's stepper motor has been resolved.
    • rx.rxBeamFormingDelay has been added to the API. This parameter can be used to define the start of the receive beam forming with respect to the start/sync signal.
  • MATLAB
    • The folder structure of SonixDataTools has been updated. If you are using any of the code, make sure you use the new folder paths in your code.
    • The beam forming code which was packaged with SonixDataTools was not functioning properly. The code has been updated to do the beam forming more efficiently.
  • Python
    • The functionalities of the SonixDataTools in pySonix has been expanded to more closely match the Matlab implementation.
    • A beam-forming function has been added to the imageprocessors module of pySonix which can be used to beam-form channel data from curved probes as well as linear probes.
  • Porta
    • A long standing issue with manual control of the 3D probe's stepper motor has been resolved.
  • COM
    • The COM servers had a memory leak issue which is fixed in this release.

SDK 6.0.7

(Released on Jan 13, 2014)

  • General:
    • If you are using CMake 2.8.12 or later to create your project files, you may need a patch. Please download it from the research forum: Ultrasonix Research Forum.
Real-time RF line Display
  • Exam
    • The RF-line display feature which was present prior to 6.0.x and was eliminated is back now due to popular demand. To display the RF-line spectrum, bring out the research menu B-RF and set the variable to visible.
  • Ulterius
    • A new imaging parameter is added that is updated when the user touches the SonixTouch's touchscreen. The parameter updates on the touch_up event.
  • Texo
    • tx.txRepeat is introduced as a new parameter that allows the user to repeat the transmit pulse train (48 pulses) up to 255 times. This parameter can be used to generate long transmits pulses (e.g. ARFI application, coded excitations, ...)
    • tx.txDelay is introduced as a new parameter that allows the user to choose the delay from the start signal (or sync signal) to the transmission of the ultrasound pulse.
    • Texo sequencing through AddTransmit and AddReceive had stopped working. The bug is fixed, and also an example is added to the texo_qt_demo to show how to program a sequence using a look up table. Using this method, more lines can be programmed into a single sequence.
  • Python
    • A new Python module is added that can be used to read all the data types saved through the Exam software research interface into the Python environment, and visualize them.

SDK 6.0.6

  • General:
    • If you are using CMake 2.8.12 or later to create your project files, you may need a patch. Please download it from the research forum: Ultrasonix Research Forum
  • DAQ:
    • An option is added for transfer of DAQ data directly into memory without the need to write to the hard drive
  • Impero:
    • Impero sdk has been refactored internally to fix possible firmware corruptions. The C interface layer stays mainly unchanged (see doxygen and the console demo for more details).
    • Supports Sonix Touch and Sonix MDP(Arrakis) consoles only. Legacy consoles (eg. Sonix RP and older generation MDP consoles) are no longer supported.
  • MATLAB
    • A SonixDataTools package is released for processing and visualizing the data collected by the Exam software and the DAQ.
    • Previously released Matlab codes on the forum to read/process data are now included in the SDK package and will be updated with each release.
    • TexoCOMServer and UlteriusCOMServer are provided as COM servers that can be interfaced with MATLAB code.
    • Client demo MATLAB codes are provided that connect to the COM servers and acquire data both off-line and in real-time. These demo software will act as Matlab wrapper for both Ulterius and Texo SDKs.
Matlab Ulterius SDK
Matlab Texo SDK


  • Porta:
    • Fixed noise in color doppler.
  • Texo:
    • The tx.mask's definition is corrected to char[128] instead of int[128].

SDK 6.0.5

  • Texo:
    • texoSetPower would return a 0, if it where called prior to programming a sequence, although it would do its job. This bug is fixed now.

SDK 6.0.4

No SDK upgrade.

SDK 6.0.3

  • Texo
    • tx.sync is introduced as a new parameter that allows the user to selectively turn the output trigger on/off for individual scan lines. The user still needs to set the output trigger to line trigger.
    • The tx.centerElement and rx.centerElement can now be programmed with double precision accuracy. Previous implementation only allowed the user to move the center element in 1/10 of actual element spacing. Starting this version Texo users can program the center line as follows:
tx.centerElement = 0.2;
rx.centerElement = 1.24;
  • Porta:
    • The signal processing for color doppler imaging was completely re-implemented to make it more sensitive and provide more dynamic range in both color and power Doppler images (New color/power maps with 256 levels were added). New parameters are added and some of the old parameters were re-moved (parameters in CDI-UNUSED) or re-used (parameters in CDI-PROC). The color doppler preset parameters for all the probes were updated to take advantage of these new changes.

SDK 6.0

  • The Exam uses a new beamformer and imageformer which all SDKs benefit from.
  • QT libraries are now used instead of MFC,
  • Demo SDKs are upgraded with new QT based interfaces,
  • Pando and Mucro SDKs are integrated into a new SDK called Amplio™ that can be used to generate a B-mode image from RF data,
  • Pre-complied executable version of SDKs are now provided inside the \bin folder,

SDK 5.7

This is the last SDK update that supports older SonixRP™ systems (i.e. version 2 hardware).