Print

Print


I am not sure.
I have not used old probtrackx myself, but it was coded long time ago, so probably is less efficient?

Moises.

On 4 February 2018 at 17:34, Dianne Patterson <[log in to unmask]> wrote:
Interestingly, it looks like probtrackx2 is finishing each iteration in under an hour, whereas probtrackx too 2.5-3 hours per iteration.
This is terrific (unless it is unexpected).  Probtrackx2 is getting similar seed-to-mask volumes, so I'm delighted. 
Is it the case that probtrackx2 is significantly faster than probtrackx?

Dianne



On Sun, Feb 4, 2018 at 11:44 AM, Dianne Patterson <[log in to unmask]> wrote:
Moises, it is off and running and seems to be retaining the size of the seeds-to-target.  Thank you SO MUCH for the troubleshooting.  I don't know that i ever would have identified this problem.

-Dianne

On Sun, Feb 4, 2018 at 2:06 AM, Moises Hernandez <[log in to unmask]> wrote:
Hi Dianne, 
after few tests, I think I found the problem, which was in probtrackx, not in probtrackx2, although this will not affect your previous results.

The option -f (it uses fractional anisotropy for stopping streamlines) is very restrictive.
Given that streamlines have to cross many voxels, it is quite probable that in some of them they stop.
So, I would not use it.

Then, it seems that in probtrackx this option was not having effect (it was never activated, even if added in the command)
whereas in probtrackx2 is activated when you include it in the command.

Please, try again probtrackx2 without this flag. It should give you similar results (probably not exactly the same) to probtrackx.

Moises.



On 3 February 2018 at 22:36, Dianne Patterson <[log in to unmask]> wrote:
probtrackx2 call:
dpat@Saci:/Volumes/Main/Exps/Data/BIP_ROTMAN/YC/sub-5167% probtrackx2 -x /Volumes/Main/Exps/Data/BIP_ROTMAN/YC/derivatives/sub-5167/subjectrois/atl_r_diff_bin_csf -l -c 0.2 -S 2000 --steplength=0.5 -P 5000 --stop=/Volumes/Main/Exps/Data/BIP_ROTMAN/YC/derivatives/sub-5167/subjectrois/unc_r_inv_mask_diff_bin_csf --forcedir -f -s /Volumes/Main/Exps/Data/BIP_ROTMAN/YC/derivatives/sub-5167/dwi/Bed.bedpostX/merged -m /Volumes/Main/Exps/Data/BIP_ROTMAN/YC/derivatives/sub-5167/dwi/Bed.bedpostX/nodif_brain_mask --dir=/Volumes/Main/Exps/Data/BIP_ROTMAN/YC/derivatives/sub-5167/dwi/unc_r_bip --targetmasks=/Volumes/Main/Exps/Data/BIP_ROTMAN/YC/derivatives/sub-5167/dwi/unc_r_bip/targets.txt  --os2t
Log directory is: /Volumes/Main/Exps/Data/BIP_ROTMAN/YC/derivatives/sub-5167/dwi/unc_r_bip
Running in seedmask mode
load seeds
done.
Load bedpostx samples
1_1
1_2
1_3
2_1
2_2
2_3
3_1
3_2
3_3

nfibres  : 3
nsamples : 50

Done loading samples.
Volume seeds
volume 1

time spent tracking: 159 seconds

save results
finished

fslstats seeds_to_frontal_orbital_r_diff_bin_csf.nii.gz -V
2 21.296003
==================

=======================
probtrackx call:

dpat@Saci:/Volumes/Main/Exps/Data/BIP_ROTMAN/YC/sub-5167% probtrackx --network --mode=seedmask -x /Volumes/Main/Exps/Data/BIP_ROTMAN/YC/derivatives/sub-5167/subjectrois/atl_r_diff_bin_csf -l -c 0.2 -S 2000 --steplength=0.5 -P 5000 --stop=/Volumes/Main/Exps/Data/BIP_ROTMAN/YC/derivatives/sub-5167/subjectrois/unc_r_inv_mask_diff_bin_csf --forcedir -f --opd -s /Volumes/Main/Exps/Data/BIP_ROTMAN/YC/derivatives/sub-5167/dwi/Bed.bedpostX/merged -m /Volumes/Main/Exps/Data/BIP_ROTMAN/YC/derivatives/sub-5167/dwi/Bed.bedpostX/nodif_brain_mask --dir=/Volumes/Main/Exps/Data/BIP_ROTMAN/YC/derivatives/sub-5167/dwi/unc_r_bip --targetmasks=/Volumes/Main/Exps/Data/BIP_ROTMAN/YC/derivatives/sub-5167/dwi/unc_r_bip/targets.txt --os2t
Log directory is: /Volumes/Main/Exps/Data/BIP_ROTMAN/YC/derivatives/sub-5167/dwi/unc_r_bip
1_1
1_2
1_3
2_1
2_2
2_3
3_1
3_2
3_3
7
Number of masks 1
loading target masks - stage 1
1
loading target masks - stage 2
1
sl 0
sl 1
sl 2
sl 3
sl 4
sl 5
sl 6
sl 7
sl 8
sl 9
sl 10
sl 11
run
35 58 11
run
34 59 11
run
38 59 11
run
39 59 11
sl 12
run
38 58 12
run
39 58 12
run
40 58 12
run
33 59 12
run
34 59 12
run
36 59 12
run
37 59 12
run
38 59 12
^C (Here I kill it because it is obviously doing fine)

