AFNI Message Board

Dear AFNI users-

We are very pleased to announce that the new AFNI Message Board framework is up! Please join us at:

https://discuss.afni.nimh.nih.gov

Existing user accounts have been migrated, so returning users can login by requesting a password reset. New users can create accounts, as well, through a standard account creation process. Please note that these setup emails might initially go to spam folders (esp. for NIH users!), so please check those locations in the beginning.

The current Message Board discussion threads have been migrated to the new framework. The current Message Board will remain visible, but read-only, for a little while.

Sincerely, AFNI HQ

History of AFNI updates  

|
March 31, 2015 05:29PM
Hi gurus,

I'm playing around with an idea for more slice-aware motion correction and wonder if there is a way to apply a weight to the source dataset as well as the base in 3dvolreg or 3dAllineate.

The idea is to compute the motion parameters for a given slice by shifting some slices in the source one TR such that each time point represented among the slices in a given volume is closer than TR/2 to the time point of the given slice in that volume, and to align these volumes to the base with a weight somehow dependent on their temporal proximity to the given slice. This would make it much more likely that each slice is registered based on slices acquired while the subject's head was in the same position.

The obvious problem with this method is that it will only work as well as any other partial volume registration scheme, but I have some ideas to address this since in this case the transformations should be correct on average, so any systematic deviation of the transformation for a given slice from the mean can be considered to be a failure of the partial volume registration.

Currently, the best idea I can come up with is to swap the base and source, use 3dAllineate -autoweight to estimate a good starting point for the weight, multiply this by my own weight, do the alignment, invert the resulting matrix, and repeat for the next slice/brick combo. But this involves running 3dAllineate at least 2*z*t times, and the weight dataset is generated from my (possibly motion corrupted) source instead of my (chosen for quality) base. While I'm coding up this monstrosity, does anyone else have a better idea?

ijs
Subject Author Posted

Alignment with weighted source (in addition to weighted base)

Isaac Schwabacher March 31, 2015 05:29PM