Framework for Heterogeneous Medical Image Computing and Visualization
Clone or download

README.md

Join the chat at https://gitter.im/smistad/FAST

FAST (Framework for Heterogeneous Medical Image Computing and Visualization) is an open-source cross-platform framework with the main goal of making it easier to do processing and visualization of medical images on heterogeneous systems (CPU+GPU).

A detailed description of the framework design can be found on the project wiki or in the research article:
FAST: framework for heterogeneous medical image computing and visualization.
Erik Smistad, Mohammadmehdi Bozorgi, Frank Lindseth.
International Journal of Computer Assisted Radiology and Surgery. February 2015.

Preprint of article can be downloaded from here. If you use FAST for research, please cite this article.

Main features

  • Data streaming – Processing pipelines in FAST can handle both static and dynamic/temporal data without any change to the code. FAST can stream data from movie files, a sequence of images and even directly from ultrasound scanners using the OpenIGTLink protocol.
  • Deep learning – FAST is integrated with Google’s TensorFlow library making it possible to create real-time neural network pipelines.
  • High-level data management – Data objects in FAST represent data, such as an image, on all processors. FAST keeps data coherent across the different storage areas thereby removing the burden of explicit memory handling from the developer.
  • High performance algorithms – FAST has several high performance parallel OpenCL implementations of common algorithms, such as marching cubes surface extraction, Gaussian smoothing, threshold segmentation and seeded region growing.
  • Fast concurrent visualization – Rendering and computation are done in separate threads to ensure smooth responsive visualizations. Several types of visualizations are supported both 3D (mesh, point, line and image slice rendering) and 2D (2D image, image slice and segmentation/label rendering).
  • Interoperability – FAST can be integrated with pipelines from the Insight Toolkit (ITK) and the Visualization Toolkit (VTK) to send image data between the frameworks. FAST can also be easily integrated into existing Qt applications.

Download

If you are only interested in using/testing FAST, and not developing FAST, please download a stable binary release.

Build

To setup and build the framework, see the instructions for your operating system:

User guide and examples

To start using the framework, see the Getting started with FAST guide or the examples page.

Build status of development branch

  • Ubuntu Linux 16.04, Intel CPU, NVIDIA GPU - Build Status
  • Ubuntu Linux 16.04, Intel CPU, AMD GPU - Build Status
  • Mac OS X 10.12, Intel CPU, NVIDIA GPU - Build Status
  • Windows 10, AMD CPU, AMD GPU - Build Status
  • Windows 10, Intel CPU, NVIDIA GPU - Build Status

Surface mesh extracted from a large abdominal CT scan in about 100 ms using FAST and a modern GPU. Ultrasound image segmented using binary thresholding.