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
VolumeInterfaceAbstract base class defining the contract for any volume controller:
Bounds,Channels, andGetData.VolumeConcrete controller that wraps a
nornir_volumemodelvolume model object. Lazily builds per-section transform maps and channel lists on first access.VolumeRegisteredChannelEncapsulates a single channel + its channel-to-volume transform, exposing
Scaleand tile-pyramid path lookup.ScaleThin wrapper around the volumemodel
Scaleobject, 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