Comments (47)
from amico.
Dear Prasanna,
I think this is an effect of the discretization in the dictionary. When you apply the l1 norm to promote sparsity in the solution, only some atoms are retained from all possible combinations that are considered.
Did you try to play with the regularization?
I had observed similar spikes also in the original NODDI fitting, especially in the OD parameter, where the values attributed to CSF is always the same.
Best,
Alessandro
from amico.
Hello,
Attached are the comparison of NODDI and AMICO histograms.
Here are the voxels associated with corresponding spikes for ICVF from AMICO results
We have tried adjusting the regularization parameters and following are the results.
Can you please share your thoughts.
Thanks,
Prasanna
from amico.
Dear Prasanna,
sorry for my delay, I am at the moment on kind of "paternity leave" and have had not much time to work. Sorry for that; I'm trying to catch up with work as fast as I can!
What you highlight seems to me related to the discretization AMICO uses in the dictionary. I think the spikes are generated by this discretization that somehow limits the possible output values for the parameters. These values seem in fact widely spread in the brain, and not concentrated in any specific location. Surely there are differences between the original model and the aMICO approximation (as I previously described), but this is another topic.
Do you think this could badly influence your analyses?
On a side note, we have recently developed an alternative way to fit models within AMICO that can enforce, for free, spatial regularization of the estimations in each voxel; this might help also with the issue you describe here. We have not tested this method yet, but I will speak with @ejcanalesr (the actual person who developed this new solver) and I will discuss with him about its applicability to mitigate the discretization issue you have described.
I will keep you posted!
Best,
Ale
from amico.
Hello Dr. Daducci,
Thank you for looking into this. We are comparing the response from both NODDI and AMICO to determine if current NODDI processing can be replaced with AMICO as this is the faster version of NODDI or if there are areas that we need to be cautious about in analyzing the results in tumor regions in addition to normal brain processing.
Will keep you posted once we do quantitative analysis in tumor regions. Appreciate your feedback.
Thanks,
Prasanna
from amico.
Dear Prasanna,
did you finally got any useful information from the comparison between AMICO and NODDI implementations?
from amico.
Hello Dr. Daducci,
Thank you for following up on this item. Based on our preliminary analysis we did notice that FICVF values are similar between NODDI and AMICO in both tumor and white mater regions. However, in some cases, ODI and FISO values from AMICO seem to be higher in tumor region compared to NODDI results thus effecting the correlations with histopathology.
Can you please suggest if there are any parameters we could adjust to make these two results match.
Thanks,
Prasanna
from amico.
To follow up on this, I have run into the same issue with discretization in the ICVF and ODI (running the python version of AMICO). Has there been any progress on optimal paramteres or the method by @ejcanalesr?
Chris
Screenshot of AMICO calculated OD versus that calculated by the NODDI matlab toolbox. The discretizations appear at values very close to .19,.29,.39...
same comparison, with mean gaussian smoothing of the AMICO OD ouptut, kernel size from left to right = 0.75, 1, 2mm (data resolution = 2x2x2)
from amico.
Hello Dr. Dadduci,
Can you please point us to the method proposed by @ejcanalesr, we can plan to include it in further analysis.
Thanks,
Prasanna
from amico.
Hello Dr. Prasanna,
The method is not ready yet, however, I will have time to work on it in
july.
I will try to have a final solution as soon as possible.
Thanks,
Regards,
Erick J. Canales-Rodríguez
FIDMAG Germanes Hospitalàries
CIBERSAM
Telf.: 93 652 99 99 ext. 1493
www.fidmag.org http://www.fidmag.org/
Ley de protección de datos:
La información contenida en este e-mail es confidencial y privada, puede
contener información relativa a datos especialmente protegidos por la Ley
Orgánica 5/1999 de Protección de los Datos de Carácter Personal. Si usted
no es la persona a la que iba dirigido este mensaje, por favor, contacte
inmediatamente con el remitente. Cualquier copia o uso no autorizado de
este e-mail queda prohibido.
2016-06-12 18:45 GMT+02:00 goals2008 [email protected]:
Hello Dr. Dadduci,
Can you please point us to the method proposed by @ejcanalesr
https://github.com/ejcanalesr, we can plan to include it in further
analysis.Thanks,
Prasanna—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#8 (comment), or mute
the thread
https://github.com/notifications/unsubscribe/AIqLrdgBmFcOcxWyMkNjtQLAQK2982m0ks5qLDe_gaJpZM4FwQyD
.
from amico.
Dear Prasanna,
we have started looking into this issue and we have a question for you. We noticed that in your plots the OD index is about 0.7 whereas in the maps released with the tutorial data OD is about 1. Which version of the code and matlab are you using?
Thanks,
Ale
from amico.
Hello,
Thank you for looking into this issue. We are using following Matlab
2013b..and default version of AMICO. Also ODI is about 1 in all the maps. I
think 0.7 maps that were showing up is with L2 norm comparison, screen seem
to have been cut off.
Please let me know if you need more information.
Thanks,
Prasanna
On Thu, Jul 14, 2016 at 4:47 AM, Alessandro Daducci <
[email protected]> wrote:
Dear Prasanna,
we have started looking into this issue and we have a question for you. We
noticed that in your plots the OD index is about 0.7 whereas in the maps
released with the tutorial data OD is about 1. Which version of the code
and matlab are you using?Thanks,
Ale—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
#8 (comment), or mute
the thread
https://github.com/notifications/unsubscribe/AKY0HUj7IfJte3fN6_7_7aDHyawCulBKks5qVgXJgaJpZM4FwQyD
.
from amico.
Dear Prasanna,
We have been working on the issue you reported. Fortunately, we have found
a potential solution to obtain very similar reconstructions but without the
spikes you reported in the histograms. It involves only a small correction
in the debiasing step of the estimation, so the numerical algorithm is
totally compatible with the one reported in our article.
As we have tested this preliminar version only in our data (as well as in
synthetic data), we would like to test the method also in different
datasets. This step is important to determine whether the new approach is
robust and stable.
Please, could you send us the data you have used to create the figures
reported in the web? Or alternatively, if you prefer, we can send you this
preliminar version of the code so that you could test the method in your
computer and generate similar figures. This may be possible?
We plan to update the toolbox as soon as possible, after verify the
robustness and stability of the new version.
Thank you very much for your valuable contribution!
Regards,
P.S. Please, find attached here a preliminary result from our evaluation
with the new method. These maps were computed from the example dataset
distributed in the original NODDI toolbox, but we have carried out the
estimation in the whole brain.
Notice that after recomputing the OD maps with the original NODDI, in CSF
we obatin OD = 0.7, instead of the value OD = 1 resulting from the previous
version of the sofware. In our method we have OD=1 in CSF...
Erick J. Canales-Rodríguez
FIDMAG Germanes Hospitalàries
CIBERSAM
Telf.: 93 652 99 99 ext. 1493
www.fidmag.com http://www.fidmag.com/
from amico.
from amico.
Sure, I will be happy to test this out, please do share the updated code. I dont have access to the original data right now, but could send you another dataset soon.
Thanks,
Prasanna
from amico.
This looks great - I would be happy to test as well on HCP data and a 3-shell 2mm dataset that we have collected in-house. I have been using the python version of AMICO, but would also be open to testing the matlab version.
Chirs
from amico.
Thanks @goals2008 and @steelec for your help!
I think we could proceed in two steps (if you agree):
- We test internally the new code and fine tune it, if possible using your data to compare with your previous results (top of this post).
- Once these tests are done, we release the new code and you test it on the rest of your datasets to evaluate its effectiveness.
Sounds good?
from amico.
Yes, that sounds good.
Thanks
Prasanna
On Jul 29, 2016, at 4:39 AM, Alessandro Daducci [email protected] wrote:
Thanks @goals2008 and @steelec for your help!
I think we could proceed in two steps (if you agree):We test internally the new code and fine tune it, if possible using your data to compare with your previous results (top of this post).
Once these tests are done, we release the new code and you test it on the rest of your datasets to evaluate its effectiveness.
Sounds good?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
from amico.
Perfect.
On Fri, Jul 29, 2016, 13:56 goals2008 [email protected] wrote:
Yes, that sounds good.
Thanks
PrasannaOn Jul 29, 2016, at 4:39 AM, Alessandro Daducci <
[email protected]> wrote:Thanks @goals2008 and @steelec for your help!
I think we could proceed in two steps (if you agree):We test internally the new code and fine tune it, if possible using your
data to compare with your previous results (top of this post).Once these tests are done, we release the new code and you test it on
the rest of your datasets to evaluate its effectiveness.Sounds good?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#8 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/ACm4wbcy75Lcz0nfTRg4yC6sqebH_wCtks5qaepbgaJpZM4FwQyD
.
Chris
from amico.
Here is the test data having similar results. Please let us know if you see
any issues.
https://www.dropbox.com/s/xlxnu1hoaxciuwa/TestData_MASI.zip?dl=0
Thanks,
Prasanna
On Fri, Jul 29, 2016 at 7:24 AM, steelec [email protected] wrote:
Perfect.
On Fri, Jul 29, 2016, 13:56 goals2008 [email protected] wrote:
Yes, that sounds good.
Thanks
PrasannaOn Jul 29, 2016, at 4:39 AM, Alessandro Daducci <
[email protected]> wrote:Thanks @goals2008 and @steelec for your help!
I think we could proceed in two steps (if you agree):We test internally the new code and fine tune it, if possible using
your
data to compare with your previous results (top of this post).Once these tests are done, we release the new code and you test it on
the rest of your datasets to evaluate its effectiveness.Sounds good?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#8 (comment), or
mute
the thread
<
https://github.com/notifications/unsubscribe-auth/ACm4wbcy75Lcz0nfTRg4yC6sqebH_wCtks5qaepbgaJpZM4FwQyD.
Chris
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#8 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AKY0HVYHQz2uPzc4i-71tJP9R7S-hP7wks5qafD1gaJpZM4FwQyD
.
from amico.
Hello Dr. Daducci,
Can you please let us know if there is any additional information you are looking for or if there is any testing we could do for this fix.
Thanks,
Prasanna
from amico.
Hi, we have finished the internal evaluation step (first step proposed by @daducci in the previous post) by using different datasets (thanks @goals2008 and @steelec!).
Please find attached here some results. As can be seen, the histograms look smoother without large spikes. So, we think we are ready for the next step. @goals2008 and @steelec, are you able to test the new code on the rest of your datasets? Thanks for your help!
Result from the "example dataset" included as part of the original NODDI toolbox
(the whole-brain reconstruction time of the new method was 16 minutes).
from amico.
Great to hear!
I would be happy to test. Have the changes been committed to the master or another branch?
Cheers,
Chris
from amico.
Hello Canales,
Thanks for the update, will be happy to test it out. Can we get the updated code.
Thanks
Prasanna
On Sep 6, 2016, at 8:17 AM, Erick J Canales-Rodríguez [email protected] wrote:
Hi, we have finished the internal evaluation step (first step proposed by @daducci in the previous post) by using different datasets (thanks @goals2008 and @steelec!).
Please find attached here some results. As can be seen, the histograms look smoother without large spikes. So, we think we are ready for the next step. @goals2008 and @steelec, are you able to test the new code on the rest of your datasets? Thanks for your help!Result from the "example dataset" included as part of the original NODDI toolbox
(the whole-brain reconstruction time of the new method was 16 minutes).—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
from amico.
Dear @goals2008 and @steelec, please find attached here the new code.
Short explanation (MATLAB toolbox):
- Rename the "old" AMICO_NODDI function to "AMICO_NODDI_old" (a new version of this function is included in the attached folder)
- Unzip and add all new functions to the matlab path
- The estimation is carried out as in the tutorial: https://github.com/daducci/AMICO/tree/master/matlab/doc/demos/NODDI
HOWEVER, PLEASE NOTE: to fit the AMICO-NODDI model using the new implementation run the command line:
AMICO_NewFit( ) (instead of the old command: AMICO_Fit()).
The readme.txt file contains more details...
new_AMICO_NODDI_scripts_07_09_2016.zip
from amico.
Thank you for providing the updated code and detailed instructions. Will
test this out and keep you posted.
Thanks,
Prasanna
On Wed, Sep 7, 2016 at 9:23 AM, Erick J Canales-Rodríguez <
[email protected]> wrote:
Dear @goals2008 https://github.com/goals2008 and @steelec
https://github.com/steelec, please find attached here the new code.Short explanation (MATLAB toolbox):
- Rename the "old" AMICO_NODDI function to "AMICO_NODDI_old" (a new
version of this function is included in the attached folder)- Unzip and add all new functions to the matlab path
- The estimation is carried out as in the tutorial:
https://github.com/daducci/AMICO/tree/master/matlab/doc/demos/NODDI
HOWEVER, PLEASE NOTE: to fit the AMICO-NODDI model using the new
implementation run the command line:
AMICO_NewFit( ) (instead of the old command: AMICO_Fit()).The readme.txt file contains more details...
new_AMICO_NODDI_scripts_07_09_2016.zip
https://github.com/daducci/AMICO/files/459322/new_AMICO_NODDI_scripts_07_09_2016.zip—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#8 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AKY0HYY5Kg5ZddewLj0dHH7EOOpP6DMuks5qnsjzgaJpZM4FwQyD
.
from amico.
I can do the same ASAP if you also have a python version, otherwise I can probably get to testing the matlab version sometime late next week.
Thanks very much!
from amico.
Hi @goals2008 and @steelec ,
the code is just an "internal test" for the moment, so it's been prototyped in MATLAB to have a quick version asap (we are more familiar with MATLAB than python). Then, if you can confirm the improved results we have observed, we will proceed to porting it to python as well.
Thanks a lot for you help!
from amico.
Hi Erick,
Sorry for the delay. I had to re-setup my AMICO/spams Matlab environment
as I was using python version as well.
I got it running for both original and new model and results are looking
good as attached. Thank you for making this fix.
Thanks,
Prasanna
On Wed, Sep 7, 2016 at 9:23 AM, Erick J Canales-Rodríguez <
[email protected]> wrote:
Dear @goals2008 https://github.com/goals2008 and @steelec
https://github.com/steelec, please find attached here the new code.Short explanation (MATLAB toolbox):
- Rename the "old" AMICO_NODDI function to "AMICO_NODDI_old" (a new
version of this function is included in the attached folder)- Unzip and add all new functions to the matlab path
- The estimation is carried out as in the tutorial:
https://github.com/daducci/AMICO/tree/master/matlab/doc/demos/NODDI
HOWEVER, PLEASE NOTE: to fit the AMICO-NODDI model using the new
implementation run the command line:
AMICO_NewFit( ) (instead of the old command: AMICO_Fit()).The readme.txt file contains more details...
new_AMICO_NODDI_scripts_07_09_2016.zip
https://github.com/daducci/AMICO/files/459322/new_AMICO_NODDI_scripts_07_09_2016.zip—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#8 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AKY0HYY5Kg5ZddewLj0dHH7EOOpP6DMuks5qnsjzgaJpZM4FwQyD
.
from amico.
I don't think it was attached...?
Sorry for my slowness on testing as well, probably will be able to do some more testing in about 2 weeks.
Chris
from amico.
I have attached 2 screenshots having ICVF and ODI histogram and qualitative
image
- AMICO_Orig
- AMICO_New
Reattaching them.. can you please confirm if you still see issue accessing
them.
Thanks,
Prasanna
On Sat, Oct 8, 2016 at 9:13 AM, Christopher J. Steele <
[email protected]> wrote:
I don't think it was attached...?
Sorry for my slowness on testing as well, probably will be able to do some
more testing in about 2 weeks.
Chris—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#8 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AKY0HQyqgInks9yCxiiDpRcDoQTUmZO_ks5qx6UmgaJpZM4FwQyD
.
from amico.
I don't see it here. weird.
from amico.
I don't see any attachment either.
from amico.
Attaching it again here.. may be its an issue when sending from email.
from amico.
Hi goals2008,
Please, could you provide more details about these figures to identify the outputs from the original and new reconstructions?
Thank you very much!!!
from amico.
Yes.
--> Top row is from AMICO_New for ODI and ICVF maps (No Spikes)
--> Bottom row is from AMICO_orig for ICVF and ODI (with spikes)
Thanks,
Prasanna
from amico.
from amico.
from amico.
This issue is about to reach its anniversary.
Has any progress been made on bringing this new fix to the python code base? We would really like to use this work for a study but not until the spiking issue has been resolved.
Alternatively, do you suggest we go back to the old matlab code if we want to use AMICO?
thanks and please let us know how we can help.
from amico.
Bump -- any progress on this?
from amico.
Hi, I'm also curious whether there has been any progress on this, especially in the python version. I greatly appreciate the speed and stability of the AMICO implementation of NODDI, but it seems as if it is sometimes too stable and prefers certain values. We would like to make comparisons within a set of scans for a study, but as you can see we have a problem with the ICVF (= NDI in the plot) having a predilection for certain values for many regions in the JHU "Eve" WM atlas:
The plot shows the median ICVF of the voxels inside each atlas region vs. the number of voxels in that scans's region in subject space for 128 scans. I like to make these plots to check the quality of both model fitting and atlas registration, and usually expect to see blobbish clusters for each region. The orientation dispersion and ISOVF from AMICO NODDI are not showing any drastic quantization in their plots.
Is there any way I can help? If it is delayed by the Rician noise model, I hope you will consider making a release without it, since I am already debiasing my input images.
Thanks,
Rob Reid
from amico.
My personal impression is that this issue cannot or will not be fixed.
If you are looking for faster modelling of NODDI parameters and know how to setup GPU devices you may explore the Microstructure Diffusion Toolbox
If you scroll half way down the FAQ page you'll see an example of NODDI modelling and their publication.
I ran a test on a single subject with a basic NVIDIA card and the total run time was ~5 minutes.
An added benefit is the software allows testing many models and easily adding your own so it is an interesting way to explore your data and learn concepts if you are so inclined.
from amico.
If you are looking for faster modelling of NODDI parameters and know how to setup GPU devices you may explore the Microstructure Diffusion Toolbox
Thanks! We are doing our diffusion processing with GPUs anyway because of eddy_cuda, but do have a bit of a road bump because the Microstructure Diffusion Toolbox requires python 3. We are using CentOS 7, and I know there are a few ways to install python 3 even on RHEL-based systems, but I will have to work with our system administrator a bit to figure something out.
from amico.
Dear @captainnova ,
indeed we have to apologize for the long silence!
My personal impression is that this issue cannot or will not be fixed.
The good news is that the problem can be solved, and in fact it was! We have had the code ready for long time now, but have no one to port it and integrate to AMICO. We will do our best to port it asap.
As a side note, we are working also on porting AMICO to GPU, for an event more dramatic acceleration! We'll keep you posted of course.
from amico.
The good news is that the problem can be solved, and in fact it was! We have had the code ready for long time now, but have no one to port it and integrate to AMICO. We will do our best to port it asap.
As a side note, we are working also on porting AMICO to GPU, for an event more dramatic acceleration! We'll keep you posted of course.
I'm glad to hear it!
Thanks, Rob
from amico.
Dear @daducci ,
I am having the same issue with the discretization of ICVF values (I'm working on the HCP dataset).
Is this implemented into the Python version of AMICO?
Or is there a workaround I could use in the meantime (increasing the number of evenly spaced samples in np.linspace(0.1, 0.99, 12) from 12 to 50 maybe?) as mentioned in issue #97 #97 for a similar issue.
I would greatly appreciate any help!
Thank you,
Stefanie
from amico.
Dear Stefanie,
in the end, this fix has never been implemented as it turned out that this "discretization problem" is not really an issue. In fact, it is true that AMICO tends to favour some configutations w.r.t. others, but the values are very close and differences are really mild. In any case, I will try to touch base with @ejcanalesr to see if he can implement this so, perhaps, we could finally test whether indeed these discretization spikes do have or do not have any impact on the results.
from amico.
Related Issues (20)
- Not getting similar results when fitting AMICO and the NODDItoolbox HOT 2
- Infrastructure need for AMICO? HOT 1
- Are isotropic voxels required for NODDI estimation? HOT 1
- How to obtain other parameter results for NODDI models supported by AMICO? HOT 2
- Install fail on Apple Silicon HOT 6
- ImportError during installation HOT 3
- Publish AMICO to conda-forge? HOT 4
- Processing: [ ERROR ] no b0 volume with bStep change HOT 7
- NODDI in the infant brain; optimal diffusivity changes HOT 2
- v2.0.1 Installation from source fails HOT 1
- ValueError: w2 should be positive HOT 4
- Noticeable steps (lack of smoothness) in ICVF/ODI HOT 5
- problem with load.data HOT 6
- Output Files Not Complete HOT 7
- incorrect number of thread in wiki/documentation HOT 1
- New release HOT 4
- Changing the NODDI parallel diffusivity in AMICO v2.0.0 HOT 1
- Flush the output of printing functions
- Model fit leading to viso 1, NDI zero and ODI 1 in all brain voxels HOT 4
- Docker-specific error HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from amico.