nornir-volumemodel

nornir_volumemodel is a pure Python data model for a Nornir-registered electron-microscopy volume. It describes the hierarchy of objects that make up a processed volume and supports serialization to/from Nornir’s XML metadata format.

Object hierarchy

A volume is organized as a tree:

Volume
└── Block (one or more)
    └── Section (one per physical slice / Z-level)
        └── Channel (e.g. "TEM", "Leveled")
            ├── Filter (image processing filter applied to the channel)
            │   └── TilePyramid → Level → Image tiles
            └── Transform (spatial registration transforms)

Key modules

nornir_volumemodel.model.volume

Volume — top-level container; holds a list of Block objects. Inherits DirectoryResource and Named.

nornir_volumemodel.model.block

Block — groups sections and is the unit of batch processing.

nornir_volumemodel.model.section

Section — represents one Z-slice. Holds channels and section-level transforms.

nornir_volumemodel.model.channel

Channel — a named imaging channel within a section. Contains filters and a scale.

nornir_volumemodel.model.scale

Scale — physical scale (units per pixel) on each axis.

nornir_volumemodel.model.transform

Transform — a registration transform linking two coordinate spaces.

nornir_volumemodel.persistance.nornir_xml

XML serialization/deserialization. Call nornir_volumemodel.Load_Xml(path) to load a volume from disk.

Usage

Load a volume from XML:

import nornir_volumemodel

vol = nornir_volumemodel.Load_Xml('/path/to/volume.xml')
for block in vol.Blocks:
    for section in block.Sections:
        print(section.Number, list(section.Channels))

API reference: nornir_volumemodel API