Getting Started

NVIDIA AI-Assisted Annotation SDK follows a client-server approach to integrate into an application. Once a user has been granted early access user can use either C++ or Python client to integrate the SDK into an existing medical imaging application.

It officially supports following 3 platforms
  • Linux (Ubuntu16+)

  • macOS (High Sierra and above)

  • Windows (Windows 10)

Installing prebuilt C++ packages

Download the binary packages for corresponding OS supported from Releases.


export version=1.0.1
sudo sh NvidiaAIAAClient-${version} --prefix=/usr/local --exclude_sub_dir --skip-license

export LD_LIBRARY_PATH=/usr/local/lib
c++ -std=c++11 -o example example.cpp -lNvidiaAIAAClient


export version=1.0.1
sh NvidiaAIAAClient-${version} --prefix=/usr/local --exclude_sub_dir --skip-license

c++ -std=c++11 -o example example.cpp -lNvidiaAIAAClient


Download NvidiaAIAAClient-<version>-win64.exe from Releases and Install the package. Say by-default it installs into C:Program FilesNvidiaAIAAClient

PATH=C:\Program Files\NvidiaAIAAClient\bin;%PATH%
cl /EHsc -I"C:\Program Files\NvidiaAIAAClient\include" example.cpp /link NvidiaAIAAClient.lib /LIBPATH:"C:\Program Files\NvidiaAIAAClient\lib"

Following is the code snippet to start using AIAA Client APIs

// example.cpp
#include <nvidia/aiaa/client.h>
#include <iostream>

int main() {
   try {
      // Create AIAA Client object
      nvidia::aiaa::Client client("");

      // List all models
      nvidia::aiaa::ModelList modelList = client.models();
      std::cout << "Models Supported by AIAA Server: " << modelList.toJson() << std::endl;

      // Get matching model for organ Spleen
      nvidia::aiaa::Model model = modelList.getMatchingModel("spleen");
      std::cout << "Selected AIAA Model for organ 'Spleen' is: " << model.toJson(2) << std::endl;

      // More API calls can follow here...
   } catch (nvidia::aiaa::exception& e) {
      std::cerr << "nvidia::aiaa::exception => nvidia.aiaa.error." << << "; description: " << << std::endl;

   return 0;

More details on C++ Client APIs can be found client.h

CMake Support

You can also use the NvidiaAIAAClient interface target in CMake. This target populates the appropriate usage requirements for NvidiaAIAAClient_INCLUDE_DIRS to point to the appropriate include directories and NvidiaAIAAClient_LIBRARY for linking the necessary Libraries.

Find Package

To use this library from a CMake project, you can locate it directly with find_package() and use the namespaced imported target from the generated package configuration:

# CMakeLists.txt
find_package(NvidiaAIAAClient REQUIRED)
target_link_libraries(foo ${NvidiaAIAAClient_LIBRARY})

The package configuration file, NvidiaAIAAClientConfig.cmake, can be used either from an install tree or directly out of the build tree. For example, you can specify the -DNvidiaAIAAClient_DIR option while generating the CMake targets for project foo:

$ cmake -DNvidiaAIAAClient_DIR=/user/xyz/myinstall/lib/cmake/NvidiaAIAAClient

External Project

You can achieve this by adding External Project in CMake.

# CMakeLists.txt
   GIT_TAG v1.0.1
target_link_libraries(foo ${NvidiaAIAAClient_LIBRARY})