Hi Sourena
No need to merge the files. The matrix will contain entries for all those files in the order that has been provided by the user.
There will also be an output called coords_for_matrix1 where the last column indicates which file each coordinate originated from.
Saad
On 10 Jul 2012, at 16:48, Sourena Soheili wrote:
> Hi Saad,
> Just looking for an expert confirmation, Will --omatrix1 work fine
> with "multiple" seed surfaces (I mean freesurfer and FIRST)? Won't
> this need to merge surfaces in a single .vtk or .asc format?
>
> Cheers,
> Sourena
>
> On 7/10/12, Saad Jbabdi <[log in to unmask]> wrote:
>> Hi
>> you can speed things up if you include all the targets into the same
>> probtrackx2 call, instead of running target by target.
>> You can also do all seeds to all targets in a single call using --omatrix1,
>> but as I said you may need to reduce the number of vertices (to around 10K
>> to 30K depending on how much RAM you have).
>>
>> Cheers
>> Saad
>>
>>
>> On 5 Jul 2012, at 19:13, bi foc wrote:
>>
>>>
>>> Hi Saad,
>>>
>>> I think I'm getting there. You warned me in your first reply, but I seem
>>> to have seriously underestimated the amount of CPU hours I need for this
>>> connectome approach. :-)
>>> First is still running, so I'm working with 'only' 150 cortical rois.
>>> Assuming I'm doing everything right, right now every region 2 region
>>> tracking seems to cost around 40 minutes. I have 100 subjects....
>>>
>>> This is what I'm doing right now (testing with just two freesurfer labels
>>> converted to .asc).
>>>
>>> probtrackx2
>>> -x /home/FreesurferSubjects/1/labels/aparc-lh-043.asc
>>> --targetmasks=/home/FreesurferSubjects/1/labels/aparc-lh-041.asc
>>> --seedref=/home/FreesurferSubjects/1/mri/orig.nii.gz
>>> --xfm=/home/FreesurferSubjects/1/FS2Bedpost.mat
>>> -m /home/Bedpost/1.bedpostX/nodif_brain_mask.nii.gz
>>> -s /home/Bedpost/1.bedpostX/merged
>>> --dir=/home/Bedpost/1.bedpostX/tracks4341
>>> --forcedir
>>> --meshspace=freesurfer
>>> --os2t
>>> --s2tastext
>>>
>>> I am already searching for cluster solutions. I still need to get the time
>>> down.
>>>
>>> I tried your suggestion: reducing the amount of vertices:
>>>
>>> mris_decimate lh.white lh.white_reduced -d 0.5
>>> and then again
>>> label2surf --surf=/home/FreesurferSubjects/1/surf/lh.white_reduced.asc
>>> --out=/home/FreesurferSubjects/1/labels/aparc-lh-043_reduced.asc
>>> --labels=/home/FreesurferSubjects/1/labels/aparc-lh-043.path
>>>
>>> before:
>>> surfer: vertices=138108, faces=276212
>>> after:
>>> surfer: vertices=69055, faces=138106
>>>
>>> Half the amount of triangles halves the tracking time. Of course, one
>>> would be tempted to bring it even further down. How low could I go?
>>>
>>> Do you have other tricks for speeding things up? for instance, using the
>>> ventricles and grey matter of subcortical areas as exclusion masks?
>>>
>>>
>>> Thank you very much for your help!
>>>
>>> Bernd
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> Date: Fri, 29 Jun 2012 14:29:37 +0100
>>> From: [log in to unmask]
>>> Subject: Re: [FSL] (to saad) some directions for Freesurfer N to N surface
>>> tracking with probtrackx2
>>> To: [log in to unmask]
>>>
>>> Hi Bernd
>>>
>>>
>>> Hi Saad,
>>>
>>> Thank you for your response. I have two additional questions:
>>>
>>> If I want to have my results as a connectivity matrices as well, would
>>> your command work with --omatrix2?
>>>
>>> No, you will have to produce that matrix as a post-proc. Sorry.
>>>
>>>
>>> I would like to work with subcortical surfaces from first and cortical
>>> surfaces from freesurfer. First has been run with an average of two t1's
>>> (manually betted). Freesurfer has been run with the same two T1's, but it
>>> averaged and stripped itself. This means that the inputs are slightly
>>> different off course.
>>>
>>> I have the feeling that I would need two transformation matrices if I
>>> work with both these surface types (first2dti and freesurfer2dti). That
>>> wouldn't be possible with the single command you provided would it? Would
>>> surf2surf solve this or does this application also 'assume' that the same
>>> T1 was source to both First and Freesurfer?
>>>
>>> You can only use one of the two conventions in probtrackx2. In order to
>>> combine FIRST and FREESURFER surfaces, you can use surf2surf and work in
>>> one the two spaces. If, for example, you use freesurfer as output for
>>> surf2surf, then you should use freesurfer2dti as your transformation in
>>> probtrackx2 for all your surfaces/rois
>>>
>>> cheers
>>> saad
>>>
>>>
>>>
>>> Thank you!
>>>
>>> Bernd
>>>
>>> Date: Tue, 26 Jun 2012 16:34:21 +0100
>>> From: [log in to unmask]
>>> Subject: Re: [FSL] (to saad) some directions for Freesurfer N to N surface
>>> tracking with probtrackx2
>>> To: [log in to unmask]
>>>
>>> Hi Bernd
>>> You can use probtrackx2 with all your ROIs (surfaces and volumes) as both
>>> seeds and targets.
>>>> probtrackx2 -x <asciiListOfROIs> --targetmasks=<asciiListOfROIs> [other
>>>> options]
>>>
>>> The results will be stored as either surface files or volumes depending on
>>> the seeds, and will be called seeds_<i>_to_<target>.
>>>
>>> If you run into RAM issues, which you might do considering how highres the
>>> freesurfer surfaces are, you can either reduce the number of surface
>>> vertices (can't remember what the freesurfer command is for this), or run
>>> the above command for a subset of the seeds.
>>>
>>> Cheers
>>> Saad
>>>
>>>
>>>
>>> On 26 Jun 2012, at 13:30, bi foc wrote:
>>>
>>> Dear Saad and other FSL experts
>>>
>>> I would like to track between all freesurfer surfaces of the 2009 atlas.
>>> I'm very happy with what I've read about the new probtrackx2, but I'm not
>>> not sure how to do this as computationally efficient as possible (I have
>>> quite some participants). Would you be so kind to give me some
>>> directions?
>>>
>>> I have:
>>>
>>> coregistered the DTI t2 to freesurfer with the bedpost output using flirt
>>> and bbregister and inverted this matrix to get freesurfer2dti.mat
>>> converted the freesurfer annotations from the aparc.a2009s.annot files to
>>> .label files using mri_annotation2label for the left and right
>>> hemispheres
>>> converted the subcortical annotations from aseg.mgz to .label files using
>>> mri_cor2label
>>> converted all .label files to .asc files using mris_convert
>>>
>>>
>>> I feel that I now have all the moving parts (hope I got them right). I
>>> would like to track between all the freesurfer surfaces bidirectionally,
>>> perhaps only using the ventricles as exclusion masks. average A>B and B>A
>>> and normalize the averaged values using the sizes of the two regions.
>>> Ideally, I would like to run 'as parallel as possible'. What would be the
>>> best approach?
>>>
>>>
>>> Thank you and kind regards,
>>>
>>> Bernd
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> --
>>> Saad Jbabdi
>>> University of Oxford, FMRIB Centre
>>>
>>> JR Hospital, Headington, OX3 9DU, UK
>>> (+44)1865-222466 (fax 717)
>>> www.fmrib.ox.ac.uk/~saad
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> --
>>> Saad Jbabdi
>>> University of Oxford, FMRIB Centre
>>>
>>> JR Hospital, Headington, OX3 9DU, UK
>>> (+44)1865-222466 (fax 717)
>>> www.fmrib.ox.ac.uk/~saad
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>
>> --
>> Saad Jbabdi
>> University of Oxford, FMRIB Centre
>>
>> JR Hospital, Headington, OX3 9DU, UK
>> (+44)1865-222466 (fax 717)
>> www.fmrib.ox.ac.uk/~saad
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>
--
Saad Jbabdi
University of Oxford, FMRIB Centre
JR Hospital, Headington, OX3 9DU, UK
(+44)1865-222466 (fax 717)
www.fmrib.ox.ac.uk/~saad
|