-Dianne

On Sat, Feb 3, 2018 at 4:14 PM, Moises Hernandez <[log in to unmask]> wrote:
Ok, I see.
Does it print any message?  ... I mean probtrackx2  

On 3 February 2018 at 17:59, Dianne Patterson <[log in to unmask]> wrote:
I should also note that probtrackx2 finishes in just a few minutes...as if it isn't really engaging in the task.
-Dianne

On Sat, Feb 3, 2018 at 3:41 PM, Dianne Patterson <[log in to unmask]> wrote:
I see what you mean, I am iterating back and forth between the 2 seed masks...I must have grabbed different iterations for my last example (which makes things harder for you...sorry). Here is the first iteration of each of them:

probtrackx --network --mode=seedmask -x subjectrois/atl_r_diff_bin_csf -l -c 0.2 -S 2000 
--steplength=0.5 -P 5000 --stop=subjectrois/unc_r_inv_mask_diff_bin_csf --forcedir -f --opd 
-s dwi/Bed.bedpostX/merged -m dwi/Bed.bedpostX/nodif_brain_mask 
--dir=dwi/unc_r_bip --targetmasks=dwi/unc_r_bip/targets.txt --os2t 

fslstats seeds_to_frontal_orbital_r_diff_bin_csf.nii.gz -V
1791 19070.572266
==============================
probtrackx2 -x subjectrois/atl_r_diff_bin_csf -l -c 0.2 -S 2000 
--steplength=0.5 -P 5000 --stop=subjectrois/unc_r_inv_mask_diff_bin_csf --forcedir -f 
-s dwi/Bed.bedpostX/merged -m dwi/Bed.bedpostX/nodif_brain_mask 
--dir=dwi/unc_r_bip --targetmasks=dwi/unc_r_bip/targets.txt --os2t 

fslstats seeds_to_frontal_orbital_r_diff_bin_csf.nii.gz -V
2 21.296003
=============================
Thank you for spending time helping me with this.

-Dianne


On Sat, Feb 3, 2018 at 1:08 PM, Moises Hernandez <[log in to unmask]> wrote:
mmmm are you using the same seed mask?

-x subjectrois/frontal_orbital_r_diff_bin_csf
-x subjectrois/atl_r_diff_bin_csf

On 3 February 2018 at 15:02, Dianne Patterson <[log in to unmask]> wrote:
Thank you Moises,
Here is the command I am running in probtrackx:

probtrackx --network --mode=seedmask -x subjectrois/frontal_orbital_r_diff_bin_csf -l -c 0.2 -S 2000 --steplength=0.5 -P 5000 --stop=subjectrois/unc_r_inv_mask_diff_bin_csf --forcedir -f --opd -s dwi/Bed.bedpostX/merged -m dwi/Bed.bedpostX/nodif_brain_mask --dir=dwi/unc_r_bip --targetmasks=dwi/unc_r_bip/targets.txt --os2t  

