SINTEFMedtek / FAST

Framework for Heterogeneous Medical Image Computing and Visualization

Home Page:http://fast.eriksmistad.no

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 high performance processing and visualization of medical images on heterogeneous systems utilizing both multi-core CPUs and GPUs. To achieve this, FAST is constructed using modern C++, OpenCL and OpenGL.

FAST has been described in the following research articles. If you use this framework for research please cite them:

FAST: framework for heterogeneous medical image computing and visualization
Erik Smistad, Mohammadmehdi Bozorgi, Frank Lindseth
International Journal of Computer Assisted Radiology and Surgery 2015

High Performance Neural Network Inference, Streaming, and Visualization of Medical Images Using FAST
Erik Smistad, Andreas Østvik, André Pedersen
IEEE Access 2019

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.
  • Deep learning - FAST supports several inference engines, such as Google's TensorFlow, NVIDIA's TensorRT and Intel's OpenVINO, 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 used with Python 3. It 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. If you want to use FAST from Python you can install it using: pip install pyfast Make sure you have the requirements installed before using the releases.

User guide and examples

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

License

FAST itself is licenced under the permissive BSD 2-clause license, however the binary releases of FAST include several third-party libraries which use a number of different open source licences (MIT, Apache 2.0, LGPL ++), see the licences folder in the release for more details.

Build

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

  • Linux (Ubuntu)
  • Windows
  • Mac OS X Note: Mac OS X version is unstable and not actively maintained anymore due to Apple's decision to stop supporting OpenCL and OpenGL.

Surface mesh extracted from a large abdominal CT scan. Alpha blending ray casting rendering of a thorax CT image.

Ultrasound image segmentation using neural netwoks. Whole slide microscopy image.

About

Framework for Heterogeneous Medical Image Computing and Visualization

http://fast.eriksmistad.no

License:BSD 2-Clause "Simplified" License


Languages

Language:C++ 79.6%Language:C 13.4%Language:CMake 6.1%Language:SWIG 0.3%Language:Python 0.3%Language:GLSL 0.2%Language:Shell 0.1%Language:Batchfile 0.0%