Hi Kristen,
I'm happy to send you a copy of my 2008 Cerebral Cortex paper, but it does
not have anything about probabilistic tractography thresholding in it, just
let me know. What you say in your latest e-mail below is correct for intra
subject comparisons. Keep in mind that that command only thresholds your
data, normalization would require you to divide the data by the total number
of samples sent out or the waytotal (but this is not necessary in this
case).
For intersubject comparisons, you may want to consider normalizing using the
waytotal if you want to generate thresholded pathways of similar size across
subjects. This is intended to remove differences related to trackability,
but may also remove interesting inter-subject differences in pathway size.
One way to get around this issue is to normalize based on a "control"
pathway, which you do not anticipate will vary across subjects in a
biologically meaningful way. Thus, you could theoretically remove global
trackability differences without affecting biological differences in the
pathway of interest. Assuming identical ROI size of the ROIs used to track
the control tract, you could divide the tract of interest by the waytotal of
the control tract to generate a normalized tract of interest (on the
assumption that differences in that waytotal are due entirely to
trackability differences). Keep in mind that I haven't actually done this
and perhaps someone else can think of theoretical problems with this (not to
mention practical ones). We did this in a qualitative sense in Rilling et
al (2008), by showing that we were able to track robust CST and cingulate
pathways in all species, but not a robust arcuate. In terms of
thresholding, we only normalized for ROI size in Rilling et al (2008)
because waytotal had not been implemented yet.
Regarding the exact percentage, it was not 2-6% but rather 2.0 X 10^-6%
(much lower). See also
https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=ind0811&L=FSL&P=R44426. A
word of caution with the total number of samples sent out approach: if your
ROIs contain significant numbers of voxels from which the pathway is not
tracked, you will end up over thresholding your data.
Regarding an FA threshold, I think it would be more appropriate to segment
your structural images and find the FA values that lie both in the white
matter as defined by your structural and your thresholded pathway.
Overall, what you suggest in your latest e-mail is probably fine, and we
have published using that method. I though I would make sure you are aware
of its limitations and other potential options I can think of.
Peace,
Matt.
-----Original Message-----
From: FSL - FMRIB's Software Library [mailto:[log in to unmask]] On Behalf
Of Lindgren, Kristen, Ann
Sent: Friday, March 27, 2009 11:21 AM
To: [log in to unmask]
Subject: Re: [FSL] Post probtrackx analyses - thresholds for fdt_paths
Thanks, Cherif. I did see that thread about thresholding, and from what
parts I understood, it seemed like using the total number of streamlines
sent out may be the best method for my analyses (it sounds like Matt Glasser
was doing something similar to mine, and he said that he found that method
best for looking at for example asymmetries within subjects).
So, putting all of this info together, this is what I'm planning on doing.
Let me know if this sounds kosher.
To calculate my threshold, I will add the # of voxels in both seeding points
(# of voxels ROI1 + # of voxels ROI2), multiply that by the number of
streamlines per voxel (5000), and then multiply that result by the same
percentage for each subject.
So my fslmaths command would like this:
fslmaths fdt_paths -thr valuefromabove -bin -mul dti_FA_str fdt_paths_norm
-odt float
And just checking, because I'm using the percentage of total samples sent
out as my normalizing factor, I don't need to incorporate the waytotal
values into any of my equations.
Phew! Here's hoping I finally got it...
Kristen
-----Original Message-----
From: FSL - FMRIB's Software Library on behalf of Cherif Sahyoun
Sent: Fri 3/27/2009 11:49 AM
To: [log in to unmask]
Subject: Re: [FSL] Post probtrackx analyses - thresholds for fdt_paths
Hi Kristen,
Yes, because of differences in "trackability" across subjects (there's
a very interesting thread on that), and because of differences in seed
masks size, you want to apply some kind of normalization to your tract
values before thresholding. That will ensure you threshold out the
same proportion of voxels in all your subjects.
Since you seem to be interested in FA and volume mostly, I don't think
it matters if you use waytotal, the max tract value, or the total
number of streamlines sent out, but there are differences there (see
previous threads).
waytotal = total number sent - excluded streamlines (i.e. waytotal =
number of streamlines that "made it")
streamlines are excluded if you have a waypoint (which you don't), or
exclusion criteria/masks.
You can calculate the total number sent by multiplying the number of
streamlines sent/voxel (from your probtrackX command) by the size of
your seed (fslstats <seed mask> -V).
Now to apply your normalization factor, you can use
fslmaths fdt_paths -div <waytotal> fdt_paths_norm
(or include this operation in the fslmaths command you already have).
Note that since your waytotal is different in all subjects (hence the
need to do this in the first place), you'll need to extract the
waytotal value for each and apply it separately.
Then you will look at your normalized paths and play around to find
the % threshold you want to use (now the same for all subjects). and
apply that.
Sorry if this reply jumps around a bit, I'm in a rush, and I probably
missed some of your questions, but hopefully it helps.
I just saw your last message. Using the total number of voxels in your
seeds is basically the same as using the total number sent out, since
hopefully you used the same number of streamlines sent out for
everything.
Best,
Cherif.
----------------------------------------------------------------------------
--------------
Cherif P. Sahyoun HST-MEMP
Developmental Neuroimaging of Cognitive Functions
C: 617 688 8048
H: 617 424 6956
[log in to unmask]
"Live as if this were your last day. Learn as if you'll live forever"
Gandhi
----------------------------------------------------------------------------
---------------
On Fri, Mar 27, 2009 at 8:44 AM, Lindgren, Kristen, Ann <[log in to unmask]> wrote:
> Whoops, so as followup to my question, I should note that I'm trying to
figure out what was meant in the FSL list thread #017802 and its replies.
I've looked at the Rilling (2008) paper (trying to get a copy of Matt
Glaser's 2008 paper) and read Matt's response:
>
> "I think two things are important: 1) That you use a consistent percentage
of the total number of samples sent out for each tract across subjects (so
that tracts created by larger ROIs, and thus have more total samples sent
out, have higher thresholds) and 2) That in setting the percentage that you
will use, you try a variety of values and see what seems to produce clean
results showing the pathway of interest without many extraneous pathways not
clearly connected to the ROI but at the same time does not remove large
parts of the pathway of interest (because it is too high)."
>
> I used multiple masks for my probtrackx analyses (2 masks only, no
waypoints), so would I still find the total number of samples sent out for
each tract in the waytotal file? If so, which number is that? There are
two numbers in mine. Is the first number the number sent from ROI1 and the
second is the number sent from ROI2, in which case I would just add them and
make my threshold a consistent percentage of that number?
>
> I guess I'm just confused as to how to implement in my data what Matt
recommended in the quote above. It seems that Matt found thresholds of 2-6%
of total samples sent out worked well for his dataset using structural space
seeding points (similar to my study). So if I'm understanding correctly, I
would set the threshold for each subject for fdt_paths in fslmaths as a set
percentage of the sum of the two values in waypoint.txt. I'm still trying
to get a hold of Matt's DTI tractography of language pathways paper to see
what he used as a threshold, so any guidance on where to start would be
great.
>
> Thanks so much!
>
> Kristen
>
>
> -----Original Message-----
> From: FSL - FMRIB's Software Library on behalf of Lindgren, Kristen, Ann
> Sent: Thu 3/26/2009 10:56 PM
> To: [log in to unmask]
> Subject: [FSL] Post probtrackx analyses - thresholds for fdt_paths
>
> I was looking through some e-mails that I had saved about thresholding
with probtrackx, but I'm still unsure if I'm thresholding my fdt_paths
outputs properly so I wanted to double check one last time before committing
to my analyses. Any thoughts, concerns, or advice are greatly appreciated.
>
> Here's what I've done:
> 1) I used two freesurfer gray matter parcellation labels as seeding points
in probtrackx for each subject. There is a known connection between these
two regions.
>
> 2) Now I'm pulling out the average FA and volume of the resulting
fdt_paths using these formulas (thanks again to Steve for helping me figure
out this one!)
>
> fslmaths fdt_paths -thr 50 -bin -mul dti_FA_str fdt_paths_values
> fslstats fdt_paths_values -M -V
>
> So here are my concerns:
>
> 1) I've been using 50 as my threshold for each subject (used the default
value of 5000 samples for probtrackx). Is this correct? Or should I be
customizing this per subject since the volumes of the seeding points vary
across subjects? If I should be varying it, what should I be basing my
thresholds on for each subject? Any references in support of either method?
>
> 2) Should I only be including voxels that have an FA value above a certain
threshold? If so, anyone know of a paper that has looked at the normal
range of FA values for white matter?
>
>
> Sorry for the ton of questions lately, I'm just in the last stretch of my
dissertation analyses and I want to make sure I'm doing things correctly
before moving forward. Thanks so much for all of your help. I really
appreciate it!
>
> Kristen
>
|