/FAST-Pathology

⚡ Open-source software for deep learning-based digital pathology

Primary LanguageC++BSD 2-Clause "Simplified" LicenseBSD-2-Clause

FastPathology

GitHub Downloads License Paper

CI CI CI

FastPathology is an open-source platform for deep learning-based research and decision support in digital pathology, created by SINTEF Medical Technology and the Norwegian University of Science and Technology (NTNU).

A paper presenting the software and some benchmarks has been submitted to IEEE Access. A preprint has been made available on arXiv. The PDF can also be accessed more directly from this link. Corresponding supplementary material can be found on research gate.

alt-text

Install

Download an appropriate installer from the release page. Installers for Win10 and Ubuntu (18 and 20) are available. Currently, there are only pre-releases, as there are still some features to be added/fixed, before we can say that it is ready for use. Beta-testers are much obliged ;)

NOTE: FastPathology depends on OpenCL. Most Windows machines have OpenCL by default, whereas Ubuntu does not. Thus, for Ubuntu, OpenCL can be installed by installing either NVIDIA CUDA Toolkit or Intel OpenCL SDK. For both operating systems CUDA is required to run inference on a dedicated GPU. CUDA 10.0 if you are using any of the releases.

Test data

Data for testing the application can be downloaded from here. It includes some pretrained models, two WSIs, and some example text pipelines. If curl and tar is installed on the machine (works for both Ubuntu and Windows), it is now possible to download the data directly from the GUI (go to the menu bar -> Edit -> Download test data -> click "Yes" -> when finished, click "Yes" again to visualize the WSIs straight away).

Features

The software is implemented in C++ based on FAST. A wide range of features have been added to the platform and FAST to make working with Whole Slide Images (WSIs) a piece of cake!

  • Graphical User Interface - User-friendly GUI for working with WSIs without any code interaction
  • Deep learning - Deployment and support for multi-input/output Convolutional Neural Networks (CNNs)
  • Visualization - Real-time streaming of predictions on top of the WSI with low memory cost
  • Use cases - Patch-wise classification, low and high-resolution segmentation, and object detection are supported
  • Inference Engines - FAST includes a variety of different inference engines, i.e. TensorFlow CPU/CUDA (support both TF v1 and v2 models), TensorRT (UFF and ONNX) and OpenVINO (CPU/GPU/VPU).
  • Text pipelines - Possibility to create your own pipelines using the built-in script editor
  • Formats - Through OpenSlide FastPathology supports lots of WSI formats

Demos

Very simple demonstrations of the platforms can be found on Youtube. More in-depth demonstrations will be added in the future. However, some wikis and tutorials can be found in the wiki. More information can be found from the pages section on the right in the wiki home.

Development setup

  1. Either
  2. Clone this repository
    git clone https://github.com/SINTEFMedtek/FAST-Pathology.git
  3. Setup build environment using CMake
    Linux (Ubuntu)
    mkdir build
    cd build
    cmake .. -DFAST_DIR=/path/to/FAST/cmake/
    Windows (Visual Studio) Modify generator -G string to match your Visual studio version. This command will create a visual studio solution in your build folder.
    mkdir build
    cd build
    cmake .. -DFAST_DIR=C:\path\to\FAST\cmake\ -G "Visual Studio 16 2019" -A x64
  4. Build
    cmake --build . --config Release --target fastpathology
  5. Run Linux (Ubuntu)
    ./fastpathology
    Windows
    cd Release
    fastpathology.exe

NOTE: Both VS 17 and 19 have been tested with both FAST and FastPathology and works well.