Feature Forest
A napari plugin for segmentation using vision transformer features
A napari plugin for making image annotation using feature space of vision transformers and random forest classifier.
We developed a napari plugin to train a Random Forest model using extracted features of vision foundation models and just a few scribble labels provided by the user as input. This approach can do the segmentation of desired objects almost as well as manual segmentations but in a much shorter time with less manual effort.
Documentation
You can check the documentation here (⚠️ work in progress!).
Installation
We provided install.sh
for Linux & Mac OS users, and install.bat
for Windows users.
First you need to clone the repo:
git clone https://github.com/juglab/featureforest
cd ./featureforest
Now run the installation script:
# Linux or Mac OS
sh ./install.sh
# Windows
./install.bat
For developers that want to contribute to FeatureForest, you need to use this command to install the dev
dependencies:
pip install -U "featureforest[dev]"
And make sure you have pre-commit
installed in your environment, before committing changes:
pre-commit install
For more detailed installation guide, check out here.
Cite us
Seifi, Mehdi, Damian Dalle Nogare, Juan Battagliotti, Vera Galinova, Ananya Kediga Rao, AI4Life Horizon Europe Programme Consortium, Johan Decelle, Florian Jug, and Joran Deschamps. "FeatureForest: the power of foundation models, the usability of random forests." bioRxiv (2024): 2024-12. DOI: 10.1101/2024.12.12.628025
License
Distributed under the terms of the BSD-3 license, "featureforest" is free and open source software.
Issues
If you encounter any problems, please file an issue along with a detailed description.
Version:
- 0.1.2
Last updated:
- 2025-07-28
First released:
- 2024-10-10
License:
- BSD-3-Clause
Operating system:
- Information not submitted
Requirements:
- h5py
- iopath>=0.1.10
- magicgui
- matplotlib
- napari[all]
- numpy<2.2
- opencv-python
- pims
- pooch
- pynrrd
- qtpy
- scikit-image
- scikit-learn
- scipy
- tifffile
- timm
- torch>=2.5.1
- torchvision>=0.20.1
- tqdm>=4.66.1
- mkdocs-material; extra == 'dev'
- pre-commit; extra == 'dev'
- pytest; extra == 'dev'
- pytest-cov; extra == 'dev'
- sybil; extra == 'dev'
- tox; extra == 'dev'
- tox-gh-actions; extra == 'dev'