InsightSoftwareConsortium / InsightSoftwareConsortium/itk-dreg
Review underlying axis alignment assumptions
- Dominant language
- Python
- Stars
- 6
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
## 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.Image`s) 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?
Contributor guide
Assessment
This issue has not been assessed yet.