Background
As an initial implementation the itk_dreg.block subpackage provides ease-of-use methods for mapping between voxel and physical spaces based on metadata from itk.Image, NumPy, and Dask region specifiers. In several cases the itk_dreg.block subpackage estimates axis-aligned bounding boxes in physical space to describe image domains.
Current Behavior
Axis-aligned bounding boxes may not be fully descriptive of image regions in several cases:
- If the image direction matrix indicates axis rotation other than 90 degree increments, a bounding box composed from the corners of the image may fail to fully encompass image content in XYZ physical space.
- If the image direction matrix describes nonorthogonal axes, it is not well defined how a bounding box may encompass image content. This case is not currently supported by
itk-dreg (axes must be orthogonal).
- If a generic transform is applied, image warping may result in a content region that cannot be well described by a bounding box.
Requested Behavior
Revisit the itk_dreg.register and itk_dreg.block submodules and consider the following:
- Can we update
itk_dreg.block methods to return oriented bounding boxes (unbuffered itk.Images) instead of assuming axis alignment?
- Are there cases where other descriptors may be more appropriate to describe transformed image domains? Meshes, shape descriptors, etc? Perhaps adaptable for domain-specific use cases?
Background
As an initial implementation the
itk_dreg.blocksubpackage provides ease-of-use methods for mapping between voxel and physical spaces based on metadata fromitk.Image, NumPy, and Dask region specifiers. In several cases theitk_dreg.blocksubpackage estimates axis-aligned bounding boxes in physical space to describe image domains.Current Behavior
Axis-aligned bounding boxes may not be fully descriptive of image regions in several cases:
itk-dreg(axes must be orthogonal).Requested Behavior
Revisit the
itk_dreg.registeranditk_dreg.blocksubmodules and consider the following:itk_dreg.blockmethods to return oriented bounding boxes (unbuffereditk.Images) instead of assuming axis alignment?