I found I cannot simply call probtrackx2 with the same flags, and I've tried various alternative options based on the gui and reading.  I am primarily interested in the seeds-to-target masks that get generated. Clearly I'm doing something very wrong. Here is one of the options I tried in probtrackx2 (but all of the options I've tried have similar results):

probtrackx2 -x subjectrois/atl_r_diff_bin_csf -l -c 0.2 -S 2000 --steplength=0.5 -P 5000 --stop=subjectrois/unc_r_inv_mask_diff_bin_csf --forcedir -f --opd -s dwi/Bed.bedpostX/merged -m dwi/Bed.bedpostX/nodif_brain_mask --dir=dwi/unc_r_bip --targetmasks=dwi/unc_r_bip/targets.txt --os2t

(In both cases I have shortened the paths in this email to make the commands easier for us to read)

result using probtrackx command above:
fslstats seeds_to_frontal_orbital_r_diff_bin_csf.nii.gz -V
1791 19070.572266

result using probtrackx2 command above:
fslstats seeds_to_frontal_orbital_r_diff_bin_csf.nii.gz -V
2 21.296003

What am I missing?

Thanks so much,

Dianne


On Sat, Feb 3, 2018 at 12:25 PM, Moises Hernandez <[log in to unmask]> wrote:
Dianne, probtrackx2 has not lost any functionality (what function do you think it has lost?).
It is the opposite, it has added functionality. 

What exact commands (probtrackx & probtrackx) are you using for comparing the results? 

Moises.

On 3 February 2018 at 14:10, Dianne Patterson <[log in to unmask]> wrote:
Thank you Michiel, for your suggestion r probtrackx2.  

I have tried the probtrackx2 command as you suggested above both with and without the --opd flag.
Neither is anywhere close to the probtrackx run on the same tract.  The probtrackx run retains a lot of voxels in the two endpoint masks...but probtrackx2 does not retain them (it goes to 0 or 1 voxel retained pretty quickly).

I am surprised to find that probtrackx2 is so different, and that I have apparently lost functionality in probtrackx2 vs probtrackx. I suppose I could continue using probtrackx, but I'd love to understand what is going on here.

Thanks for your time,

Dianne




On Fri, Feb 2, 2018 at 3:33 AM, Michiel Cottaar <[log in to unmask]> wrote:
Hi Dianne,

I suspect that the difference in behaviour is not due to the --mode or even the --network mask, but in the original probtrackx you specify a set of classification targets (through the flags: " --targetmasks=sub-5167/dwi/unc_r_bip/targets.txt --os2t “), however in the new command you choose to output only the path distribution (--opd flag) What happens if you run the probtrackx2 with the same flags as the original probtrackx command, but without the —network or --mode option:
probtrackx2  -x sub-5167/subjectrois/frontal_orbital_r_diff_bin_csf -l -c 0.2 -S 2000 --steplength=0.5 -P 5000 --stop=sub-5167/subjectrois/unc_r_inv_mask_diff_bin_csf --forcedir -f --opd -s sub-5167/dwi/Bed.bedpostX/merged -m sub-5167/dwi/Bed.bedpostX/nodif_brain_mask --dir=sub-5167/dwi/unc_r_bip --targetmasks=sub-5167/dwi/unc_r_bip/targets.txt —os2t 

Good luck,

Michiel


On 1 Feb 2018, at 01:30, Dianne Patterson <[log in to unmask]> wrote:

Dear dti experts:
I was hoping to move from probtrackx to probtrackx2, but it seems more complex than I had anticipated:

I can run this command:
probtrackx --network --mode=seedmask -x sub-5167/subjectrois/frontal_orbital_r_diff_bin_csf -l -c 0.2 -S 2000 --steplength=0.5 -P 5000 --stop=sub-5167/subjectrois/unc_r_inv_mask_diff_bin_csf --forcedir -f --opd -s sub-5167/dwi/Bed.bedpostX/merged -m sub-5167/dwi/Bed.bedpostX/nodif_brain_mask --dir=sub-5167/dwi/unc_r_bip --targetmasks=sub-5167/dwi/unc_r_bip/targets.txt --os2t 

probtrackx2  -x sub-5167/dwi/unc_l_bip/masks.txt -l --onewaycondition -c 0.2 -S 2000 --steplength=0.5 -P 5000 --fibthresh=0.01 --distthresh=0.0 --sampvox=0.0 --stop=sub-5167/subjectrois/unc_l_inv_mask_diff_bin_csf.nii.gz --forcedir --opd -s sub-5167/dwi/Bed.bedpostX/merged -m sub-5167/dwi/Bed.bedpostX/nodif_brain_mask --dir=sub-5167/dwi/unc_l_bip
---------------------------------------------
probtrackx2 does not support --mode=seedmask
Is there some equivalent?

In addition, if I remove --mode=seedmask, probtrackx2 complains about --network.  When I remove that as well, probtrackx2 behaves very differently than the original probtrackx command.

I have tried probtrackx2 with and without the bolded flags --onewaycondition  --fibthresh=0.01 --distthresh=0.0 --sampvox=0.0 (these are added to the command when I run with the gui).  These also do not seem to make any difference.
============
I was running the original probtrackx command iteratively to look at the resulting size of the two grey matter masks.  I don't understand how to replicate the original behavior with probtrackx2.

Any help would be appreciated.

Thanks,

Dianne


--
Dianne Patterson, Ph.D.
Research Scientist
[log in to unmask]
or 
[log in to unmask]
University of Arizona
Speech and Hearing Science 314
1131 E 2nd Street, Building #71
(Just East of Harvill)
==============
If you don't hear back from me (and you expected to), 
I blame the University's new SPAM filter.
Please write to my gmail account.
==============
Antipiphany: That moment when you realize how little you actually know
==============