FAST

异构医学图像计算和可视化框架。「Framework for Heterogeneous Medical Image Computing and Visualization」

Github星跟踪图

FAST

FAST 是一个开放源码的跨平台框架,主要目标是在利用多核 CPU 和 GPU 的异构系统上更容易地进行医学图像的高性能处理和可视化。为了实现这一目标,FAST 使用了现代 C++、OpenCL 和 OpenGL。

开始使用

首先,确保你已经 安装了需求

可以 下载 Windows 和 Ubuntu Linux 的稳定的二进制版本/安装程序。

要开始使用这个框架,请看 FAST 入门指南 和示例。

FAST 也可以通过 pip 在 Python 3 中使用:pip install pyfast

可以在 这里 找到 Python 的例子。

主要特点

  • 数据流 -- FAST 中的处理管道可以处理静态和动态/时间数据,而不需要改变代码。FAST 可以从电影文件、您的网络摄像头、英特尔 RealSense 摄像头、图像序列,甚至直接从 Clarius 等超声波扫描仪中流出数据。
  • 深度学习 -- FAST 为神经网络提供了一个通用的接口,支持不同的模型格式(ONNX、protobuf、SavedModel、OpenVINO、UFF)和后端(Google TensorFlow、NVIDIA TensorRT、Intel OpenVINO),使得创建实时神经网络管道成为可能。
  • 高层数据管理 -- FAST 中的数据对象在所有处理器上代表数据,如图像。FAST 在不同的存储区域中保持数据的一致性,从而消除了开发人员显式内存处理的负担。
  • 广泛的数据格式支持 -- FAST 支持多种数据格式(DICOM、元图像(MHD)、常规的 jpg/png/bmp 图像、视频、HDF5、VTK 多数据、整张幻灯片图像、超声波文件格式)和数据类型(图像2D和3D、灰度和彩色、图像金字塔、表面网格、顶点、线条、文本++)。
  • 高性能算法 -- FAST 拥有多个常用算法的高性能并行 OpenCL 实现,如行进立方体曲面提取、高斯平滑、非局部手段、块匹配跟踪和种子区域生长等。
  • 快速并发可视化 -- 渲染和计算在不同的线程中完成,以保证平滑的响应式可视化。支持多种类型的可视化,包括 3D(网格、点、线、图像切片和体积渲染)和2D(2D图像、图像切片和分割/标签渲染、整张幻灯片图像(WSI)金字塔)。
  • 互操作性 -- FAST 可以和 Python 一起使用,也可以很容易地集成到现有的 Qt 应用程序中。

科研

以下研究文章中已经描述了 FAST。如果你使用这个框架进行研究,请引用它们:

FAST:异构医学图像计算和可视化框架
Erik Smistad, Mohammadmehdi Bozorgi, Frank Lindseth
International Journal of Computer Assisted Radiology and Surgery 2015

利用 FAST 对医学图像进行高性能神经网络推理、流式处理和可视化处理
Erik Smistad, Andreas Østvik, André Pedersen
IEEE Access 2019

构建

要设置和构建框架,请看你的操作系统的说明。

  • Linux (Ubuntu)
  • Windows
  • Mac OS X 注意:由于苹果公司决定停止支持 OpenCL 和 OpenGL,Mac OS X 版本是不稳定的,而且不再积极维护。

许可证

FAST 本身是在允许的 BSD 2-clause 许可下获得许可的,然而 FAST 的二进制版本包含了一些第三方库,这些库使用了许多不同的开源许可(MIT,Apache 2.0,LGPL ++),更多细节请参见发行版中的许可文件夹。


主要指标

概览
名称与所有者smistad/FAST
主编程语言C++
编程语言CMake (语言数: 6)
平台Linux, Windows
许可证BSD 2-Clause "Simplified" License
所有者活动
创建于2014-03-18 21:26:28
推送于2025-04-04 12:17:13
最后一次提交2025-04-03 12:57:02
发布数36
最新版本名称v4.10.0 (发布于 )
第一版名称v0.1.0 (发布于 )
用户参与
星数463
关注者数29
派生数106
提交数3.8k
已启用问题?
问题数146
打开的问题数9
拉请求数42
打开的拉请求数2
关闭的拉请求数7
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?

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 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 (volume, 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. Make sure you have the requirements installed before using the releases.

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.

User guide and examples

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

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.