Looking for up-to-date ScanImage documentation? That has moved here: docs.scanimage.org

This documentation is for a legacy ScanImage version. The current documentation is ScanImage 2019.
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »


For an overview of the ScanImage Roi concept, please review the article Scanfields, ROIs, ROI Groups.

Roi Hierarchy

ScanImage organizes Rois and Scanfields in a hierarchy. The root of this hiearchy is a RoiGroup object. Each RoiGroup object can contain multiple Rois, and each Roi can contain multiple scanfields.

RoiGroup hierarchy
  • RoiGroup
    • Roi
      • Scanfield, z = 0
      • Scanfield, z = 0.2
      • Scanfield, z = 0.3
    • Roi
      • Scanfield, z = 0.1
      • Scanfield, z = 0.5
    • Roi
      • Scanfield, z = 0.4
      • Scanfield, z = 1


A RoiGroup is a container that holds multiple Rois. There are multiple accessor methods to manipulate the Rois within a RoiGroup. The order of the Rois within the RoiGroup determines the order the Rois are scanned on one slice.


RoiGroup, Roi, and Scanfield hare handle object. The same Roi can be added to a RoiGroup multiple times, or be used in different RoiGroups. The same Sanfield can be added to different Rois, or multiple times to a single Roi.

Create a RoiGroup and add Rois
Manipulate RoiGroup

Each Roi, RoiGroup and Scanfield object has a unique identifier 'uuid', which is a human readable string. For performance reasons, a 64-bit integer value 'uuiduint64' is derived from 'uuid', which can be used to identify the object in the RoiGroup.

Manipulate RoiGroup using uuiduint64


Manipulate Rois


Each Roi can contain one or more Scanfields. A Scanfield is a 2D cross-section of the 3D Roi at a particular z level. ScanImage currently supports multiple types of scanfields.

All fields are defined in the ScanImage Coordinate Systems coordinate system.

  • No labels