Closed whedon closed 4 years ago
Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @DARSakthi, @grlee77, @ritagnunes it looks like you're currently assigned to review this paper :tada:.
:warning: JOSS reduced service mode :warning:
Due to the challenges of the COVID-19 pandemic, JOSS is currently operating in a "reduced service mode". You can read more about what that means in our blog post.
:star: Important :star:
If you haven't already, you should seriously consider unsubscribing from GitHub notifications for this (https://github.com/openjournals/joss-reviews) repository. As a reviewer, you're probably currently watching this repository which means for GitHub's default behaviour you will receive notifications (emails) for all reviews 😿
To fix this do the following two things:
For a list of things I can do to help you, just type:
@whedon commands
For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:
@whedon generate pdf
Reference check summary:
OK DOIs
- None
MISSING DOIs
- https://doi.org/10.1007/978-3-642-15745-5_50 may be missing for title: High-fidelity meshes from tissue samples for diffusion MRI simulations
- https://doi.org/10.1016/j.jmr.2012.10.015 may be missing for title: Isotropic diffusion weighting in PGSE NMR by magic-angle spinning of the q-vector
- https://doi.org/10.1063/1.1695690 may be missing for title: Spin diffusion measurements: spin echoes in the presence of a time-dependent field gradient
- https://doi.org/10.1109/mcse.2011.37 may be missing for title: The NumPy array: a structure for efficient numerical computation
- https://doi.org/10.1109/tmi.2009.2015756 may be missing for title: Convergence and parameter choice for Monte-Carlo simulations of diffusion MRI
- https://doi.org/10.1016/j.neuroimage.2007.02.016 may be missing for title: Robust determination of the fibre orientation distribution in diffusion MRI: non-negativity constrained super-resolved spherical deconvolution
- https://doi.org/10.1002/nbm.3998 may be missing for title: Quantifying brain microstructure with diffusion MRI: Theory and parameter estimation
- https://doi.org/10.1101/140459 may be missing for title: The role of diffusion MRI in neuroscience
- https://doi.org/10.1109/hotchips.2008.7476516 may be missing for title: Scalable parallel programming with CUDA
INVALID DOIs
- None
@whedon generate pdf
@whedon check references
Reference check summary:
OK DOIs
- 10.1007/978-3-642-15745-5_50 is OK
- 10.1016/j.jmr.2015.10.012 is OK
- 10.1016/j.jmr.2012.10.015 is OK
- 10.1063/1.1695690 is OK
- 10.1145/2833157.2833162 is OK
- 10.1038/s41592-019-0686-2 is OK
- 10.1109/mcse.2011.37 is OK
- 10.1109/tmi.2009.2015756 is OK
- 10.1016/j.neuroimage.2007.02.016 is OK
- 10.1002/nbm.3998 is OK
- 10.1101/140459 is OK
- 10.1109/hotchips.2008.7476516 is OK
MISSING DOIs
- None
INVALID DOIs
- None
@DARSakthi, @grlee77, @ritagnunes this is just a friendly check in. I know some of you are busy on other reviews too. Could you give an update on when you expect to work on this review?
@Kevin-Mattheus-Moerman, most likely I will only be able to work on this after the end of the ISMRM conference, i.e. the week after next...
On Wed, Aug 5, 2020 at 11:40 AM Kevin Mattheus Moerman < notifications@github.com> wrote:
@DARSakthi https://github.com/DARSakthi, @grlee77 https://github.com/grlee77, @ritagnunes https://github.com/ritagnunes this is just a friendly check in. I know some of you are busy on other reviews too. Could you give an update on when you expect to work on this review?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/openjournals/joss-reviews/issues/2527#issuecomment-669119971, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIZGNBGCARKW6VYWK5J6X2TR7EZIRANCNFSM4PKLFXQQ .
Right, sorry I forgot about the ISMRM. Enjoy the conference!
@kerkelae, can you briefly describe the contributions of the coauthors you included? I could only verify your name directly in the commit history, but understand that there are other ways to contribute.
@Kevin-Mattheus-Moerman Thanks for the reminder -- some other deadlines had dragged my attention away -- will have it done by Monday, latest. Cheers
regarding the following review criteria:
If there are any performance claims of the software, have they been confirmed?
Is the script that produced Fig. 1 available anywhere? I find the result believable, but did not try to install Camino to verify. I can confirm that all of the examples in the Jupyter notebook in the repository ran quickly on an NVIDIA GTX-1080 Ti card. @Kevin-Mattheus-Moerman: Is this adequate verification for JOSS?
update: I just added some timing statements to examples for the mesh in the Jupyter notebook examples and the result is consistent with the Disimpy curve in the figure.
Overall the manuscript and software look good to me and I have only some minor suggestions.
minor points to address
1.) In the NumPy reference, the first author should be "van der Walt, S." rather than "Walt, S. van der"
2.) In the second sentence under features, I recommend the following grammatical change: "generated in massively parallel on" -> "generated in a massively parallel fashion on"
3.) In the documentation's installation instructions a one-step command that might be easier for users than downloading the repository and then navigating to the folder to run pip would be to use:
pip install git+https://github.com/kerkelae/disimpy.git
(pip will take care of downloading the repository for the user)
4.) It may be worth providing a version of the demo notebook on Google Colaboratory as well, so users can try it out without having to own a CUDA-compatible GPU.
5.) Can the authors confirm if Camino's CPU-based Monte-Carlo is multi-threaded? If so, I would mention that explicitly in the manuscript text or Fig. 1 caption as it makes the relative improvement on the GPU more impressive.
6.) Regarding the "state of the filed" review criteria, I don't see much in the manuscript corresponding to this aside from the comparison to Camino. This is not an area I am particular familiar with the literature, so it would be good to know:
7.) The included references look good, but I would include also reference previous work doing similar types of simulations on the GPU. For example:
Khieu-Van Nguyen, Edwin Hernández-Garzón, Julien Valette, Efficient GPU-based Monte-Carlo simulation of diffusion in real astrocytes reconstructed from confocal microscopy, Journal of Magnetic Resonance, Volume 296, 2018, Pages 188-199, https://doi.org/10.1016/j.jmr.2018.09.013.
Christopher A. Waudby, John Christodoulou, GPU accelerated Monte Carlo simulation of pulsed-field gradient NMR experiments, Journal of Magnetic Resonance, Volume 211, Issue 1, 2011, Pages 67-73, https://doi.org/10.1016/j.jmr.2011.04.004.
(optional) It may also be worth mentioning other complementary software that could generate more realistic tissue models as input to the simulations. I am not familiar with specific tools for this, but am aware of the following publication (unfortunately the implementation described in it does not appear to be publicly available):
Kévin Ginsburger, Felix Matuschke, Fabrice Poupon, Jean-François Mangin, Markus Axer, Cyril Poupon,
MEDUSA: A GPU-based tool to create realistic phantoms of the brain microstructure using tiny spheres,
NeuroImage, Volume 193, 2019, Pages 10-24, https://doi.org/10.1016/j.neuroimage.2019.02.055
misc comments Not having continuous integration seems okay for this library as the free CI services do not offer the needed GPU hardware.
Validation of accuracy of the simulations was not discussed in the manuscript, but from what I can tell, the authors have done validation via the following: 1.) examples in the tutorials:
Hi @grlee77, thanks for the feedback. Just a quick comment in terms of direct commits to the repo itself I didn't make a lot of them and they are no longer visible because we cleaned up the commit history for submission (made an orphan branch). They are still visible as closed PRs. In any case I will let @kerkelae describe the authors' contributions.
@kerkelae, can you briefly describe the contributions of the coauthors you included? I could only verify your name directly in the commit history, but understand that there are other ways to contribute.
Good point @grlee77. I am the main author and have written most of the code and of the manuscript. Fabio Nery has helped by implementing various algorithms, making decisions on how to package the code, and testing. Matt Hall and Chris Clark have contributed to the software by being very involved in the planning and development phase of much of the code that the final package consists of.
Thank you for the feedback. We will address the other issues you raised very soon.
Overall the paper is well done. The tutorial section of the documentation is a nice touch, and the mathematical specification in the final section of the paper is also appreciated. Having a colab notebook would be an excellent idea.
I echo the suggestions of @grlee77, in particular verification of the performance claims. I do question the use of the word synthesising in the title -- while 'to synthesise' can mean to produce artificially, a more common usage is to combine. If the authors are partial to the title then no change is necessary, but a better word may clarify the function of the software.
@grlee77 and @DARSakthi, thank you for the feedback. We have made a number of changes to the manuscript and the documentation. Please see the points below.
We made the small fixes and changes suggested by @grlee77. We also have no particular preference for the word "synthesize" which we replaced by "generate". The updated manuscript contains the changed title but I am not sure how to change the title of my JOSS submission. Could @Kevin-Mattheus-Moerman help us with this please?
Please find here a simple script and a ply file that can be used to reproduce Figure 1. Since we didn't find large differences between runtimes of individual simulations, we reported a single set of runtimes instead of averages. Please note that reproducing the figure requires the installation of Java and Camino. Camino is single-threaded and many studies using Camino have run simulations in parallel on clusters.
We simplified the installation instructions according to the suggestion by @grlee77 and expanded the tutorial to describe how to run the examples on Google Colaboratory. Special thanks for this tip!
We expanded the "Statement of need" section to answer the points 6 and 7 by @grlee77. There exists other methods for simulating dMRI experiments, for example, by solving the Bloch-Torrey equation (which adds the diffusion term to the Bloch equation), but the Monte Carlo method is more generalizable. To our knowledge, Camino is the most popular Monte Carlo simulator but other simulators have been recently developed, some of which are GPU-accelerated. However, we are not aware of approachable Python packages for performing GPU-accelerated dMRI simulations which we find to be of value. We also mentioned the need for relevant microstructural models.
Indeed, we do not have continuous integration since the services we are familiar with do not provide support for CUDA. To validate the functionality of the package, we have written unit tests and compared the simulated signals to analytical solutions and other simulation results (genrated by Camino and the example in the tutorial, for instance).
@whedon generate pdf
Is the test script you linked to available in the repo too? I can't seem to find it. If not, I think it could be a good thing to include from an end - user stand point, so as to evaluate whether to use the software or not.
With the most recent round of changes, I am happy to recommend the paper for publication. Well done!
I really enjoyed being able to run the Tutorial on Google Colaboratory. That was a really nice addition! It will be very helpful for potential/new users to have a quick grasp of the implemented software features.
Also, the provided examples make it easy to verify the requirement of simulating a high number of random walkers to match the theoretical predictions motivating the need for this software. I also like it that the authors have included a range of microstructural environments, from free to restricted diffusion including multiple compartments and a diffraction example replicating a previous study.
It was harder for me to evaluate the gains in simulation speed as the software and corresponding tutorial do not run without GPU-enabled acceleration. Although I did not run Camino independently, I trust that the simulation times reported in the tests are correct.
The provided documentation is quite comprehensive and the paper clearly motivates the need for the software, describing the implemented features. I also really like that the basic theoretical equations have been included.
I agree with @DARSakthi and I am also happy to recommend the publication of this paper. Congratulations!
@openjournals/dev can you help advise as to how to change the title of a submission?
@grlee77 thanks again for your help. Can you review the changes implemented by the authors. You have two boxes unticked (state of the field, references), can you comment/summarize to the authors what is needed for these to be checked?
@openjournals/dev can you help advise as to how to change the title of a submission?
Just change the title of the paper in the paper.md
file.
@grlee77 thanks again for your help. Can you review the changes implemented by the authors. You have two boxes unticked (state of the field, references), can you comment/summarize to the authors what is needed for these to be checked?
These were addressed by the revised statement of need. I have now checked them off and am satisfied with the publication.
Thank you to all the reviewers!
Thanks @arfon and @Kevin-Mattheus-Moerman. I had changed the title in the paper.md
file and just wanted to know if there is something more I need to do because the old title was still shown on the JOSS website.
Thanks @arfon and @Kevin-Mattheus-Moerman. I had changed the title in the paper.md file and just wanted to know if there is something more I need to do because the old title was still shown on the JOSS website.
The version on the JOSS site will update when the paper is published.
@whedon generate pdf
@whedon check references
Reference check summary:
OK DOIs
- 10.1016/j.neuroimage.2020.117107 is OK
- 10.1016/j.jmr.2018.09.013 is OK
- 10.3389/fninf.2020.00008 is OK
- 10.1016/j.neuroimage.2019.116120 is OK
- 10.1007/978-3-319-46630-9_4 is OK
- 10.1007/978-3-642-15745-5_50 is OK
- 10.1016/j.jmr.2015.10.012 is OK
- 10.1016/j.jmr.2012.10.015 is OK
- 10.1063/1.1695690 is OK
- 10.1145/2833157.2833162 is OK
- 10.1038/s41592-019-0686-2 is OK
- 10.1109/mcse.2011.37 is OK
- 10.1109/tmi.2009.2015756 is OK
- 10.1016/j.neuroimage.2007.02.016 is OK
- 10.1002/nbm.3998 is OK
- 10.1101/140459 is OK
- 10.1109/hotchips.2008.7476516 is OK
MISSING DOIs
- None
INVALID DOIs
- None
@kerkelae I've checked your paper and can confirm it looks in order.
These are final steps to complete:
[x] Please archive a copy of the software on ZENODO and report back here with the DOI of the archived version. When you create this archived version be sure to have the title and author meta data match that of the paper (you may need to manually alter this).
[x] Can you inform me of the most recent version tag for this work? Is it still at v0.1
?
@Kevin-Mattheus-Moerman, thank you. Since we changed a few things during the review, I created a new release: v0.1.1
. I archived this version on Zenodo. The DOI is http://doi.org/10.5281/zenodo.4001687.
@kerkelae thanks. However you still need to amend the title and authors of that archive to match the paper title. Let me know when you've completed that.
@whedon set 10.5281/zenodo.4001687 as archive
OK. 10.5281/zenodo.4001687 is the archive.
@whedon set v0.1.1 as version
OK. v0.1.1 is the version.
@Kevin-Mattheus-Moerman It's fixed now.
@whedon accept
Attempting dry run of processing paper acceptance...
Reference check summary:
OK DOIs
- 10.1016/j.neuroimage.2020.117107 is OK
- 10.1016/j.jmr.2018.09.013 is OK
- 10.3389/fninf.2020.00008 is OK
- 10.1016/j.neuroimage.2019.116120 is OK
- 10.1007/978-3-319-46630-9_4 is OK
- 10.1007/978-3-642-15745-5_50 is OK
- 10.1016/j.jmr.2015.10.012 is OK
- 10.1016/j.jmr.2012.10.015 is OK
- 10.1063/1.1695690 is OK
- 10.1145/2833157.2833162 is OK
- 10.1038/s41592-019-0686-2 is OK
- 10.1109/mcse.2011.37 is OK
- 10.1109/tmi.2009.2015756 is OK
- 10.1016/j.neuroimage.2007.02.016 is OK
- 10.1002/nbm.3998 is OK
- 10.1101/140459 is OK
- 10.1109/hotchips.2008.7476516 is OK
MISSING DOIs
- None
INVALID DOIs
- None
:wave: @openjournals/joss-eics, this paper is ready to be accepted and published.
Check final proof :point_right: https://github.com/openjournals/joss-papers/pull/1673
If the paper PDF and Crossref deposit XML look good in https://github.com/openjournals/joss-papers/pull/1673, then you can now move forward with accepting the submission by compiling again with the flag deposit=true
e.g.
@whedon accept deposit=true
@whedon accept deposit=true
Doing it live! Attempting automated processing of paper acceptance...
🐦🐦🐦 👉 Tweet for this paper 👈 🐦🐦🐦
🚨🚨🚨 THIS IS NOT A DRILL, YOU HAVE JUST ACCEPTED A PAPER INTO JOSS! 🚨🚨🚨
Here's what you must now do:
Party like you just published a paper! 🎉🌈🦄💃👻🤘
Any issues? Notify your editorial technical team...
:tada::tada::tada: Congratulations on your paper acceptance! :tada::tada::tada:
If you would like to include a link to your paper from your README use the following code snippets:
Markdown:
[![DOI](https://joss.theoj.org/papers/10.21105/joss.02527/status.svg)](https://doi.org/10.21105/joss.02527)
HTML:
<a style="border-width:0" href="https://doi.org/10.21105/joss.02527">
<img src="https://joss.theoj.org/papers/10.21105/joss.02527/status.svg" alt="DOI badge" >
</a>
reStructuredText:
.. image:: https://joss.theoj.org/papers/10.21105/joss.02527/status.svg
:target: https://doi.org/10.21105/joss.02527
This is how it will look in your documentation:
We need your help!
Journal of Open Source Software is a community-run journal and relies upon volunteer effort. If you'd like to support us please consider doing either one (or both) of the the following:
Submitting author: @kerkelae (Leevi Kerkelä) Repository: https://github.com/kerkelae/disimpy Version: v0.1.1 Editor: @Kevin-Mattheus-Moerman Reviewer: @DARSakthi, @grlee77, @ritagnunes Archive: 10.5281/zenodo.4001687
:warning: JOSS reduced service mode :warning:
Due to the challenges of the COVID-19 pandemic, JOSS is currently operating in a "reduced service mode". You can read more about what that means in our blog post.
Status
Status badge code:
Reviewers and authors:
Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the target repository and link to those issues (especially acceptance-blockers) by leaving comments in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)
Reviewer instructions & questions
@DARSakthi & @grlee77 & @ritagnunes, please carry out your review in this issue by updating the checklist below. If you cannot edit the checklist please:
The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @Kevin-Mattheus-Moerman know.
✨ Please start on your review when you are able, and be sure to complete your review in the next six weeks, at the very latest ✨
Review checklist for @DARSakthi
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper
Review checklist for @grlee77
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper
Review checklist for @ritagnunes
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper