Vitis™ Libraries to Accelerate Premium Medical Imaging on Versal Devices with AI Engines

Delivering frame rates upwards of 1,000 FPS with low latency


Performance and Productivity for Next-Generation Premium Medical Imaging Equipment

AMD has introduced the first medical imaging libraries for the Vitis™ 2022.2 unified software environment. Using a range of available options, from building blocks in Level 1 to a complete ultrasound beamformer design in Level 3, customers can get their medical imaging products to market faster. Our software libraries, documentation, and example design demonstrate how to build such a design using Versal™ devices with AI Engines. Any medical imaging equipment maker can choose to rapidly deploy their own algorithms using basic building blocks in Level 1 and a high-level programming language.

For ultrasound equipment makers, Level 2 of the libraries can be used to deploy their own algorithms using a high-level programming language to achieve rapid time to market. Our toolbox in library Level 2 contains all the functions and examples on how to build a custom high-performance ultrasound beamformer, and library Level 3 provides a ready-made application with a fully working beamformer. More details on various library levels can be found in later sections.

Vitis™ Medical Imaging Libraries – Ultrasound Reference Design

The Vitis accelerated medical imaging libraries are used in the next-generation UltraFast™ imaging reference design example found in Level 3 of the libraries. This reference design represents a paradigm shift in medical imaging, where users can go from normal sequential acquisition to a parallel acquisition of the whole plane, using either spherical or plane waves. This provides the ability to create optimally focused images everywhere in the captured image, deliver extremely high-quality 3D/4D images, and obtain thousands of images per second.

AMD ACAP platforms, like the AI Core and AI Edge series with their AI Engine-based architecture, are capable of delivering a beamformer running synthetic aperture or plane wave-like algorithms, with 128 active elements and 200 lines of resolution on a single device, while still obtaining scan rates of several hundreds to thousands of frames per second on anything from cardiac imaging to abdominal imaging to small-parts imaging.

Vitis™ AI Engine Medical Imaging Libraries – Functions and Organization

The Vitis AI Engine medical imaging Libraries are a collection of configurable elements that can be used to develop various medical applications on Versal AI Engines. These open-source libraries are for targeted DSP applications, including ultrasound beamforming, CT image reconstruction, MRI image reconstruction using 2D-FFT, gradient processor control for MRI magnets, image processing on sampled/digitized data from inputs on X-rays, ECGs, and more. The libraries provided here are tested and intended to be working on the Versal ACAP VCK190 board (production version).

The current release supports the basic building blocks in Level 1 for various medical imaging applications to a full reference design for building a premium ultrasound beamformer. It includes:

  • BLAS support (NumPy-Like)
  • Basic DSP support (like windowing functions for apodization)
  • Interpolation (spline interpolation)
  • A complete medical ultrasound beamformer that uses all of the above

The libraries are structured in three different levels:

L1 - The lowest level of abstraction (composed of simple BLAS operations). These operations are a C++ implementation of the open-source NumPy library. The L1 library supports both arithmetical operations as well as some vector manipulation operations.

L2 - The functional units of the beamformer (can be obtained by composing L1 libraries).

The L2 level of the Ultrasound library is composed of the mathematical components needed for the beamformation of the RF data. These components, as against the L1 APIs, are AIE graphs and no longer just single kernels. Thus, the level of abstraction is increased with respect to the L1 level.   

 L3 - A full beamforming design

The last level of abstraction is a complete beamformer composed of the units provided by the L2 level. There are three types of beamformer provided: Synthetic Aperture (SA), Plane Wave (PW), and ScanLine.

The L3 diagram shows an example algorithm of a PW beamformer.

Get Started