Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/AICAN-Research/FAST-Pathology
⚡ Open-source software for deep learning-based digital pathology
https://github.com/AICAN-Research/FAST-Pathology
computational-pathology convolutional-neural-networks cplusplus deep-learning deployment digital-pathology fastpathology free-to-use inference machine-learning opencl opengl openvino pytorch software tensorflow tensorrt
Last synced: 29 days ago
JSON representation
⚡ Open-source software for deep learning-based digital pathology
- Host: GitHub
- URL: https://github.com/AICAN-Research/FAST-Pathology
- Owner: AICAN-Research
- License: bsd-2-clause
- Created: 2019-07-09T12:28:00.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-06-14T22:59:49.000Z (6 months ago)
- Last Synced: 2024-11-06T06:02:09.115Z (about 1 month ago)
- Topics: computational-pathology, convolutional-neural-networks, cplusplus, deep-learning, deployment, digital-pathology, fastpathology, free-to-use, inference, machine-learning, opencl, opengl, openvino, pytorch, software, tensorflow, tensorrt
- Language: C++
- Homepage:
- Size: 81.2 MB
- Stars: 122
- Watchers: 5
- Forks: 26
- Open Issues: 25
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE.md
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-biological-image-analysis - FastPathology - Open-source software for deep learning-based digital pathology. (Pathology)
README
FastPathology
Open-source software for deep learning-based digital pathology
[![License](https://img.shields.io/badge/License-BSD%202--Clause-orange.svg)](https://opensource.org/licenses/BSD-2-Clause)
![CI](https://github.com/AICAN-Research/FAST-Pathology/workflows/Build%20Windows/badge.svg?branch=master&event=push)
![CI](https://github.com/AICAN-Research/FAST-Pathology/workflows/Build%20Ubuntu/badge.svg?branch=master&event=push)
![CI](https://github.com/AICAN-Research/FAST-Pathology/workflows/Build%20macOS/badge.svg?branch=master&event=push)
**FastPathology** was created by researchers at SINTEF and the Norwegian University of Science and Technology (NTNU). A paper presenting the software and some benchmarks has been published in [IEEE Access](https://ieeexplore.ieee.org/document/9399433).
## 💻 Getting started
To install FastPathology, follow the instructions for your operating system:
### Windows (10 or newer)
* Download and run the Windows installer from the [release page](https://github.com/AICAN-Research/FAST-Pathology/releases/).
*Note: Windows might prompt you with a security warning, to proceed you must press "More info" followed by "Run anyway".*
* Run **fastpathology** from your start menu.
* To **uninstall** the application, go to start menu -> remove programs -> find fastpathology and select uninstall.
Optionally you can also delete your `C:/Users/"your username"/fastpathology/` which includes stored project results, pipelines, and models.
And the folder `C:/ProgramData/FAST/` which contains a cache.
### Ubuntu Linux (18.04 or newer)
- Install OpenCL for Linux by downloading an implementation depending on the CPU/GPU you have:
- **NVIDIA** - Install [CUDA](https://developer.nvidia.com/cuda-downloads).
- **Intel** - Install the [OpenCL NEO driver](https://github.com/intel/compute-runtime/releases).
- **AMD** - Install the [ROCm stack](https://rocmdocs.amd.com/en/latest/Installation_Guide/Installation-Guide.html).
- If none of the above fits, you can try the [Portable Computing Lanauge (PCOL)](http://portablecl.org), although reduced performance is likely.
* Download the debian package from the [release page](https://github.com/AICAN-Research/FAST-Pathology/releases/).
* Install the debian package from the terminal or by double-clicking it:
```bash
sudo dpkg -i fastpathology_ubuntu*.deb
```
* Go to the folder `/opt/fastpathology/bin/` and run the **fastpathology** executable, or run it from the ubuntu menu (`windows button->type fastpathology`).
* To **uninstall** the application, run the following in your terminal:
```bash
sudo apt remove fastpathology
# Optionally, you can also delete your fastpathology folder
# which includes stored project results, pipelines and models.
# and the FAST folder which stores cache files.
rm -Rf $HOME/fastpathology
rm -Rf $HOME/FAST
```### macOS (10.13 or newer)
*Note that the macOS version of FastPathology is experimental.*
* Install [homebrew](https://brew.sh/) if you don't already have it. Then, install the following packages using homebrew:
```bash
brew install openslide libomp
```
* Download and run the macOS installer (.dmg) from the [release page](https://github.com/AICAN-Research/FAST-Pathology/releases/). Download the x86_64 file if you have an Intel CPU, or download the arm64 file if you have an Apple Silicon (M1/M2) CPU.
* In the installer, drag-and-drop the `FastPathology` bundle to the `Applications` directory.
* When the copy is finished, double-click the `Applications` icon in the installer and right-click + open `FastPathology` from the Applications menu.
* A warning should be prompted `"macOS cannot verify the developer of FastPathology (...)"`, click `open` and the program should launch.*Note: This is only required to be done once. For all future usage, launch FastPathology as a regular App bundle.*
* To **uninstall** the application, delete the extracted folder.
Optionally, you can also delete the `/Users/"your username"/fastpathology/` folder, which includes stored project results, pipelines, and models.
And the folder `/Users/"your username"/FAST/` which contains a cache.### Optional: NVIDIA GPU Inference
If you have an NVIDIA GPU on your machine you can enable high-speed inference by downloading and installing the following:
* [CUDA 11](https://developer.nvidia.com/cuda-toolkit-archive)
* [cuDNN 8.2](https://developer.nvidia.com/rdp/cudnn-archive)
* [TensorRT 8.2](https://developer.nvidia.com/nvidia-tensorrt-download)**Note: Make sure to download the correct versions. NVIDIA GPU inference is not supported on Mac.**
## License
The source code of FastPathology is licensed under the BSD 2-clause license, however the FastPathology program use and are linked with many great third-party libraries which have several different open source licenses, see the licenses folder in the installation folder for more details.
## 📹 Demos and tutorials
Very simple demonstrations of the platform can be found on [Youtube](https://www.youtube.com/channel/UC4GM2KW54-vEZ0M1kH5-oig). More in-depth demonstrations will be added in the future. Wikis and tutorials can be found in the [wiki](https://github.com/SINTEFMedtek/FAST-Pathology/wiki). More information can be found from the **pages** section on the right in the wiki home.
[![Watch the video](doc/images/snapshot-youtube.png)](https://youtu.be/1s7jU6T7S3U?t=435)
## 🎊 Features
The software is implemented in C++ based using [FAST](https://github.com/smistad/FAST). A wide range of features have been added 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), OpenVINO (CPU/GPU/VPU), and ONNX Runtime (CPU/GPU).
* **Text pipelines -** Possibility to create your own pipelines using the built-in script editor.
* **Formats -** Through [OpenSlide](https://openslide.org/) FastPathology supports various WSI formats.## 🔬 Applications of FastPathology
* Pettersen et al., Code-free development and deployment of deep segmentation models for digital pathology (2022), Frontiers in Medicine, https://doi.org/10.3389/fmed.2021.816281
* Pedersen et al., H2G-Net: A multi-resolution refinement approach for segmentation of breast cancer region in gigapixel histopathological images (2022), Frontiers in Medicine, https://doi.org/10.3389/fmed.2022.971873
* Røyset et al., Deep learning-based image analysis reveals significant differences in the number and distribution of mucosal CD3 and γδ T cells between Crohn's disease and ulcerative colitis (2022), The Journal of Pathology, https://doi.org/10.1002/cjp2.301
* Høibø et al., Immunohistochemistry guided segmentation of benign epithelial cells, in situ lesions, and invasive epithelial cells in breast cancer slides (2023), arXiv (preprint), https://doi.org/10.48550/arXiv.2311.13261
* Chiou et al., An immunohistochemical atlas of necroptotic pathway expression (2024), EMBO Molecular Medicine, https://doi.org/10.1038/s44321-024-00074-6## 🔨 Development setup
1. Either
- [Download and install a release of FAST](https://fast.eriksmistad.no/install.html).
- [Compile and install FAST on your system](https://fast.eriksmistad.no/building-fast.html).
2. Clone this repository
```bash
git clone https://github.com/AICAN-Research/FAST-Pathology.git
```
3. Setup build environment using CMake
*Linux (Ubuntu)*
```bash
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.
```bash
mkdir build
cd build
cmake .. -DFAST_DIR=C:\path\to\FAST\cmake\ -G "Visual Studio 16 2019" -A x64
```
4. Build
```bash
cmake --build . --config Release --target fastpathology
```
5. Run
*Linux (Ubuntu)*
```bash
./fastpathology
```
*Windows*
```powershell
cd Release
fastpathology.exe
```**NOTE:** Visual Studio 19 has 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{pedersen2021fastpathology,
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}
}