/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 published in IEEE Access. The paper is open-access and can be accessed directly from this link.

alt-text

Install

Download an appropriate installer from the release page, or the most recent one from here.

Installers for Win10, Ubuntu Linux (18 and 20), and macOSX are available. The software is continuously in development. It has not reached a stable state yet, but we are pushing towards a major release soon. 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 Driver. CUDA is required if you wish to perform inference using a dedicated GPU. CUDA 11.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, it is 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.

Applications of FastPathology

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: Visual Studio 19 have been tested with both FAST and FastPathology and works well.

How to cite

Please, consider citing our paper, if you find the work useful:

  @ARTICLE{9399433,
  author={Pedersen, André and Valla, Marit and Bofin, Anna M. and De Frutos, Javier Pérez and Reinertsen, Ingerid and Smistad, Erik},
  journal={IEEE Access}, 
  title={FastPathology: An Open-Source Platform for Deep Learning-Based Research and Decision Support in Digital Pathology}, 
  year={2021},
  volume={9},
  number={},
  pages={58216-58229},
  doi={10.1109/ACCESS.2021.3072231}}