-
Notifications
You must be signed in to change notification settings - Fork 272
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
Update conf2hires #265
Update conf2hires #265
Conversation
bbregister should not need initialization, since T2w is already initialized with FS BBR in PreFreeSurferPipeline
The way this was done previously was with initializing to an identity matrix; however, perhaps using the headers is safer if FreeSurfer behaves correctly. |
I confirmed it worked better than using --init-coreg in our hires data.
Probably it behaves correctly.
2023年5月13日(土) 8:49 glasserm ***@***.***>:
… The way this was done previously was with initializing to an identity
matrix; however, perhaps using the headers is safer if FreeSurfer behaves
correctly.
—
Reply to this email directly, view it on GitHub
<#265 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AD57Y5TPUMP6WSL3SUT6SVTXF3D67ANCNFSM6AAAAAAYADCY7A>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
I don't see any issues with the edit, though I am not too familiar with freesurfer conventions. Should we merge it? |
@mharms should let us know what he thinks. conf2hires was not written by us I think. |
I guess there is also the question of the logic:
If |
What is the motivation/necessity for this proposed change to the |
We have encountered hire-res data of which T2wtoT1w registration was not aligned very well due to initialization of bbregister. HCP pipeline does the initialization using FSL BBR in PreFresurfer, however, bbregister in the conf2hire currently runs the initialization again with 'mri_coreg', which is not needed anymore in HCP pipeline. Using an option of --init-header does not do any initialization in the bbregister then BBR likely works better. This approach is the same as in FreeSurferPipeline-v5.3.sh. |
While seemingly a simple change, I'm concerned about unintended consequences here. Also, "probably it behaves correctly" and "likely works better" are not particularly reassuring regarding my unintended consequences concern. |
This use of mri_coreg was introduced by whomever wrote conf2hires. My original implementation in FS5.3 used the identity matrix as the initialization. If we are initializing by FSL BBR, mri_coreg is likely to worsen the initialization if it does anything at all. |
944f0af#diff-a22b98e4fe1127dcca7f2ffd5af60a5005fd09cc7daa07ce892d471c9c293232R278 So, Matt's edits to the 5.3.0-HCP stream probably didn't make it into the V6 adaptation. NHP is probably just a more challenging application, and exposed that our provided initial coregistration was being disregarded in favor of the freesurfer default (which doesn't expect an existing coregistration of the inputs). It would be nice to know whether |
Using identify matrix is better to exactly follow the 5.3.0-HCP and avoid confusion? |
Assuming that |
Assuming FreeSurfer behaves sensibly, I think init-header would be more robust also. In the FreeSurfer 5.3 case, I don't know if that option was available. |
Thanks. I'd know how @mharms thinks about this, in particular, if it is okay to edit the code of others. I'd support to increase the functionality of FreeSurfer for NHP studies, because FS is in principle so robust and realiable. I also hope a part of which is or will be useful for human studies as well. If needed, we can confirm the effect of edits in a large human dataset. |
conf2hires is in the pipelines because we want to use an edited version, not the related steps that are somewhere inside freesurfer. The purpose of it is for us to edit it for our needs. I think @mharms is mainly worried about not knowing what this edit would have done on subjects we have run the prior version on. |
Yes, perhaps |
This should not have any effect if FS BBR is already working properly. |
In that case, why change it? :) |
Because FS BBR is not working in all usecases. It is working for the AABC usecase. |
This edit brings the FS 6 stream closer to the edits deliberately made to the 5.3.0-HCP stream (and avoids destroying the epi_reg that at least puts some qa messages into a text file to look at the result), which seems like a good thing to me. The point of master is to take in improvements. If the theory of "FS BBR produces indistinguishable results as long as the initialization isn't bad" isn't persuasive enough, then AABC (and any other projects where it might matter) can stick with an older release for yet-to-be-processed data, that is why the releases exist. This concern shouldn't prevent us from making improvements to the development branch. |
I'd note that "--init-header" method only works for structure but not for function and diffuison MRI preprocessing. |
But conf2hires doesn't get used on anything other than structural, right? |
Right. conf2hires should be fine. I was just curious why func and diff did not work with --init-header. |
bbregister should not need initialization, since T2w is already initialized with FS BBR in PreFreeSurferPipeline