InsightSoftwareConsortium / InsightSoftwareConsortium/itk-dreg

Review underlying axis alignment assumptions

Open
#17 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.