Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Different results: [AMICO] VS [NODDI MATLAB toolbox] #132

Closed
Hongbosherlock opened this issue Mar 7, 2022 · 1 comment
Closed

Different results: [AMICO] VS [NODDI MATLAB toolbox] #132

Hongbosherlock opened this issue Mar 7, 2022 · 1 comment

Comments

@Hongbosherlock
Copy link

Hongbosherlock commented Mar 7, 2022

Hello @daducci. Thanks for your amazing tools.
I'm new to NODDI and I know all the necessary MATLAB functions have in fact been ported to Python.
But the results seems to be different, which one should I choose ?

thanks in advance!

Data

bvals:

0 0 0 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855 2855

bvecs:

0 0 0 -0.011752 0.379972 0.778022 -0.090014 -0.326883 -0.303206 0.783524 -0.085945 -0.003616 -0.585019 0.167681 0.345383 -0.327952 -0.766873 0.701003 -0.863187 -0.042416 -0.806994 0.9945 0.948573 -0.535154 0.352825 -0.498455 -0.12567 -0.637077 0.434296 -0.382373 0.036838 0.653691 0.09219 -0.852869 -0.315006 0.694287 -0.410925 -0.566358 0.560665 -0.622796 0.766714 0.395554 0.511789 0.188151 0.394789 -0.072274 -0.883701 0.24002 -0.610786 0.644897 0.02192 -0.985615 -0.689175 -0.646243 -0.182617 -0.289115 -0.209705 -0.262609 0.867817 -0.962208 0.614269 0.433382 0.91464 0.255154 -0.313052 -0.253414 0.62883 -0.770521 0.883636 -0.968903 0.339525 0.470884 0.052798 0.077763 -0.337783 0.930419 0.153621 -0.676869 -0.473947 -0.899917 -0.801852 0.733409 0.844374 0.931863 0.059745 0.172106 -0.645968 -0.86738 -0.50178 0.29007 0.481286 0.707631 0.535702
0 0 0 0.972516 -0.346026 0.032912 0.291948 -0.361752 0.885073 -0.534107 -0.111944 0.515994 0.591484 -0.080221 0.936379 0.513676 -0.396951 -0.306367 0.503861 0.744079 -0.04095 0.056582 0.180656 -0.78996 0.870586 -0.392531 0.138359 -0.166497 -0.844019 0.362568 0.825624 0.750743 -0.821922 0.383842 0.843099 -0.354854 0.092205 -0.685448 0.005903 0.764477 0.41667 -0.576989 -0.766846 0.504368 -0.916646 -0.641236 -0.000804 0.092407 -0.785057 0.623656 0.985101 0.151067 0.289684 0.595567 -0.264081 -0.95681 -0.86328 -0.89712 0.490909 -0.21967 0.733807 -0.640964 -0.221373 0.852577 0.67744 -0.673186 0.353786 -0.381237 0.373264 -0.091378 0.63081 0.610944 -0.980123 -0.976417 0.940335 -0.173 -0.377427 0.245451 -0.607746 0.287075 -0.568922 -0.575308 0.087612 -0.36274 -0.534086 -0.831787 0.732289 -0.467907 -0.025407 0.284018 -0.164894 -0.706397 0.261213
0 0 0 -0.232541 0.857839 -0.627375 -0.952189 -0.873088 0.353146 -0.317521 -0.989991 0.856584 -0.554886 0.982572 -0.062489 -0.792833 -0.504317 0.643999 0.032141 -0.666744 0.589138 0.088138 -0.259949 -0.299289 0.342922 0.772956 0.982377 -0.752604 0.314672 0.849903 0.563017 0.09525 0.562089 -0.35395 -0.435837 -0.626134 -0.906994 0.457602 0.828022 0.166435 -0.488401 -0.714577 -0.387324 -0.842741 -0.062461 -0.763933 -0.468052 -0.96636 0.103085 0.44177 0.170575 -0.075772 0.664169 0.477147 0.947055 -0.030439 -0.459098 0.355263 -0.076831 -0.160938 -0.290174 0.633518 0.338272 -0.45608 0.665638 0.694695 0.692393 0.510839 0.282598 0.229951 0.697711 -0.636409 -0.191238 0.201403 -0.040892 -0.323098 -0.913208 -0.693976 -0.637196 0.328234 -0.182651 0.362123 0.528542 0.007171 0.843317 -0.52774 -0.215586 0.169455 0.864622 0.913889 -0.860915 0.016188 -0.802989

Load the data log

ae.load_data(dwi_filename = "eddy_corrected_data.nii", scheme_filename = "NODDI_protocol.scheme", mask_filename = "b0_brain_mask.nii", b0_thr = 0)
-> Loading data:
        * DWI signal
                - dim    = 128 x 128 x 72 x 93
                - pixdim = 2.000 x 2.000 x 2.000
        * Acquisition scheme
                - 93 samples, 1 shells
                - 3 @ b=0 , 90 @ b=2855.0 
        * Binary mask
                - dim    = 128 x 128 x 72
                - pixdim = 2.000 x 2.000 x 2.000
                - voxels = 194310
   [ 1.0 seconds ]

-> Preprocessing:
        * Normalizing to b0... [ min=-1926982442942464.00,  mean=1052269568.00, max=3696406158114816.00 ]
        * Keeping all b0 volume(s)
   [ 2.0 seconds ]
ae.set_model("NODDI")
ae.generate_kernels( )
ae.load_kernels()
ae.fit()
ae.save_results()

Compute the response functions, then Model fit. Finally I get results.
I also processing the data separately according to NODDI Matlab Toolbox tutorial .
I visualized the results and compared them using SPM12 in MATLAB:

  • NDI
    323893666a9ffc893f8daebb7e3adf5
  • ODI
    51ff4a055e70769e986a33d62bfcba6
  • ISOVF
    a7a6ec550501451d904e91fa61814b2
@daducci
Copy link
Owner

daducci commented Mar 13, 2022

Dear @Hongbosherlock ,

sorry for getting to you so late, but I have missed the notification. Your data appears to be single shell (only b=2855), but the NODDI model requires at least 2 shells, so you cannot fit it to your data as there are ambiguities in the model. The different results you get are probably due to how the two different implementations (NODDI MATLAB vs AMICO) try to resolve those ambiguities.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants