Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Accuracy of identity matrix assumption #7

Open
DanNBullock opened this issue Dec 1, 2021 · 1 comment
Open

Accuracy of identity matrix assumption #7

DanNBullock opened this issue Dec 1, 2021 · 1 comment

Comments

@DanNBullock
Copy link

def check_affine(affine):
if affine[0][0] != 1: results['warnings'].append("transform matrix 0.1 is not 1")
if affine[0][1] != 0: results['warnings'].append("transform matrix 0.2 is not 0")
if affine[0][2] != 0: results['warnings'].append("transform matrix 0.2 is not 0")
if affine[1][0] != 0: results['warnings'].append("transform matrix 1.0 is not 0")
if affine[1][1] != 1: results['warnings'].append("transform matrix 1.1 is not 1")
if affine[1][2] != 0: results['warnings'].append("transform matrix 1.2 is non 0")
if affine[2][0] != 0: results['warnings'].append("transform matrix 2.0 is not 0")
if affine[2][1] != 0: results['warnings'].append("transform matrix 2.1 is not 0")
if affine[2][2] != 1: results['warnings'].append("transform matrix 2.2 is not 1")

I could certainly be wrong about this, but I don't think it is the case that T1 images necessarily have an identity matrix here. For example, it could be (for whatever reason) slightly non-orthogonal, and thus have non-zero entries on the off diagonal. Perhaps this is undesirable, and that's what the warning is trying to nudge about? Even so, I believe that it is quite possible for T1 images to have sub-millimeter resolutions (i.e. .75), and it would be strange to nudge them (via warning) about a supererogatory characteristic.

@soichih
Copy link
Collaborator

soichih commented Dec 2, 2021

I agree and I always thought it's odd that we have to make this assumption, but I was told in the past that without affine being ident subsequent processing might fail. I think LAS vs RAS is also the same type of assumption. Ideally, all of our apps should work equally well with data being either LAS or RAS..

This is a very old assumption, so if we know that all of our App works well with non ident affine, then we can just drop this warning.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants