Skip to content

SlicerMorph/SlicerPhotogrammetry

Repository files navigation

SlicerMorph Photogrammetry Extension

The SlicerMorph Photogrammetry extension provides a complete workflow for reconstructing 3D models from photographs or video within 3D Slicer. The extension includes four specialized modules that work together to transform your images into textured 3D models.

Modules

Module Description
PhotoMasking Semi-automatic image masking using SAM (Segment Anything Model). Removes backgrounds from photographs to prepare them for 3D reconstruction.
VideoMasking Video-based masking using SAMURAI. Extracts frames from video and tracks/masks objects automatically across all frames.
ODM 3D reconstruction engine using OpenDroneMap/NodeODM. Converts masked images into textured 3D models.
ClusterPhotos AI-powered image clustering using Vision Transformers. Organizes large photo collections into similar groups for efficient batch masking.

Typical Workflows

Workflow 1: Photographs → 3D Model

  1. (Optional) Use ClusterPhotos to organize photos by viewing angle
  2. Use PhotoMasking to remove backgrounds from photographs
  3. Use ODM to reconstruct the 3D model

Workflow 2: Video → 3D Model

  1. Use VideoMasking to extract and mask frames from video
  2. Use ODM to reconstruct the 3D model

Citing Photogrammetry

If you use the Photogrammetry extension in a scientific publication (conference abstract, preprint, journal paper, etc.), please cite:

Thomas OO, Zhang C, Maga AM. 2025. SlicerMorph photogrammetry: an open-source photogrammetry workflow for reconstructing 3D models. Biol Open; 14 (8): bio062126. doi: https://doi.org/10.1242/bio.062126

For details about photographing specimens using a low-cost setup and using ArUco markers for physical scale, see:

Zhang and Maga (2023) An Open-Source Photogrammetry Workflow for Reconstructing 3D Models

Prerequisites

Running on MorphoCloud

There are no prerequisites if you are using MorphoCloud On Demand. All necessary libraries are preloaded.

Running Locally

We recommend using MorphoCloud On Demand for the best experience:

  • GPU Acceleration: NVIDIA A100 GPUs significantly speed up both masking and reconstruction
  • Typical runtime: 60-70 minutes for the sample data workflow on MorphoCloud

To run locally, you'll need:

  1. Docker
  2. NVIDIA Container Toolkit (for GPU support)
  3. Admin access to your computer

Note: Due to Docker installation complexities, the Photogrammetry extension is currently only available in the Slicer Extension Catalogue for Linux. Again, we suggest running the Photogrammetry extension in MorphoCloud On Demand using g3.xl flavor for best performance.

Sample Data

Full Dataset

Unprocessed photographs from 15 mountain beavers used in Zhang and Maga, 2022

Tutorial Dataset

Single specimen (UWBM 82409) used in tutorials: https://app.box.com/shared/static/z8pypqqmel8pv4mp5k01philfrqep8xm.zip

Video Tutorial

Watch the Photogrammetry video tutorial on YouTube

Documentation

Funding

The Photogrammetry extension is supported by grants (DBI/2301405, OAC/2118240) from the National Science Foundation to AMM (Seattle Children's Research Institute).

Acknowledgements

The Photogrammetry extension uses the following open-source projects:

We thank these groups for making their tools publicly available.

About

No description or website provided.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors