nornir-volumecontroller

nornir_volumecontroller provides a high-level controller API for working with a registered Nornir volume. It sits above the data model (nornir_volumemodel) and the image-registration machinery (nornir_imageregistration), giving callers a single entry point to query bounds, enumerate channels, and retrieve registered image data from any region of a 3-D volume.

Key classes

VolumeInterface

Abstract base class defining the contract for any volume controller: Bounds, Channels, and GetData.

Volume

Concrete controller that wraps a nornir_volumemodel volume model object. Lazily builds per-section transform maps and channel lists on first access.

VolumeRegisteredChannel

Encapsulates a single channel + its channel-to-volume transform, exposing Scale and tile-pyramid path lookup.

Scale

Thin wrapper around the volumemodel Scale object, providing X/Y/Z units-per-pixel as simple properties.

Usage

Load a volume from an XML metadata file:

import nornir_volumecontroller

vol = nornir_volumecontroller.CreateVolumeController('/path/to/volume.xml')
print(vol.Bounds)     # (minZ, minY, minX, maxZ, maxY, maxX)
print(vol.Channels)   # set of channel names

Retrieve registered image data:

region = [0, 0, 0, 10, 1024, 1024]  # (minZ, minY, minX, maxZ, maxY, maxX)
images = vol.GetData(region, resolution=1.0, channel_names=None)
# images is a dict of {section_number: ndarray}

API reference: nornir_volumecontroller API