[Camino-users] probabilistic tractography
Mojdeh Zamyadi
mojdehzm at gmail.com
Thu May 2 06:54:16 PDT 2013
Hi there,
I ran the
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.Bfloat
command with new version (1205) and I still get the following error:
...
1920 0.9994765
1921 0.9999968
Apr 30, 2013 11:03:52 PM misc.LoggedException logException
SEVERE: Exception in thread "main" class misc.LoggedException: target
value (0.9999982) is greater than CDF of all vectors in voxel 152 167 25
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's wrong? I really need to get this work as soon as I can
so I really appreciate your help.
Thanks,
-Mojdeh
On 04/30/2013 12:33 PM, Mojdeh Zamyadi wrote:
> I also tried, masking my DTI data before performing the fitting and I
> still get the "optimizers.MarquardtMinimiserException: Infinite
> objective function in mrqcof." exception when running the ballstickfit
> command. Do you know what might be causing this?
>
> Thanks,
> -Mojdeh
>
> -------- Original Message --------
> Subject: Re: [Camino-users] probabilistic tractography
> Date: Mon, 29 Apr 2013 13:02:19 -0400
> From: Mojdeh Zamyadi <mojdehzm at gmail.com>
> To: Philip A Cook <cookpa at mail.med.upenn.edu>
> CC: camino-users at www.nitrc.org <camino-users at www.nitrc.org>
>
>
>
> I think I'll wait till tomorrow then.
>
> I ran the ball and stick model as you advised using the following command:
>
> ballstickfit DTI_ec_VoxelOrder.Bfloat bvec_rot.scheme -bgmask
> B0_brain.nii.gz> BallStick.Bdouble
>
> and I get lots of following exception:
> optimizers.MarquardtMinimiserException: Infinite objective function in
> mrqcof.
>
> is this normal? I'm not sure why this is happening since I've been using
> a background/brain mask (of the B0 image) both for the ballstickfit
> command and the track command:
>
> 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.Bfloat
>
> -Mojdeh
>
> On 04/29/2013 11:21 AM, Philip A Cook wrote:
> > 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.nitrc.org/pipermail/camino-users/attachments/20130502/088c4e47/attachment-0001.html
More information about the Camino-users
mailing list