ecr05 / MSM_HOCR

Multimodal Surface Matching with Higher order Clique Reduction: Mac OS and Linux binaries
35 stars 10 forks source link

How to determine the refdata? #23

Open JinFeng-Wu opened 1 year ago

JinFeng-Wu commented 1 year ago

Hi Emma,

I'm so confused why and how to determine the refdata (--refdata=*.func.gii)?

Different refdata could lead to different results or it is just a reference of coordinates and space?

JF

ecr05 commented 1 year ago

Guidance for usage is given on the FSL list https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/MSM

JinFeng-Wu commented 1 year ago

Thank you, I read your guidance carefully, honestly, it's very hard to comprehend, and I don't find the answer of the usage and influence of refdata, can you explain a little bit more?

ecr05 commented 1 year ago

Not any more clearly than that no.

The algorithm works by aligning the cortices after the surface features have been protected onto the sphere. So the surfaces you pass have to be spheres and the matching is working to align some data on the surface. In the simplest case that would be a sulcal depth file (a sulc.shape.gii) but it could be a functional file (a func.gii). You need one file for the input mesh and one for the reference mesh (hence --refdata)

JinFeng-Wu commented 1 year ago

The explanation is clear, I got the rationale.

But how can I create such a func ref data, or put it this way, are different func ref data make a difference for alignment?

ecr05 commented 1 year ago

They come out of the HCP processing pipelines by default

JinFeng-Wu commented 1 year ago

This is important I think, do you have any idea how to generate it. Because I checked the scripts of HCP, it is very complex to understand and hard to find out the code snippet.

JinFeng-Wu commented 1 year ago

Hey Emma, I think if your algorithm is going to be widely used, one of the big problems is that people don't use HCP pipelines to come up with the data, and you don't explain how the files are generated, which is a huge obstacle to your algorithm being widely used. I already checked the HCP pipeline MSMALL part, it's really hard to understand how to generate the reference data.

ecr05 commented 1 year ago

This conversation should really be had on the FSL or HCP list as it is not about the code itself. You can only run MSM with surface meshes. For that you need to have run a Freesurfer style pipeline with all comparable outputs as explained in the wiki and pipeline papers. If your issue is one of file conversion then I imagine that is already answered somewhere on the HCP mailing list I believe Freesurfer has a command to convert fl to the gifti file type. I think there might be MATLAB conversion code from vtk.

JinFeng-Wu commented 1 year ago

Thank you for your answer.