[Camino-users] probabilistic tractography

Philip A Cook cookpa at mail.med.upenn.edu
Mon Apr 29 07:54:28 PDT 2013


No worries, it is a legit bug. It happened because the likelihood of all directions in the voxel did not sum precisely to 1.

I have increased the epsilon in r1205 so hopefully this problem should go away. You might see a warning about sampling failure, but this should happen very infrequently. If it does, the program should just use the maximum likelihood vector and carry on, rather than crashing.


On Apr 26, 2013, at 12:59 PM, Mojdeh Zamyadi wrote:

> Sorry for bombarding you with questions! I tried the same command on another subject and I get the same error (at the same spot)! So, this means it's probably not the subject but something with either the AAL atlas mask or the command options. Once again I greatly appreciate your input since I have no idea how to proceed from here! :(
> 
> Thanks,
> -Mojdeh
> 
> On 04/25/2013 10:12 AM, Mojdeh Zamyadi wrote:
>> 
>> tried it with the brain mask:
>> 
>> track -inputfile DTI_ec_VoxelOrder.Bfloat -inputmodel bayesdirac
>> -schemefile bvec_rot.scheme -iterations 50 -seedfile aal_affine.nii.gz
>> -brainmask B0_brain_mask.nii.gz>  bayesianTracts.Bfloatand
>> 
>> and still get the following:
>> 
>> ...
>> 1917    0.9979156
>> 1918    0.9984359
>> 1919    0.9989562
>> 1920    0.9994765
>> 1921    0.9999968
>> 
>> Apr 23, 2013 6:50:34 PM misc.LoggedException logException
>> SEVERE: Exception in thread "main" class misc.LoggedException: target
>> value (0.9999972) is greater than CDF of all vectors in voxel 164 194 38
>>    at
>> tractography.BayesDiracRandomizer.getRandomizedPDs(BayesDiracRandomizer.java:223) 
>>    at
>> tractography.BayesDiracRandomizer.getRandomizedPDs(BayesDiracRandomizer.java:240) 
>>    at
>> tractography.BayesDiracTractographyImage.setVectors(BayesDiracTractographyImage.java:89) 
>>    at
>> tractography.ProbabilisticTractographyImage.getPDs(ProbabilisticTractographyImage.java:72) 
>>    at
>> tractography.NearestNeighbourInterpolator.getTrackingDirection(NearestNeighbourInterpolator.java:36) 
>>    at
>> tractography.EulerFibreTracker.getNextStep(EulerFibreTracker.java:57)
>>    at tractography.FibreTracker.trackFromSeed(FibreTracker.java:353)
>>    at tractography.FibreTracker.trackFromSeed(FibreTracker.java:230)
>>    at apps.StreamlineTractography.execute(StreamlineTractography.java:946)
>>    at apps.EntryPoint.main(EntryPoint.java:284)
>> 
>> Exception in thread "main" misc.LoggedException: target value
>> (0.9999972) is greater than CDF of all vectors in voxel 164 194 38
>>    at
>> tractography.BayesDiracRandomizer.getRandomizedPDs(BayesDiracRandomizer.java:223) 
>>    at
>> tractography.BayesDiracRandomizer.getRandomizedPDs(BayesDiracRandomizer.java:240) 
>>    at
>> tractography.BayesDiracTractographyImage.setVectors(BayesDiracTractographyImage.java:89) 
>>    at
>> tractography.ProbabilisticTractographyImage.getPDs(ProbabilisticTractographyImage.java:72) 
>>    at
>> tractography.NearestNeighbourInterpolator.getTrackingDirection(NearestNeighbourInterpolator.java:36) 
>>    at
>> tractography.EulerFibreTracker.getNextStep(EulerFibreTracker.java:57)
>>    at tractography.FibreTracker.trackFromSeed(FibreTracker.java:353)
>>    at tractography.FibreTracker.trackFromSeed(FibreTracker.java:230)
>>    at apps.StreamlineTractography.execute(StreamlineTractography.java:946)
>>    at apps.EntryPoint.main(EntryPoint.java:284)
>> 
>> 
>> any idea what might be going wrong? it's actually stock in Processing
>> ROI 1 of 116!
>> 
>> Thanks,
>> -M
>> 
>> On 04/23/2013 04:01 PM, Philip Cook wrote:
>>> Try adding a brain / background binary mask with -brainmask
>>> 
>>> Sent from my iPhone
>>> 
>>> On Apr 23, 2013, at 12:49 PM, Mojdeh Zamyadi<mojdehzm at gmail.com>   wrote:
>>> 
>>>> so I tried the following command (where, "aal_affine.nii.gz" is the AAL template with 116 regions, non-linearly registered to the DTI space)
>>>> 
>>>> track -inputfile DTI_ec_VoxelOrder.Bfloat -inputmodel bayesdirac -schemefile bvec_rot.scheme -iterations 50 -seedfile aal_affine.nii.gz>   bayesianTracts.Bfloat
>>>> 
>>>> and I got this error at the end:
>>>> 
>>>> 1920    0.9994765
>>>> 1921    0.9999968
>>>> 
>>>> Apr 23, 2013 8:48:58 AM misc.LoggedException logException
>>>> SEVERE: Exception in thread "main" class misc.LoggedException: target value (0.9999989) is greater than CDF of all vectors in voxel 143 160 61
>>>>     at tractography.BayesDiracRandomizer.getRandomizedPDs(BayesDiracRandomizer.java:223)
>>>>     at tractography.BayesDiracRandomizer.getRandomizedPDs(BayesDiracRandomizer.java:240)
>>>>     at tractography.BayesDiracTractographyImage.setVectors(BayesDiracTractographyImage.java:89)
>>>>     at tractography.ProbabilisticTractographyImage.getPDs(ProbabilisticTractographyImage.java:72)
>>>>     at tractography.NearestNeighbourInterpolator.getTrackingDirection(NearestNeighbourInterpolator.java:36)
>>>>     at tractography.EulerFibreTracker.getNextStep(EulerFibreTracker.java:57)
>>>>     at tractography.FibreTracker.trackFromSeed(FibreTracker.java:353)
>>>>     at tractography.FibreTracker.trackFromSeed(FibreTracker.java:230)
>>>>     at apps.StreamlineTractography.execute(StreamlineTractography.java:946)
>>>>     at apps.EntryPoint.main(EntryPoint.java:284)
>>>> 
>>>> Exception in thread "main" misc.LoggedException: target value (0.9999989) is greater than CDF of all vectors in voxel 143 160 61
>>>>     at tractography.BayesDiracRandomizer.getRandomizedPDs(BayesDiracRandomizer.java:223)
>>>>     at tractography.BayesDiracRandomizer.getRandomizedPDs(BayesDiracRandomizer.java:240)
>>>>     at tractography.BayesDiracTractographyImage.setVectors(BayesDiracTractographyImage.java:89)
>>>>     at tractography.ProbabilisticTractographyImage.getPDs(ProbabilisticTractographyImage.java:72)
>>>>     at tractography.NearestNeighbourInterpolator.getTrackingDirection(NearestNeighbourInterpolator.java:36)
>>>>     at tractography.EulerFibreTracker.getNextStep(EulerFibreTracker.java:57)
>>>>     at tractography.FibreTracker.trackFromSeed(FibreTracker.java:353)
>>>>     at tractography.FibreTracker.trackFromSeed(FibreTracker.java:230)
>>>>     at apps.StreamlineTractography.execute(StreamlineTractography.java:946)
>>>>     at apps.EntryPoint.main(EntryPoint.java:284)
>>>> 
>>>> 
>>>> Could you please help me with why I'm getting this?
>>>> 
>>>> Thanks,
>>>> -M
>>>> 
>>>> On 04/23/2013 12:19 PM, Mojdeh Zamyadi wrote:
>>>>> Thanks for the reply! Based on what I read, it means that I can use the whole atlas, right? no need to produce separate seed regions, am I right?
>>>>> 
>>>>> On 04/23/2013 11:13 AM, Philip Cook wrote:
>>>>>> I'm at ismrm right now so apologies for the brief reply. Please see the man page for conmat
>>>>>> 
>>>>>> Sent from my iPhone
>>>>>> 
>>>>>> On Apr 23, 2013, at 9:03 AM, Mojdeh Zamyadi<mojdehzm at gmail.com>    wrote:
>>>>>> 
>>>>>>> Hi all,
>>>>>>> 
>>>>>>> I want to perform probabilistic tractography using Camino to construct connectivity matrices. To do this I'm using the AAL template with more than 100 cortical and subcortical regions. I've transformed the AAL VOIs into the DTI space of each subject using linear and nonlinear registration. My question now is, should I use "track" command with "-inputmodel bayesdirac" option and use the whole transformed AAL atlas as seedfile (eg. -seedfile Control/aal_ROIs/aal_tformed.nii.gz)? Or should I create separate mask/seed images for each region and perform the tractography for each seed? Also, how can I get the the tracks between two seed regions? Your help would be greatly appreciated!
>>>>>>> 
>>>>>>> Thanks as always,
>>>>>>> -Mojdeh
>>>>>>> _______________________________________________
>>>>>>> Camino-users mailing list
>>>>>>> Camino-users at www.nitrc.org
>>>>>>> http://www.nitrc.org/mailman/listinfo/camino-users
>>>> _______________________________________________
>>>> Camino-users mailing list
>>>> Camino-users at www.nitrc.org
>>>> http://www.nitrc.org/mailman/listinfo/camino-users
>> 
>> 
> 



More information about the Camino-users mailing list