Print

Print


Hi Nas, Hi Matt,

The idea (or hack..) behind the distance correction is the following:  
instead of calculating the probability p(A->B) which decreases when  
the distance from A to B increases, we multiply this probability by  
the expected length of the A->B connection E(length(A->B)).

This expected length can be directly calculated from the samples  
within the probtrackx code: The product p(A->B)*E(length(A->B)) is  
simply the sum of the lengths (at B) of all sample tracts that depart  
from A and reach B (devided by the total number of samples). So in  
practice, all we need to do in the code is, instead of storing the  
number of samples reaching a voxel, we store the length that a sample  
has accumulated so far (added to the same quantity from previous  
samples).

[to be more precise, here p(A->B) is in fact #{samples}*p(A->B) which  
allows us to store counts (integers) rather than probabilities  
(floating points)]. So the result of the product above is also scaled  
by the total number of samples, which defaults to 5000].


Unfortunately, we do not store p(A->B) when the --pd option is on, so  
you will need to run probtrackx twice if you want both p(A->B) and  
E(length(A->B)).

Finally, I agree that the expected tract length is dependent on the  
size of the head, but so is p(A->B) [probabilities will decrease with  
distance]. The correction being applied within subject, it might be  
beneficial to use the --pd option for each individual. However, you  
need to keep in mind that it is just a hack with no particular  
theoretical foundation...


Cheers,
Saad.




On 3 Aug 2009, at 21:07, Nasim wrote:

> Hello Matt,
>
> I would like to ask 3 follow up questions on my previous question  
> please:
>
> 1- How is 'the average distance to the target' calculated for each  
> voxel?
> 2- Could I get the '#samples' and 'the average distance to the  
> target values' separately rather than their product?
> 3- If I want to do some sort of group averaging of my results  
> wouldn't it make more sense if I don't use --pd option for each  
> individual object. My sense is that the average distance to the  
> target scales with the head size and maybe combining measures of the  
> number of samples would make more sense. What would you recommend?
>
> Sincerely,
> Nas
>
>
>
> --- On Thu, 7/30/09, Matt Glasser <[log in to unmask]> wrote:
>
> From: Matt Glasser <[log in to unmask]>
> Subject: Re: [FSL] Connectivity-Based Seed Classification: >5000  
> results?
> To: [log in to unmask]
> Date: Thursday, July 30, 2009, 5:33 PM
>
> Well, then the numbers in any voxel are #samples that reached the  
> target X average distance to the target, which is why they are  
> bigger than 5000.
>
>
> Peace,
>
>
> Matt.
>
>
> From: FSL - FMRIB's Software Library [mailto:[log in to unmask]] On  
> Behalf Of Nasim
> Sent: Thursday, July 30, 2009 4:03 PM
> To: [log in to unmask]
> Subject: Re: [FSL] Connectivity-Based Seed Classification: >5000  
> results?
>
>
> Hi Matt,
>
>
> Thanks for your note. Yes, I did use the --pd option.
>
>
> Thanks again,
>
> Nas
>
> --- On Thu, 7/30/09, Matt Glasser <[log in to unmask]> wrote:
>
>
> From: Matt Glasser <[log in to unmask]>
> Subject: Re: [FSL] Connectivity-Based Seed Classification: >5000  
> results?
> To: [log in to unmask]
> Date: Thursday, July 30, 2009, 1:44 PM
>
> Did you use distance correction (the --pd option)?
>
>
> Peace,
>
>
> Matt.
>
>
> From: FSL - FMRIB's Software Library [mailto:[log in to unmask]] On  
> Behalf Of Nasim
> Sent: Thursday, July 30, 2009 12:35 PM
> To: [log in to unmask]
> Subject: [FSL] Connectivity-Based Seed Classification: >5000 results?
>
>
> Hi all,
>
>
> I'm output f my connectivity-based seed classification results,  
> there are voxels for which I have values above 5000 (Number of  
> Samples in PROBTRCKX). How does this happen and what does it mean?
>
>
> Thanks for your help,
>
> Nas
>
>
>
>



--
Saad Jbabdi
University of Oxford, FMRIB Centre

JR Hospital, Headington, OX3 9DU, UK
+44 (0) 1865 222523  (fax 717)
www.fmrib.ox.ac.uk/~saad