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

[REVIEW]: pySLM2: A full-stack python package for holographic beam shaping #6315

Closed
editorialbot opened this issue Feb 2, 2024 · 122 comments
Closed
Assignees
Labels
accepted published Papers published in JOSS Python recommend-accept Papers recommended for acceptance in JOSS. review TeX Track: 3 (PE) Physics and Engineering

Comments

@editorialbot
Copy link
Collaborator

editorialbot commented Feb 2, 2024

Submitting author: @ldes89150 (Chung-You Shih)
Repository: https://github.com/QITI/pySLM2
Branch with paper.md (empty if default branch): paper
Version: v0.1.0
Editor: @HaoZeke
Reviewers: @brandondube, @sidihamady, @wavefrontshaping
Archive: 10.5281/zenodo.14025566

Status

status

Status badge code:

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

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

@brandondube & @sidihamady & @ktahar & @wavefrontshaping, 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 @HaoZeke 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 @brandondube

📝 Checklist for @sidihamady

📝 Checklist for @wavefrontshaping

@editorialbot
Copy link
Collaborator Author

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
Copy link
Collaborator Author

Software report:

github.com/AlDanial/cloc v 1.88  T=0.01 s (342.9 files/s, 34522.9 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
TeX                              1             16              0            159
Markdown                         1             39              0             65
YAML                             1              1              4             18
-------------------------------------------------------------------------------
SUM:                             3             56              4            242
-------------------------------------------------------------------------------


gitinspector failed to run statistical information for the repository

@editorialbot
Copy link
Collaborator Author

Wordcount for paper.md is 1738

@editorialbot
Copy link
Collaborator Author

Failed to discover a valid open source license

@editorialbot
Copy link
Collaborator Author

👉📄 Download article proof 📄 View article proof on GitHub 📄 👈

@editorialbot
Copy link
Collaborator Author

Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.5281/zenodo.6121191 is OK

MISSING DOIs

- 10.1038/s41534-021-00396-0 may be a valid DOI for title: Reprogrammable and high-precision holographic optical addressing of trapped ions for scalable quantum control
- 10.1364/oe.24.013881 may be a valid DOI for title: Ultra-precise holographic beam shaping for microscopic quantum control
- 10.1016/s0079-6638(08)70072-6 may be a valid DOI for title: III computer-generated holograms: Techniques and applications
- 10.1038/srep00721 may be a valid DOI for title: Robust digital holography for ultracold atom trapping
- 10.1103/physrevlett.127.263603 may be a valid DOI for title: Super-resolved imaging of a single cold atom on a nanosecond timescale
- 10.1103/physrevlett.127.143602 may be a valid DOI for title: Optical superresolution sensing of a trapped ion’s wave packet size
- 10.1103/physrevlett.97.170406 may be a valid DOI for title: Quantized rotation of atoms from photons with orbital angular momentum
- 10.1103/physrevlett.78.4713 may be a valid DOI for title: Novel optical trap of atoms with a doughnut beam
- 10.1364/oe.18.017193 may be a valid DOI for title: Multi-focus two-photon polymerization technique based on individually controlled phase modulation
- 10.1364/ol.44.003178 may be a valid DOI for title: Large-scale uniform optical focus array generation with a phase spatial light modulator
- 10.1038/nature15750 may be a valid DOI for title: Measuring entanglement entropy in a quantum many-body system
- 10.1038/nmeth.1241 may be a valid DOI for title: Holographic photolysis of caged neurotransmitters

INVALID DOIs

- None

@HaoZeke
Copy link
Member

HaoZeke commented Feb 2, 2024

@ldes89150, sorry about this, but after deliberations with @kyleniemeyer (our Associate Editor-in-Chief) I believe it would be best to remove the section on Hardware Integration instead of leaving it in with [not-reviewed]. The rest of the review can proceed, just without that section.

The alternative (preferred) would be having a reviewer with the requisite hardware, but removing the section works as well.

@kyleniemeyer
Copy link

@ldes89150 yes - we can include that section in the paper, if you are able to help us find an editor with access to the hardware.

@ldes89150
Copy link

@kyleniemeyer @HaoZeke
Based on the opensource works, a researcher I can think of that may have the right equipment is: https://github.com/wavefrontshaping

I can declare there is no conflict of interest.

@HaoZeke
Copy link
Member

HaoZeke commented Feb 3, 2024

hi @wavefrontshaping 👋 would you be interested in and available to review this JOSS submission? We carry out our checklist-driven reviews here in GitHub issues and follow these guidelines: joss.readthedocs.io/en/latest/review_criteria.html

If not, could you recommend any potential reviewers?

@wavefrontshaping
Copy link

Hi all,
Works for me. I can review this work!
Not sure how this works though, I read JOSS review guidelines, but where am I supposed to report my comments? Here?

@HaoZeke
Copy link
Member

HaoZeke commented Feb 8, 2024

@editorialbot add @wavefrontshaping as reviewer

Thanks a ton for taking time to review this!

Not sure how this works though, I read JOSS review guidelines, but where am I supposed to report my comments? Here?

The review checklist is generated here by commenting @editorialbot generate my checklist, and the final discussion is here (along with responses to the review) but we also recommend directly opening issues in the repository (mentioning that they're part of a JOSS review.

@editorialbot
Copy link
Collaborator Author

@wavefrontshaping added to the reviewers list!

@wavefrontshaping
Copy link

Hi,

I installed the package in a new environment.
I tried to build the docs using make html.

First, the dependencies for the docs are not installed when I installed the package, did I do something wrong?
I did not find instructions for making the docs in the repo (maybe I missed something), so I add the packages one by one when the errors appeared.
It may be useful to a requirement file in the docs folder.

Then, after installing the necessary packages, I run into an error:

Theme error:
no theme named 'furo' found (missing theme.conf?)

How do I solve that?

@brandondube
Copy link

👋 @wavefrontshaping FYI, JOSS likes reviewers to use github issues on the being-reviewed repository for their reviews, not post questions, etc in the review issue on JOSS.

@ldes89150
Copy link

Hey @wavefrontshaping ,

Thank you so much for helping the review. I opened an issue on github for the problem you encountered.
QITI/pySLM2#10

@sidihamady
Copy link

sidihamady commented Feb 9, 2024

Review checklist for @sidihamady

Conflict of interest

  • I confirm that I have read the JOSS conflict of interest (COI) policy and that: I have no COIs with reviewing this work or that any perceived COIs have been waived by JOSS for the purpose of this review.

Code of Conduct

General checks

  • Repository: Is the source code for this software available at the https://github.com/QITI/pySLM2?
  • License: Does the repository contain a plain-text LICENSE or COPYING file with the contents of an OSI approved software license?
  • Contribution and authorship: Has the submitting author (@ldes89150) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?
  • Substantial scholarly effort: Does this submission meet the scope eligibility described in the JOSS guidelines
  • Data sharing: If the paper contains original data, data are accessible to the reviewers. If the paper contains no original data, please check this item.
  • Reproducibility: If the paper contains original results, results are entirely reproducible by reviewers. If the paper contains no original results, please check this item.
  • Human and animal research: If the paper contains original data research on humans subjects or animals, does it comply with JOSS's human participants research policy and/or animal research policy? If the paper contains no such data, please check this item.

Functionality

  • Installation: Does installation proceed as outlined in the documentation?
  • Functionality: Have the functional claims of the software been confirmed?
  • Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

Documentation

  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • Automated tests: Are there automated tests or manual steps described so that the functionality of the software can be verified?
  • Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Software paper

  • Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • A statement of need: Does the paper have a section titled 'Statement of need' that clearly states what problems the software is designed to solve, who the target audience is, and its relation to other work?
  • State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • References: Is the list of references complete, and is everything cited appropriately that should be cited (e.g., papers, datasets, software)? Do references in the text use the proper citation syntax?

@sidihamady
Copy link

sidihamady commented Feb 9, 2024

Issue: Authors can add a header to each source file

QITI/pySLM2#12

@sidihamady
Copy link

Installation: The package is easy to install and the examples provided allow you to test it without problem. The only example that I can't test is obviously the one that uses the Luxbeam controller since I don't have access to the hardware.

@sidihamady
Copy link

sidihamady commented Feb 16, 2024

  • The use of TensorFlow is a good choice. It can permit faster calculations and other possibilities. Unfortunately I test it only on CPU, without using GPU, then I have no quantitative comparison between calculations speed using GPU and CPU.

  • The code is well written, documented and modular. Then it is easy to understand and to adapt to a specific application.

  • The manuscript is well written, clear and the examples are presented coherently.

  • In the "statement of need" section, authors highlight the advantage of holographic beam shaping using SLM, and then the need of their package. But are there other packages (in Python or not) with the same functionality? And if so, what else does pySLM2 bring?

  • The relative contribution of the three authors is not mentioned. It is assumed that the first author is the main one, but it is necessary to clarify the contributions.

@kyleniemeyer
Copy link

Hello @HaoZeke, @ktahar has asked to step down from reviewing this article. Fortunately, it has more than enough reviewers already.

@kyleniemeyer
Copy link

@editorialbot remove @ktahar as reviewer

@marvelousmonicaaa
Copy link

@marvelousmonicaaa could you update the reference by merging QITI/pySLM2#30?

Hey @HaoZeke, I've merge it. Thanks! Hopefully there's no other issues with the reference!

May I ask what tools you use to check references as editor? Maybe next time we can do the checks ourselves.

@HaoZeke
Copy link
Member

HaoZeke commented Nov 9, 2024

@editorialbot recommend-accept

@marvelousmonicaaa generally I was using editorialbot commands, although that particular issue (wrong labels) should show up if you tried to build the .tex file locally.

@editorialbot
Copy link
Collaborator Author

Attempting dry run of processing paper acceptance...

@editorialbot
Copy link
Collaborator Author

Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

✅ OK DOIs

- 10.1038/s41534-021-00396-0 is OK
- 10.1364/OE.24.013881 is OK
- 10.1016/S0079-6638(08)70072-6 is OK
- 10.5281/zenodo.6121191 is OK
- 10.1038/srep00721 is OK
- 10.1103/PhysRevLett.127.263603 is OK
- 10.1103/PhysRevLett.127.143602 is OK
- 10.1103/PhysRevResearch.6.033038 is OK
- 10.1103/PhysRevLett.97.170406 is OK
- 10.1103/PhysRevLett.78.4713 is OK
- 10.1364/OE.18.017193 is OK
- 10.1364/OL.44.003178 is OK
- 10.1038/nature15750 is OK
- 10.1038/nmeth.1241 is OK
- 10.1364/JOSA.61.000648 is OK
- 10.61835/jcv is OK
- 10.1364/DH.2021.DTh7C.1 is OK
- 10.1364/OPTICA.6.000465 is OK
- 10.1364/OE.16.002176 is OK
- 10.1038/s41467-024-50864-2 is OK

🟡 SKIP DOIs

- No DOI given, and none found for title: A practical algorithm for the determination of pha...
- No DOI given, and none found for title: CuPy: A NumPy-Compatible Library for NVIDIA GPU Ca...

❌ MISSING DOIs

- None

❌ INVALID DOIs

- None

@editorialbot
Copy link
Collaborator Author

👋 @openjournals/pe-eics, this paper is ready to be accepted and published.

Check final proof 👉📄 Download article

If the paper PDF and the deposit XML files look good in openjournals/joss-papers#6109, then you can now move forward with accepting the submission by compiling again with the command @editorialbot accept

@editorialbot editorialbot added the recommend-accept Papers recommended for acceptance in JOSS. label Nov 9, 2024
@kyleniemeyer
Copy link

@ldes89150 can you please correct the author list in the Zenodo archive to match the paper?

@kyleniemeyer
Copy link

or @marvelousmonicaaa, if both of you are authors

@kyleniemeyer
Copy link

@ldes89150 @marvelousmonicaaa regarding the paper, a few things to fix:

  • figure mentions in the paper currently appear as "Fig. Figure 1" and "Fig. Figure 2". Please remove the unnecessary "Fig." occurences in the text.
  • The paper mentions depending on TensorFlow, but I don't see a citation for that. Please add a citation for that and any other dependencies.
  • When you have instances of author names in the text for a citation, please use the @author:2001 citation command format (without square brackets) to get the author name in the text like "Author et al. (2001)". (Such as in the sentence "For a detailed description of the latter method, one can refer to Shih et al. (Shih et al., 2021)." -> "For a detailed description of the latter method, one can refer to Shih et al. (2021).")

@ldes89150
Copy link

@editorialbot check references

@editorialbot
Copy link
Collaborator Author

Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

✅ OK DOIs

- 10.1038/s41534-021-00396-0 is OK
- 10.1364/OE.24.013881 is OK
- 10.1016/S0079-6638(08)70072-6 is OK
- 10.5281/zenodo.6121191 is OK
- 10.1038/srep00721 is OK
- 10.1103/PhysRevLett.127.263603 is OK
- 10.1103/PhysRevLett.127.143602 is OK
- 10.1103/PhysRevResearch.6.033038 is OK
- 10.1103/PhysRevLett.97.170406 is OK
- 10.1103/PhysRevLett.78.4713 is OK
- 10.1364/OE.18.017193 is OK
- 10.1364/OL.44.003178 is OK
- 10.1038/nature15750 is OK
- 10.1038/nmeth.1241 is OK
- 10.1364/JOSA.61.000648 is OK
- 10.61835/jcv is OK
- 10.1364/DH.2021.DTh7C.1 is OK
- 10.1364/OPTICA.6.000465 is OK
- 10.1364/OE.16.002176 is OK
- 10.1038/s41467-024-50864-2 is OK
- 10.5281/zenodo.13989084 is OK

🟡 SKIP DOIs

- No DOI given, and none found for title: A practical algorithm for the determination of pha...
- No DOI given, and none found for title: CuPy: A NumPy-Compatible Library for NVIDIA GPU Ca...

❌ MISSING DOIs

- None

❌ INVALID DOIs

- None

@ldes89150
Copy link

@editorialbot generate pdf

@editorialbot
Copy link
Collaborator Author

👉📄 Download article proof 📄 View article proof on GitHub 📄 👈

@marvelousmonicaaa
Copy link

Hi @kyleniemeyer, sorry about the delay. We have fixed most of the issues now. Just one thing to confirm, I noticed the DOI number in the pdf generated by editoialbot is a '10.xxxxx/draft". I wonder if that is autogenerated DOI for this paper and it will be an actual number after it is published?

@kyleniemeyer
Copy link

@marvelousmonicaaa that paper DOI is a placeholder, it will be updated after accepting.

I only see one minor remaining issue: the author field is incorrect for the new Tensorflow citation (appearing as "Developers, T."). Anything that isn't a person's name needs to be protected with extra { }, otherwise it gets interpreted (and abbreviated) like a name.

@editorialbot
Copy link
Collaborator Author

👉📄 Download article proof 📄 View article proof on GitHub 📄 👈

@marvelousmonicaaa
Copy link

@editorialbot generate pdf

@editorialbot
Copy link
Collaborator Author

👉📄 Download article proof 📄 View article proof on GitHub 📄 👈

@marvelousmonicaaa
Copy link

@kyleniemeyer The tensorflow reference should be good now! Let me know if you spot any new issues!

@kyleniemeyer
Copy link

@editorialbot accept

@editorialbot
Copy link
Collaborator Author

Doing it live! Attempting automated processing of paper acceptance...

@editorialbot
Copy link
Collaborator Author

Ensure proper citation by uploading a plain text CITATION.cff file to the default branch of your repository.

If using GitHub, a Cite this repository menu will appear in the About section, containing both APA and BibTeX formats. When exported to Zotero using a browser plugin, Zotero will automatically create an entry using the information contained in the .cff file.

You can copy the contents for your CITATION.cff file here:

CITATION.cff

cff-version: "1.2.0"
authors:
- family-names: Shih
  given-names: Chung-You
  orcid: "https://orcid.org/0000-0002-7561-6833"
- family-names: Zhu
  given-names: Jingwen
  orcid: "https://orcid.org/0009-0009-0699-8258"
- family-names: Islam
  given-names: Rajibul
  orcid: "https://orcid.org/0000-0002-6483-8932"
contact:
- family-names: Shih
  given-names: Chung-You
  orcid: "https://orcid.org/0000-0002-7561-6833"
doi: 10.5281/zenodo.14025566
message: If you use this software, please cite our article in the
  Journal of Open Source Software.
preferred-citation:
  authors:
  - family-names: Shih
    given-names: Chung-You
    orcid: "https://orcid.org/0000-0002-7561-6833"
  - family-names: Zhu
    given-names: Jingwen
    orcid: "https://orcid.org/0009-0009-0699-8258"
  - family-names: Islam
    given-names: Rajibul
    orcid: "https://orcid.org/0000-0002-6483-8932"
  date-published: 2024-12-11
  doi: 10.21105/joss.06315
  issn: 2475-9066
  issue: 104
  journal: Journal of Open Source Software
  publisher:
    name: Open Journals
  start: 6315
  title: "pySLM2: A full-stack python package for holographic beam
    shaping"
  type: article
  url: "https://joss.theoj.org/papers/10.21105/joss.06315"
  volume: 9
title: "pySLM2: A full-stack python package for holographic beam
  shaping"

If the repository is not hosted on GitHub, a .cff file can still be uploaded to set your preferred citation. Users will be able to manually copy and paste the citation.

Find more information on .cff files here and here.

@editorialbot
Copy link
Collaborator Author

🐘🐘🐘 👉 Toot for this paper 👈 🐘🐘🐘

@editorialbot
Copy link
Collaborator Author

🦋🦋🦋 👉 Bluesky post for this paper 👈 🦋🦋🦋

@editorialbot
Copy link
Collaborator Author

🚨🚨🚨 THIS IS NOT A DRILL, YOU HAVE JUST ACCEPTED A PAPER INTO JOSS! 🚨🚨🚨

Here's what you must now do:

  1. Check final PDF and Crossref metadata that was deposited 👉 Creating pull request for 10.21105.joss.06315 joss-papers#6251
  2. Wait five minutes, then verify that the paper DOI resolves https://doi.org/10.21105/joss.06315
  3. If everything looks good, then close this review issue.
  4. Party like you just published a paper! 🎉🌈🦄💃👻🤘

Any issues? Notify your editorial technical team...

@editorialbot editorialbot added accepted published Papers published in JOSS labels Dec 11, 2024
@kyleniemeyer
Copy link

Congratulations @ldes89150 & @marvelousmonicaaa on your article's publication in JOSS! Please consider signing up as a reviewer if you haven't already.

Many thanks to @brandondube, @sidihamady, and @wavefrontshaping for reviewing this, and @HaoZeke for editing.

@editorialbot
Copy link
Collaborator Author

🎉🎉🎉 Congratulations on your paper acceptance! 🎉🎉🎉

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.06315/status.svg)](https://doi.org/10.21105/joss.06315)

HTML:
<a style="border-width:0" href="https://doi.org/10.21105/joss.06315">
  <img src="https://joss.theoj.org/papers/10.21105/joss.06315/status.svg" alt="DOI badge" >
</a>

reStructuredText:
.. image:: https://joss.theoj.org/papers/10.21105/joss.06315/status.svg
   :target: https://doi.org/10.21105/joss.06315

This is how it will look in your documentation:

DOI

We need your help!

The 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:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepted published Papers published in JOSS Python recommend-accept Papers recommended for acceptance in JOSS. review TeX Track: 3 (PE) Physics and Engineering
Projects
None yet
Development

No branches or pull requests

8 participants