Hi Joakim,
I had a couple of questions regarding mri_cvs_register (which looks terrific), and couldn't find any answers after a quick search. If I missed an important page or pages, please don't hesitate to send me there.
We are interested in using mri_cvs_register on a large body of subjects. Specifically, I am curious if we should choose a single subject to be the template for this analysis, or whether we can use the fsaverage brain as the template?
You will not be able to use fsaverage as a template as it does not have a corresponding surface and volumetric atlas. We are in the process of building and releasing a CVS atlas, but it is not ready yet, so for now the best thing to do would be to register all your subjects to a randomly selected one.
Second, approximately how long can we expect mri_cvs_register to take for a single CVS alignment? We're running a quad-core Athlon Phenom with 4GB total; mri_cvs_register is getting a single core (ish) in this case?
The longest step at the moment is the volumetric registration which might take about 15 hrs. The rest is about 2 hours.
Yes, it is going to get a single core except when it is reading in and writing the non-linear registration warp. Then it might go up to even 2. I am working on changing this as it causes a bit of a bottleneck.
Finally, what does the output of this function look like? Can we use it with the typical transform processes, or are their dedicated functions to use after the alignment?
"mri_cvs_register --help" gives you the full list of out put files. basically, you will end up with some registered volumes and a set of non-linear warps. The full CVS warp is currently not saved as it takes up a lot of memory. If you want to construct it and apply it to a new volume, you would need to call two functions:
(1) createMorph --out fullCVSmorph.tm3d --template template.mgz \ --subject movingvol.mgz --in gcam nlalign-afteraseg-norm.m3z \ morph el_reg_toTEMPLATE.tm3d
(2) applyMorph --template template.mgz --transform fullCVSmorph.tm3d \ vol movingvol.mgz outputvol.mgz linear
I will add these and more details to the wiki, but please let me know if you have any more questions.
--Lilla