[Camino-users] probabilistic tractography
Philip A Cook
cookpa at mail.med.upenn.edu
Mon Apr 29 08:21:02 PDT 2013
Yeah, you'll need to update Camino from source over SVN, or wait until tomorrow and download the nightly archive again.
An optimization error in the MarquardtMinimiser is probably caused by bad data. One way to reduce these is with a brain mask, but if you get too many it is probably a sign of a more serious problem.
One way to investigate this is to fit the ball and stick model with modelfit and check the exit codes.
On Apr 29, 2013, at 11:12 AM, Mojdeh Zamyadi wrote:
> Thanks so much for the reply. So should I re-install Camino?
>
> This is a warning I get quite frequently :
> "Processing seed 13093 of 14773optimizers.MarquardtMinimiserException: Infinite objective function in mrqcof.
> optimizers.MarquardtMinimiserException: Infinite objective function in mrqcof."
>
> what does this exactly mean? is it fine to get this type of warning?
>
> -Mojdeh
>
>> On 04/29/2013 10:54 AM, Philip A Cook wrote:
>>> 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
>>>>>
>>
>
> _______________________________________________
> 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