A curated list of scientific image analysis resources and software tools.
Scientific image analysis addresses issues related to the acquisition, processing, storage, visualization, and extraction of quantitative measurements from images.
Contributions to this list are welcome (β‘οΈ contributing.md). Add your resource suggestions via pull requests or create an issue to start a discussion.
- π Getting started
- π§βπ€βπ§ Communities
- π Learning resources
- βοΈ Image segmentation
- π Image registration
- πͺ Image denoising
- π Object detection
- πΎ Tracking
- π» Visualization
- π§© OME-Zarr
- π Performance
- ποΈ Open science
- π Python
- π¬ Fiji (ImageJ)
- ποΈ Napari
- 𧬠QuPath
- ποΈ Infrastructure
- πΈ Other
Online courses to learn scientific image analysis:
- Image Processing and Analysis for Life Scientists - BIOP, EPFL.
- Introduction to Bioimage Analysis - Pete Bankheads.
- Image Processing with Python - Data Carpentry.
- Image data science with Python and Napari - EPFL & TU Dresden.
- bioimagingguide.org - Center for Open Bioimage Analysis.
Courses in video format:
- First Principles of Computer Vision - Columbia University.
- Introduction to bioimage analysis - Robert Haase.
- Microscopy Series - iBiology. Focused on microscopy techniques.
General image analysis software:
- Fiji - ImageJ, with βbatteries-includedβ.
- Napari - A fast and interactive multi-dimensional image viewer for Python.
- CellProfiler - Open software for automated quantification of biological images.
- QuPath - Open Software for Bioimage Analysis.
- SimpleITK - Open-source multi-dimensional image analysis.
Python:
- Scikit-image - Image processing in Python.
- Introduction to Python for Image Analysis - Jupyterlite Notebook (no installation required).
- Image.sc - Popular online forum focused on bioimage analysis.
- GloBIAS - Global Bioimage Analysts' Society.
- 2024 - Creating and troubleshooting microscopy analysis workflows: Common challenges and common solutions - Beth Cimini.
- 2023 - Towards effective adoption of novel image analysis methods - Talley Lambert, Jennifer Waters.
- 2022 - A Hitchhiker's guide through the bio-image analysis software universe - Robert Haase et al.
- DigitalSreeni - Focused on Python and deep learning for image analysis.
- I2K Conference - Recordings from Virtual I2K conferences.
Image segmentation aims to create a segmentation mask that identifies specific classes or objects. Techniques for image segmentation include thresholding, weakly supervised learning (e.g., Ilastik, Weka), and deep learning.
- Image segmentation - Image data science with Python and Napari.
- Image Segmentation - First Principles of Computer Vision (video format).
- Thresholding - Introduction to Bioimage Analysis.
- Segmentation - ImageJ Tutorials.
- Thresholding - With Scikit-image.
- skimage.segmentation - Classical segmentation algorithms in Python.
- Ilastik - Pixel Classification - Semi-supervised workflow for pixel classification.
- Segment Anything Model 3 (SAM 3) - Promptable foundation model for image segmentation.
- Ultralytics YOLO - Instance Segmentation - Image segmentation using YOLO models.
- rembg - Remove image backgrounds.
- nnUNet - U-Net based biomedical image segmentation (2D and 3D).
- segmentation_models.pytorch - Segmentation models with pretrained backbones in PyTorch.
- Monai - Pytorch-based deep learning framework for biomedical imaging.
- StarDist - Segmentation of cell nuclei and other round (star-convex) objects.
- CellPose - Segmentation of cells and membranes in microscopy images.
- SAMJ - Segment Anything in Fiji.
Image registration is used to align multiple images, stabilize sequences by compensating for camera movement, track object movement and deformation, and stitch multiple fields of view together.
- Image correlation - Theory - Introduction to optical flow (DIC).
- Intro to Image Registration - Overview by Ella Bahry (video format).
- Optical Flow - First Principles of Computer Vision (video format).
- skimage.registration - Cross-correlation and optical flow algorithms in Python.
- SPAM - Image correlation in 2D and 3D.
- pystackreg - Image stack (or movie) alignment in Python.
- VoxelMorph - Learning-based image registration.
- TurboReg - Image stack (or movie) alignment in Fiji.
- Fast4DReg - 3D drift correction in Fiji.
Image denoising enhances visual quality by removing noise, making structures more distinguishable and facilitating segmentation through thresholding.
- skimage.restoration - Classical denoising algorithms in Python (TV Chambolle, Non-local Means, etc.).
- CAREamics - Deep-learning based, self-supervised algorithms: Noise2Void, N2V2, etc.
- noise2self - Blind denoising with self-supervision.
- CellPose3 - OneClick - Deep-learning based denoising models for fluorescence and microscopy images.
- SwinIR - Deep image restoration using Swin Transformer - for grayscale and color images.
- CSBDeep - Access CSBDeep based tools in Fiji.
Object detection is the process of identifying and localizing objects within an image or video using various shapes such as bounding boxes, keypoints, circles, or other geometric representations.
- C4W3L09 YOLO Algorithm - Introduction to YOLO by Andrew Ng (video format).
- Detecting Blobs - First Principles of Computer Vision (video format).
- Ultralytics YOLO - Object Detection - YOLO models for object detection.
- Spotiflow - Spot detection for microscopy data.
- Big-FISH - smFISH spot detection and analysis in Python.
- RS-FISH - Spot detection in 2D and 3D images in Fiji.
- OpenPifPaf - Human pose estimation.
- DeepLabCut - Animal pose estimation.
Object tracking is the process of following objects across time in a video or image time series.
- Walkthrough (trackpy) - Introduction for Python users.
- Getting started with TrackMate - Introduction for Fiji users.
- Trackpy - Particle tracking in Python.
- Trackastra - Tracking with Transformers.
- ultrack - Large-scale cell tracking.
- co-tracker - Tracking any point on a video.
- LapTrack - Particle tracking in Python.
- SAM-PT - Segment Anything Meets Point Tracking.
- TrackMate - Fiji plugin.
- Mastodon - Large-scale tracking in Fiji.
A variety of software tools are available for visualizing scientific images and their associated data.
For a detailed comparison of 3D viewers, see 3D Image Visualization software tools.
- Napari - Interactive nD image viewer in Python.
- ndv - N-dimensional viewer with minimal dependencies.
- PyVista - 3D visualizations in Python through VTK.
- vedo - Scientific visualizations of 3D objects.
- itkwidgets - VTK viewer in Jupyter notebooks.
- stackview - 3D stack visualization in Jupyter notebooks.
- Paraview - Scientific visualizations through VTK.
- tif2blender - Microscopy image visualization in Blender.
- fastplotlib - Fast plotting library running on WGPU.
- K3D-jupyter - Jupyter Notebook 3D visualization package.
- Fiji - Volume Viewer - Ideal for Fiji users.
- Fiji - 3D Viewer - Ideal for Fiji users.
- Fiji - MoBIE - Fiji-based visualization tool for large images.
- Fiji - 3Dscript - 3D rendering animations in Fiji.
- Fiji - BigDataViewer - Ideal for big data.
OME-Zarr is a file format optimized for storing, viewing, and sharing large images.
- Neuroglancer - Browser-based visualizations compatible with large images (zarr).
- vizarr - Simple Zarr viewer.
- fileglancer - Browse, share, and publish OME-Zarr data.
- Viv - Multiscale visualization in the browser.
- Fractal - Framework to process bioimaging data at scale in the OME-Zarr format.
- Vol-E - Visualize OME-Zarr images in the web browser.
- OME-NGFF Validator - Validate an OME-NGFF file.
Performance optimization is the process of making code execution faster, more efficient, or using fewer computing resources.
- GPU-Accelerated Image Analysis - PoL Bio-Image Analysis Training School.
- System aspects - Basics of Computing Environments for Scientists
- pyclesperanto_prototype - GPU-accelerated bioimage analysis.
- Numba - JIT compiler for Python and NumPy code.
- cuCIM - GPU-accelerated image processing.
- OpenCV - Optimized image processing algorithms.
- dask-image - Image processing with Dask Arrays.
Open imaging science meets principles of findability, accessibility, interoperability, and reusability (FAIR).
- Reproducible image handling and analysis
- Understanding metric-related pitfalls in image analysis validation
- Reporting reproducible imaging protocols
- When seeing is not believing: application-appropriate validation matters for quantitative bioimage analysis
- Community-developed checklists for publishing images and image analysis
- Creating Clear and Informative Image-based Figures for Scientific Publications
- Effective image visualization for publications β a workflow using open access tools and concepts
Python is a popular programming language for scientific image analysis.
- Setting up Python for scientific image analysis - Short guide by the EPFL Center for Imaging.
- Managing Conda Environments
- Python environments workshop - Talley Lambert.
- Python 3 documentation - The official Python documentation.
- Programming with Python - Software Carpentry.
- Intermediate Research Software Development - Carpentries Incubator.
- Scikit-image - Scientific image processing toolbox.
- scipy.ndimage - Multidimensional image processing.
- opencv-python - Computer vision toolbox.
- Introduction to Python for Image Analysis - Jupyterlite Notebook (no installation required).
- Image processing with Python - Data Carpentry.
Fiji is an open-source software for image processing and analysis. A wide range of community-developed plugins can enhance its functionality.
- Scientific Imaging Tutorials - ImageJ.
- Image handling using Fiji - training materials - Joanna PylvΓ€nΓ€inen.
- MorphoLibJ - Morphological operations.
- DeepImageJ - Run deep learning models in Fiji.
- BigStitcher - Stitching for large images.
- OMERO - Interact with OMERO from Fiji.
- PTBIOP - BIOP Fiji Update Site.
- FFmpeg - Load videos into Fiji.
- Bio-Formats - Import data from many life sciences file formats.
Napari is a fast and interactive multi-dimensional image viewer for Python. It can be used for browsing, annotating, and analyzing scientific images.
- Usage (napari.org) - Official usage documentation.
- Exploratory data analysis with napari - Peter Sobolewski, I2K Conference 2026.
To explore all available plugins, browse the Napari Hub.
- napari-animation - Create animations.
- napari-skimage-regionprops - Region properties.
- napari-threedee - 3D interactivity toolbox.
- Omega - Napari with ChatGPT.
- napari-sam - Segment Anything in Napari.
- napari-imagej - Fiji in Napari.
- devbio-napari - Comprehensive image processing toolbox.
- napari-clusters-plotter - Object clustering.
- napari-accelerated-pixel-and-object-classification - Semi-supervised pixel classification.
- napari-convpaint - Pixel classification based on deep learning feature extraction.
- napari-serverkit - Run algorithms interactively in Napari.
- napari-data-inspection - Rapidly inspect folders of images.
- napari-plot-profile - Plot a line profile.
- napari-orthogonal-views - Display orthogonal views.
- napari-omero - Browse your OMERO database.
QuPath is an open software for bioimage analysis, often used to process and visualize digital pathology and whole slide images.
- qupath-extension-sam - Segment Anything in QuPath.
- qupath-extension-cellpose - CellPose.
- qupath-extension-stardist - StarDist.
Infrastructure tools for image analysis workflows (and related).
- BIOP-desktop - Virtual desktop for bioimage analysis.
- BAND - Bioimage ANalysis Desktop.
- Galaxy (EU) - Web-based platform for accessible computational research.
- Renkulab - Data, Code, and Compute all under one roof.
- Hugging Face Spaces - Build, host, and share ML apps.
- BioImage.IO dev - Models, Datasets, and Applications for bioimage analysis.
- Imaging Server Kit - Run image processing algorithms via a web API.
- OMERO - Platform for sharing, visualizing and managing microscopy data.
- Nextflow - Create scalable and reproducible workflows.
- Cameras and Lenses - Bartosz Ciechanowski.
- Knowledge Center - Edmund Optics.
- Image Formation - First Principles of Computer Vision (video format).
- Camera Calibration - First Principles of Computer Vision (video format).
- Meshroom - Software for 3D scene reconstruction by photogrammetry.
- Welcome to Inverse Problems and Imaging - Tristan van Leeuwen and Christoph Brune.
- Pyxu - Modular and Scalable Computational Imaging.
- DeepInverse - Solve imaging inverse problems using deep learning.
- Pixel Patrol - Scientific dataset quality control and data exploration.
- makesense.ai - Simple annotation app for YOLO models.
- supervision - Draw detections on an image or video.
- SplineBox - Efficient splines fitting in Python.
- OrientationJ - Fiji plugin.
- OrientationPy - 2D and 3D orientation measurements in Python.
- scikit-shapes - Shape processing in Python.
- tifffile - Read and write TIFF images.
- aicsimageio - Image reading and metadata conversion.
- imageio - Python library for reading and writing image data.
- patchify - Image patching (tiling).
- pims - Python Image Sequence.
- imutils - Image utilities.
- bioio - Read, write, and manage microscopy images.
- imantics - Image annotation semantics.
