openjournals / joss-reviews

Reviews for the Journal of Open Source Software
Creative Commons Zero v1.0 Universal
712 stars 38 forks source link

[REVIEW]: elsa: an elegant framework for tomographic reconstruction #6174

Closed editorialbot closed 7 months ago

editorialbot commented 9 months ago

Submitting author: !--author-handle-->@ner0-m<!--end-author-handle-- (David Frank) Repository: https://gitlab.com/tum-ciip/elsa Branch with paper.md (empty if default branch): df/joss-paper Version: v0.8.2 Editor: !--editor-->@jbytecode<!--end-editor-- Reviewers: @uellue, @DanNixon Archive: 10.5281/zenodo.10609174

Status

status

Status badge code:

HTML: <a href="https://joss.theoj.org/papers/cd26f77e40404f0403c91531e61b07e9"><img src="https://joss.theoj.org/papers/cd26f77e40404f0403c91531e61b07e9/status.svg"></a>
Markdown: [![status](https://joss.theoj.org/papers/cd26f77e40404f0403c91531e61b07e9/status.svg)](https://joss.theoj.org/papers/cd26f77e40404f0403c91531e61b07e9)

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

@uellue & @DanNixon, your review will be checklist based. Each of you will have a separate checklist that you should update when carrying out your review. First of all you need to run this command in a separate comment to create the checklist:

@editorialbot generate my checklist

The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @jbytecode 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

Checklists

📝 Checklist for @DanNixon

📝 Checklist for @uellue

editorialbot commented 9 months ago

Hello humans, I'm @editorialbot, a robot that can help you with some common editorial tasks.

For a list of things I can do to help you, just type:

@editorialbot commands

For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:

@editorialbot generate pdf
editorialbot commented 9 months ago
Software report:

github.com/AlDanial/cloc v 1.88  T=0.52 s (1476.8 files/s, 249150.7 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
C++                            359          14455           4912          70039
C/C++ Header                   239           3693           7752          12964
CMake                           57            523            584           3004
Python                          38            945            585           2794
CUDA                            14            317            345           1449
Markdown                        15            444              0           1275
YAML                             5             86            116            661
Bourne Shell                    16            148             82            647
reStructuredText                20            397            289            596
TeX                              1             16              0            236
JSON                             1              3              0            153
make                             2             42             16            152
TOML                             1              3              0             15
JavaScript                       1              0              0              1
-------------------------------------------------------------------------------
SUM:                           769          21072          14681          93986
-------------------------------------------------------------------------------

gitinspector failed to run statistical information for the repository
editorialbot commented 9 months ago

Wordcount for paper.md is 1104

editorialbot commented 9 months ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.21105/joss.04722 is OK
- 10.1098/rsta.2020.0192 is OK
- 10.1098/rsta.2020.0193 is OK
- 10.1364/oe.24.025129 is OK
- 10.1117/12.2534833 is OK
- 10.1088/2631-8695/ac8224 is OK
- 10.1117/12.2646492 is OK
- 10.1088/2631-8695/ad08fd is OK
- 10.1109/tci.2023.3240078 is OK
- 10.48550/ARXIV.2304.14505 is OK
- 10.48550/arXiv.2310.16846 is OK
- 10.5281/zenodo.6986012 is OK
- 10.5281/zenodo.6983008 is OK
- 10.1103/PhysRevLett.117.158101 is OK
- 10.1038/nphys265 is OK

MISSING DOIs

- None

INVALID DOIs

- None
editorialbot commented 9 months ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

jbytecode commented 9 months ago

Dear @uellue and @DanNixon

Thank you for accepting our invitation to review for JOSS.

This is the review thread. Firstly, type

@editorialbot generate my checklist

to generate your own checklist. In that checklist, there are many check items. Whenever you complete the corresponding task, you can check them off.

Please write your comments as separate posts and do not modify your checklist descriptions.

The review process is interactive so you can always interact with the authors, reviewers, and the editor. You can also create issues and pull requests in the target repository. Please do mention this thread's URL in the issues so we can keep tracking what is going on out of our world.

Please do not hesitate to ask me about anything at anytime.

Thank you in advance!

DanNixon commented 9 months ago

Review checklist for @DanNixon

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

uellue commented 8 months ago

Review checklist for @uellue

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

uellue commented 8 months ago

@ner0-m thank you for publishing this software package! It looks very good, all in all. I just ran into some hiccups with the installation and with running the examples that should be easily fixable:

Functionality

Documentation

@jbytecode @DanNixon I've checked off the "State of the field" and "References" items, but that should be understood as "undefined" since it is not my specialty. Someone with more background in X-Ray tomography should confirm that. Furthermore I've focused on the Python interface and examples since I am not a C++ developer. The C++ side should also be reviewed by someone more competent.

That concludes my first round of review!

jbytecode commented 8 months ago

@uellue - Thank you for your first turn of the review. If our reviewer @DanNixon doesn't feel comfortable with the issues you mentioned above, we can invite one more reviewer. Let's wait a little bit so @ner0-m can correct your suggestions. Meanwhile, @DanNixon completes their first turn.

DanNixon commented 8 months ago

Hi all, have been a bit busy so been getting this done in small chunks, got the last bit of looking at the software itself done this evening.

Overall this looks very good.

The installation instructions did work fine for me on a clean Ubuntu 22.04 container.

I agree that the Python side seems rather undocumented, other than the examples and guide. Perhaps the documentation could be improved to more clearly state the how elsa interacts with pyelsa. From what I see pyelsa is a very minimal wrapper, in which case the lack of Python automated testing and API documentation make sense, but a clear statement of this would be beneficial.

Other than this I don't think I have any further suggestions above what @uellue has already mentioned.

I'm quite happy with the C++ side and that as a library it is providing new value above to the field (at least based on my experience with ASTRA and CIL).

ner0-m commented 8 months ago

Hi all!

First and foremost, thanks for the feedback. I find it very valuable!

I' already tried to address a couple of the issues:

Perhaps the documentation could be improved to more clearly state the how elsa interacts with pyelsa. From what I see pyelsa is a very minimal wrapper, in which case the lack of Python automated testing and API documentation make sense, but a clear statement of this would be beneficial.

Yes, you are correct in that our Python bindings only wrap our C++ code without much additional functionality. I do agree that that should be clarified. As such, we do not have many tests on the Python side. However, we have a couple of things to ensure correct interaction between the sides, which I'll take note of and document on running those!

That would address most of the points mentioned here. Please let me know if I missed something. I'm quite confident that I'll address all of these in the coming week.

EDIT: spelling

ner0-m commented 8 months ago

Hi all!

@jbytecode I've addressed the issues mentioned here. I want to summarize quickly:

@DanNixon @uellue If you have any other points I should address, please let me know!

DanNixon commented 8 months ago

@ner0-m I'm happy with those changes, they appear to address any issues I had.

uellue commented 8 months ago

@ner0-m thank you for addressing these points! All my items are checked and I cordially recommend this for publication. I'll still try installing a newer GCC with Conda, I'll report in the elsa issue tracker.

jbytecode commented 8 months ago

@uellue - There are still unchecked review items in your list. Please ping me when you have finished checking them. Thank you in advance.

uellue commented 8 months ago

@jbytecode done!

jbytecode commented 8 months ago

@uellue Thank you so much!

jbytecode commented 8 months ago

@editorialbot check references

editorialbot commented 8 months ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.21105/joss.04722 is OK
- 10.1098/rsta.2020.0192 is OK
- 10.1098/rsta.2020.0193 is OK
- 10.1364/oe.24.025129 is OK
- 10.1117/12.2534833 is OK
- 10.1088/2631-8695/ac8224 is OK
- 10.1117/12.2646492 is OK
- 10.1088/2631-8695/ad08fd is OK
- 10.1109/tci.2023.3240078 is OK
- 10.48550/ARXIV.2304.14505 is OK
- 10.48550/arXiv.2310.16846 is OK
- 10.5281/zenodo.6986012 is OK
- 10.5281/zenodo.6983008 is OK
- 10.1103/PhysRevLett.117.158101 is OK
- 10.1038/nphys265 is OK

MISSING DOIs

- None

INVALID DOIs

- None
jbytecode commented 8 months ago

@editorialbot generate pdf

editorialbot commented 8 months ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

jbytecode commented 8 months ago

Dear @ner0-m,

I've just sent a pr into the repository. Since I'm not familiar with the gitlab, it may be possibly incorrect, so I am reporting the change here:

Thank you in advance

ner0-m commented 8 months ago

@editorialbot generate pdf

editorialbot commented 8 months ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

ner0-m commented 8 months ago

@jbytecode Fixed that. As mentioned there, I've seen your MR too late and done it myself quickly.

ner0-m commented 8 months ago

@editorialbot generate pdf

editorialbot commented 8 months ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

jbytecode commented 8 months ago

Post-Review Checklist for Editor and Authors

Additional Author Tasks After Review is Complete

Editor Tasks Prior to Acceptance

jbytecode commented 8 months ago

@ner0-m - Thank you for applying the change. Could you please perform the tasks listed in the previous post under the title Additional Author Tasks After Review is Complete ? These tasks mainly include a tagged release in the target repository and registering the latest form in a service like Zenodo. Please provide me the required information when you've done with them. Thank you in advance!

ner0-m commented 8 months ago

I've completed all of the above.

The DOI is: 10.5281/zenodo.10609174 and the archived release 0.8.2 can be found here. Created with here. I've double-checked the authors, affiliations, and licenses. To the best of my knowledge that should all be fine.

Please let me know if you need any further info.

jbytecode commented 8 months ago

@ner0-m - Could you please provide ORCIDs of authors in both the manuscript and the archive?

jbytecode commented 8 months ago

@editorialbot set v0.8.2 as version

editorialbot commented 8 months ago

Done! version is now v0.8.2

ner0-m commented 7 months ago

@jbytecode ORCIDs are updated in both

jbytecode commented 7 months ago

@editorialbot set 10.5281/zenodo.10609174 as archive

editorialbot commented 7 months ago

Done! archive is now 10.5281/zenodo.10609174

jbytecode commented 7 months ago

@editorialbot check references

editorialbot commented 7 months ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.21105/joss.04722 is OK
- 10.1098/rsta.2020.0192 is OK
- 10.1098/rsta.2020.0193 is OK
- 10.1364/oe.24.025129 is OK
- 10.1117/12.2534833 is OK
- 10.1088/2631-8695/ac8224 is OK
- 10.1117/12.2646492 is OK
- 10.1088/2631-8695/ad08fd is OK
- 10.1109/tci.2023.3240078 is OK
- 10.48550/ARXIV.2304.14505 is OK
- 10.48550/arXiv.2310.16846 is OK
- 10.5281/zenodo.6986012 is OK
- 10.5281/zenodo.6983008 is OK
- 10.1103/PhysRevLett.117.158101 is OK
- 10.1038/nphys265 is OK

MISSING DOIs

- None

INVALID DOIs

- None
jbytecode commented 7 months ago

@editorialbot generate pdf

editorialbot commented 7 months ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

jbytecode commented 7 months ago

@ner0-m - The 2nd author's ORCID does not still exist in the manuscript. Could you please fix it?

jbytecode commented 7 months ago

@ner0-m - I think it is because of the orcid of 2nd author is written incorrectly as

oricd: 0000-0002-5167-2419

but it should be

orcid: 0000-0002-5167-2419

ner0-m commented 7 months ago

@editorialbot generate pdf

editorialbot commented 7 months ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

ner0-m commented 7 months ago

@jbytecode I've updated it. Locally, it now shows ORCIDs for all. Sorry for the hiccups.

ner0-m commented 7 months ago

@editorialbot generate pdf

editorialbot commented 7 months ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

jbytecode commented 7 months ago

@editorialbot check references

editorialbot commented 7 months ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.21105/joss.04722 is OK
- 10.1098/rsta.2020.0192 is OK
- 10.1098/rsta.2020.0193 is OK
- 10.1364/oe.24.025129 is OK
- 10.1117/12.2534833 is OK
- 10.1088/2631-8695/ac8224 is OK
- 10.1117/12.2646492 is OK
- 10.1088/2631-8695/ad08fd is OK
- 10.1109/tci.2023.3240078 is OK
- 10.48550/ARXIV.2304.14505 is OK
- 10.48550/arXiv.2310.16846 is OK
- 10.5281/zenodo.6986012 is OK
- 10.5281/zenodo.6983008 is OK
- 10.1103/PhysRevLett.117.158101 is OK
- 10.1038/nphys265 is OK

MISSING DOIs

- None

INVALID DOIs

- None