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]: PhysioLabXR: A Python Platform for Real-Time, Multi-modal, Brain–Computer Interfaces and Extended Reality Experiments #5854

Closed
editorialbot opened this issue Sep 18, 2023 · 96 comments
Assignees
Labels
accepted C++ published Papers published in JOSS Python recommend-accept Papers recommended for acceptance in JOSS. review TeX Track: 2 (BCM) Biomedical Engineering, Biosciences, Chemistry, and Materials

Comments

@editorialbot
Copy link
Collaborator

editorialbot commented Sep 18, 2023

Submitting author: @ApocalyVec (Ziheng Li)
Repository: https://github.com/PhysioLabXR/PhysioLabXR
Branch with paper.md (empty if default branch): joss-paper
Version: v1.1.1
Editor: @mstimberg
Reviewers: @lucask07, @nastaran62
Archive: 10.5281/zenodo.10471500

Status

status

Status badge code:

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

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

@lucask07 & @nastaran62, 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 @mstimberg 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 @lucask07

📝 Checklist for @nastaran62

@editorialbot editorialbot added C++ Python review TeX Track: 2 (BCM) Biomedical Engineering, Biosciences, Chemistry, and Materials labels Sep 18, 2023
@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.45 s (1014.7 files/s, 136953.2 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Python                         260           5452           6213          18700
C                                2            682           2377          14010
Qt                              42              1              0          11086
JSON                            54              9              0            689
TeX                              1             60              0            497
SVG                             83              2             12            374
Markdown                         2            136              5            355
Cython                           5             73            109            214
TOML                             1              7             11             48
Arduino Sketch                   1             14             19             39
Bourne Shell                     2              8             18             36
YAML                             1              1              4             18
-------------------------------------------------------------------------------
SUM:                           454           6445           8768          46066
-------------------------------------------------------------------------------


gitinspector failed to run statistical information for the repository

@editorialbot
Copy link
Collaborator Author

Wordcount for paper.md is 2572

@editorialbot
Copy link
Collaborator Author

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

OK DOIs

- 10.1162/pres.19.1.35 is OK
- 10.1016/j.jneumeth.2018.03.020 is OK
- 10.1017/S0952523810000283 is OK
- 10.1177/1073858405280524 is OK
- 10.1088/1741-2552/ac4593 is OK
- 10.1145/355017.355028 is OK
- 10.1109/34.730558 is OK
- 10.1145/3204493.3204538 is OK
- 10.1167/12.7.4 is OK
- 10.1016/j.jneumeth.2006.11.017 is OK
- 10.1101/2022.12.16.520764 is OK
- 10.3389/fnins.2020.00900 is OK
- 10.1109/WACV.2016.7477553 is OK
- 10.1088/1741-2560/10/5/056014 is OK
- 10.3390/s21238135 is OK
- 10.1007/s10055-023-00799-8 is OK
- 10.1109/ACCESS.2020.2967903 is OK
- 10.1109/MCSE.2010.118 is OK
- 10.1016/j.jneumeth.2007.07.017 is OK
- 10.3389/fnhum.2019.00261 is OK
- 10.1016/0013-4694(88)90149-6 is OK
- 10.1016/j.bandc.2016.06.004 is OK
- 10.1167/jov.21.1.3 is OK
- 10.48550/arXiv.2209.15182 is OK
- 10.1007/978-3-319-46723-8_25 is OK
- 10.1002/hbm.22466 is OK
- 10.1109/T-AFFC.2011.15 is OK
- 10.1016/j.jneumeth.2021.109458 is OK
- 10.3389/fnhum.2017.00503 is OK
- 10.3390/brainsci10100687 is OK
- 10.1016/j.clinph.2015.06.004 is OK
- 10.1201/9781351231954 is OK
- 10.1088/1741-2552/acf1cb is OK
- 10.1145/3534601 is OK
- 10.1016/j.jneumeth.2014.06.033 is OK
- 10.1117/1.NPh.4.4.041504 is OK

MISSING DOIs

- 10.5040/9781350983816 may be a valid DOI for title: Unity
- 10.1007/3-211-27183-x_1 may be a valid DOI for title: MATLAB

INVALID DOIs

- None

@editorialbot
Copy link
Collaborator Author

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

@Kevin-Mattheus-Moerman
Copy link
Member

Kevin-Mattheus-Moerman commented Oct 4, 2023

@mstimberg Thanks again for editing this submission. Could you check in with the reviewers to see how they are getting on?

@mstimberg
Copy link

@Kevin-Mattheus-Moerman I will!

@mstimberg
Copy link

👋 @lucask07, @nastaran62 How are looking things from your side, did you find time to look at the software/paper yet?

Please be reminded that JOSS reviews can be iterative, i.e. feel free to open issues or comment here as soon as you come across concerns – there is no need to gather everything into a single review text as commonly done for traditional journals. In the same vein, please generate your checklist and feel free to tick boxes in your checklist whenever you are sure about them (the two in the beginning – conflict of interest and code of conduct – would be good first candidates 😉 ). Thank you for your time, and please let me know if anything about the process is unclear or if there is anything else I can do to help move things along 🙏 !

@lucask07
Copy link

lucask07 commented Oct 4, 2023

Hi @mstimberg,
I have not had time to look at the software/paper yet. It is certainly still on my list. There were many ~Oct 1 deadlines so I should now be able to get to this soon.

@lucask07
Copy link

lucask07 commented Oct 4, 2023

Review checklist for @lucask07

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/PhysioLabXR/PhysioLabXR?
  • License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • Contribution and authorship: Has the submitting author (@ApocalyVec) 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?

@lucask07
Copy link

lucask07 commented Oct 5, 2023

Hi @ApocalyVec, thanks for this nice work. The paper has a few references to 'real-time'. I consider this a 'performance' claim as per the checkbox above. Could you please elaborate in the paper on what is meant by real-time (milliseconds, microseconds as in an RTOS, etc.)? Further what has been done to verify the real-time performance?

Second, the paper mentions closed-loop control: lines 26-27 "often involving closed-loop interaction systems". Has the software been set up to mediate a closed-loop configuration? If so what sensors and actuators were used and what latency did the software support?

I post these comments here, rather than as an issue on the source repository, since each is very specific to the JOSS paper.

@lucask07
Copy link

lucask07 commented Oct 5, 2023

@ApocalyVec a few paper grammar notes:

  1. Line 87 extra space
  2. Line 142 stray period after maximizing (?)
  3. Line 151 to 154: unclear / awkward sentence

@lucask07
Copy link

lucask07 commented Oct 5, 2023

@ApocalyVec

Could you please walk us through the checkbox for "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."

I see an example dataset such as Eye fixation data and am not sure if this data is relevant to the policy and if it is relevant if the research complies with the JOSS policy.

Fig. 2 of the manuscript also seems to have human subject data. Please help us understand need for compliance here as well.

@nastaran62
Copy link

Hi @mstimberg,
I haven't started the review yet and still a little busier than normal. But I will start it soon.

@nastaran62
Copy link

nastaran62 commented Oct 10, 2023

Review checklist for @nastaran62

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/PhysioLabXR/PhysioLabXR?
  • License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • Contribution and authorship: Has the submitting author (@ApocalyVec) 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?

@mstimberg
Copy link

Hi @ApocalyVec, did you have a chance to look at @lucask07 earlier comments? And could you please comment on whether the eye fixation data set is original, otherwise unpublished data that has been collected by the authors of this manuscript.

@mstimberg
Copy link

👋 @nastaran62 how are things going, did you have a chance yet to work on the review of the software/manuscript?

@ApocalyVec
Copy link

Hey @mstimberg, thanks for checking in with us, and thank you @lucask07 for the constructive feedback! My team and I are working on a comprehensive response addressing the issues you raised. We will get back to you by Thursday 10/25.

@nastaran62
Copy link

@mstimberg I'm working on it. Hopefully, I will give my comments by the end of this week. Sorry for my delayed review.

@nastaran62
Copy link

@ApocalyVec Thank you very much for your excellent work. I have some comments and questions as follows:

Document:
1- The section "Python API, Write your data source script" doesn't have any content. Also, it seems that there is no solution or explanation for visualizing the data recorded in this way.

2- I can't see any API reference in the documents (No document in the code). API documentation are very helpful in tutorials/examples.

3- This tutorial, "Building ERP Classifier based on EEG and Pupil Size" is not clear.

paper:

1- It's better to keep the figures' captions short and explain them in the main body.
2- I suggest adding a conclusion section to the paper, including software limitations, future work, and a summary.
3- In several parts of the paper, the authors claimed high performance and rapid prototyping for developing experiments. I suggest comparing its performance with similar software or libraries like PsychoPy and Octopus Sensing
4- I can see this software has many features similar to Octopus Sensing (related paper in JOSS: https://joss.theoj.org/papers/10.21105/joss.04045). It may be good to discuss why you chose not to integrate with or extend it.

Software:
1-Usually, in EEG-based studies, we need to send a marker or trigger to mark an event on data between start and stop. It seems that PhysioLabXR doesn't support this. or maybe it records markers in a separate file from the sensor data. (In this case, we need a script to match it with data and know when exactly the event happened, for example, visualization or processing). Could you please explain if it is possible to add it to PhysioLabXR, or how do you handle this currently? I also suggest adding it as an issue to the repository to resolve in the future.

2- It seems that LSL has been used for data recording from any sensor. If so, the system performance depends on the network and the other software for reading data from a sensor. Could you please make it more clear or discuss it?

Installation
1- I installed it with pip. It was done successfully. However, it had some errors in pyaudio installation (Ubuntu OS).

@ApocalyVec
Copy link

Hi @ApocalyVec, thanks for this nice work. The paper has a few references to 'real-time'. I consider this a 'performance' claim as per the checkbox above. Could you please elaborate in the paper on what is meant by real-time (milliseconds, microseconds as in an RTOS, etc.)? Further what has been done to verify the real-time performance?

Second, the paper mentions closed-loop control: lines 26-27 "often involving closed-loop interaction systems". Has the software been set up to mediate a closed-loop configuration? If so what sensors and actuators were used and what latency did the software support?

I post these comments here, rather than as an issue on the source repository, since each is very specific to the JOSS paper.

Hi @lucask07, thank you for your review and constructive feedback, and I apologize it took a while to get back to you. To answer your questions,

PhysioLabXR is a soft real-time system. On the main thread, the best case is when all data is pulled from the network/device buffer before new data becomes available. Otherwise, data will accumulate in their buffers, leading to deteriorating performance. Within PhysioLabXR, we do the following to get close to a smooth run time:

  • Pull data: the operation collects all available data at once. The acquired data are processed by the following subroutines, each run on a different timer. Not all of them may be running depending on the user’s task. In the system, the pull-data threads have the highest priorities.
  • Visualization: displaying the data in the GUI. Default at 30 Hz. Viz frame-per-second is influenced by the amount of data that needs to be updated between frames (e.g., the number of channels, image resolution, etc.)
  • Real-time filtering: the real-time filtering happens right after the data has been pulled. Filter parameters such as order and buffer size can affect the overhead it adds.
  • Recording: evicting the recording buffer to disk. Default at 1 Hz.
  • Forward input data to user scripts: run frequency depends on user settings.

The actual runtime performance of PhysioLabXR varies depending on the specs of the host computer, other running tasks competing for CPU time, and the amount of data that the user is streaming.

We added to the docs: benchmarks across data throughputs commonly found in physiological experiments as a de facto verification of the performance.

https://physiolabxrdocs.readthedocs.io/en/latest/Benchmarks.html

The metrics in the benchmarks measure the running frequencies of 1) visualization and 2) pull data. This is because these two subroutines sit at the two sides of the spectrum in terms of priority. The plotting is the lowest priority thread in PhysioLabXR because missing the deadline has the least impact on the system’s integrity (though it affects user experience).

We hope including these benchmarks can give users a hint at what performance level they should expect given their experiment setup.

@ApocalyVec
Copy link

@ApocalyVec

Could you please walk us through the checkbox for "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."

I see an example dataset such as Eye fixation data and am not sure if this data is relevant to the policy and if it is relevant if the research complies with the JOSS policy.

Fig. 2 of the manuscript also seems to have human subject data. Please help us understand need for compliance here as well.

@lucask07 @mstimberg Thanks for raising the concern about data policy from human subjects. Let me clarify what data is in the paper. We obtained consent before collecting the data, and it is deidentified in the form that is presented (the data shown in the paper was, in fact, contributed by one of the co-authors). All the procedures we carried out while developing the software are in accordance with the Declaration of Helsinki.

@ApocalyVec
Copy link

@ApocalyVec a few paper grammar notes:

  1. Line 87 extra space
  2. Line 142 stray period after maximizing (?)
  3. Line 151 to 154: unclear / awkward sentence

Hey @lucask07 really appreciate catching these mistakes! Just pushed the fix, asking the bot to compile a new proof now!

@ApocalyVec
Copy link

very small PR

Merged. DOI for the Octopus Sensing is in the paper. @mstimberg Please let us know if we can help with other stuff. Thank you!

@mstimberg
Copy link

@editorialbot set v1.1.1 as version

@editorialbot
Copy link
Collaborator Author

Done! version is now v1.1.1

@mstimberg
Copy link

@editorialbot generate pdf

@editorialbot
Copy link
Collaborator Author

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

@mstimberg
Copy link

@mstimberg Please let us know if we can help with other stuff. Thank you!

All looks good to me now, handing over to the topic editor 🚀

@mstimberg
Copy link

@editorialbot recommend-accept

@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.1162/pres.19.1.35 is OK
- 10.1016/j.jneumeth.2018.03.020 is OK
- 10.1017/S0952523810000283 is OK
- 10.1177/1073858405280524 is OK
- 10.1088/1741-2552/ac4593 is OK
- 10.1145/355017.355028 is OK
- 10.1109/34.730558 is OK
- 10.1145/3204493.3204538 is OK
- 10.1167/12.7.4 is OK
- 10.1016/j.jneumeth.2006.11.017 is OK
- 10.1101/2022.12.16.520764 is OK
- 10.3389/fnins.2020.00900 is OK
- 10.1109/WACV.2016.7477553 is OK
- 10.1088/1741-2560/10/5/056014 is OK
- 10.3390/s21238135 is OK
- 10.1007/s10055-023-00799-8 is OK
- 10.1109/ACCESS.2020.2967903 is OK
- 10.1109/MCSE.2010.118 is OK
- 10.1016/j.jneumeth.2007.07.017 is OK
- 10.3389/fnhum.2019.00261 is OK
- 10.1016/0013-4694(88)90149-6 is OK
- 10.1016/j.bandc.2016.06.004 is OK
- 10.1167/jov.21.1.3 is OK
- 10.48550/arXiv.2209.15182 is OK
- 10.1007/978-3-319-46723-8_25 is OK
- 10.1002/hbm.22466 is OK
- 10.1109/T-AFFC.2011.15 is OK
- 10.1016/j.jneumeth.2021.109458 is OK
- 10.3389/fnhum.2017.00503 is OK
- 10.3390/brainsci10100687 is OK
- 10.1016/j.clinph.2015.06.004 is OK
- 10.1201/9781351231954 is OK
- 10.1088/1741-2552/acf1cb is OK
- 10.1145/3534601 is OK
- 10.1016/j.jneumeth.2014.06.033 is OK
- 10.1117/1.NPh.4.4.041504 is OK
- 10.21105/joss.04045 is OK

MISSING DOIs

- 10.5040/9781350983816 may be a valid DOI for title: Unity

INVALID DOIs

- None

@editorialbot
Copy link
Collaborator Author

👋 @openjournals/bcm-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#4893, 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 Jan 9, 2024
@Kevin-Mattheus-Moerman
Copy link
Member

Kevin-Mattheus-Moerman commented Jan 11, 2024

@ApocalyVec As AEiC I will now help process this work for acceptance in JOSS. I have checked the paper, this review, your repository, and the archive link. Most seems in order. Below is one minor point that needs your attention.

  • Please add the city, state to your affiliation, and please spell out USA as United States of America.

@ApocalyVec
Copy link

ApocalyVec commented Jan 11, 2024

@ApocalyVec As AEiC I will now help process this work for acceptance in JOSS. I have checked the paper, this review, your repository, and the archive link. Most seems in order. Below is one minor point that needs your attention.

  • Please add the city, state to your affiliation, and please spell out USA as United States of America.

@Kevin-Mattheus-Moerman Updated! See here

  • Please add the city, state to your affiliation, and please spell out USA as United States of America.

@Kevin-Mattheus-Moerman
Copy link
Member

@editorialbot generate pdf

@editorialbot
Copy link
Collaborator Author

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

@Kevin-Mattheus-Moerman
Copy link
Member

@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: Li
  given-names: Ziheng 'Leo'
  orcid: "https://orcid.org/0000-0001-5187-200X"
- family-names: Wei
  given-names: Haowen 'John'
  orcid: "https://orcid.org/0000-0003-1856-5627"
- family-names: Xie
  given-names: Ziwen
  orcid: "https://orcid.org/0009-0006-2304-7591"
- family-names: Peng
  given-names: Yunxiang
  orcid: "https://orcid.org/0009-0000-1824-970X"
- family-names: Suh
  given-names: June Pyo
  orcid: "https://orcid.org/0009-0005-1211-6101"
- family-names: Feiner
  given-names: Steven
  orcid: "https://orcid.org/0000-0001-9978-7090"
- family-names: Sajda
  given-names: Paul
  orcid: "https://orcid.org/0000-0002-9738-1342"
contact:
- family-names: Li
  given-names: Ziheng 'Leo'
  orcid: "https://orcid.org/0000-0001-5187-200X"
doi: 10.5281/zenodo.10471500
message: If you use this software, please cite our article in the
  Journal of Open Source Software.
preferred-citation:
  authors:
  - family-names: Li
    given-names: Ziheng 'Leo'
    orcid: "https://orcid.org/0000-0001-5187-200X"
  - family-names: Wei
    given-names: Haowen 'John'
    orcid: "https://orcid.org/0000-0003-1856-5627"
  - family-names: Xie
    given-names: Ziwen
    orcid: "https://orcid.org/0009-0006-2304-7591"
  - family-names: Peng
    given-names: Yunxiang
    orcid: "https://orcid.org/0009-0000-1824-970X"
  - family-names: Suh
    given-names: June Pyo
    orcid: "https://orcid.org/0009-0005-1211-6101"
  - family-names: Feiner
    given-names: Steven
    orcid: "https://orcid.org/0000-0001-9978-7090"
  - family-names: Sajda
    given-names: Paul
    orcid: "https://orcid.org/0000-0002-9738-1342"
  date-published: 2024-01-11
  doi: 10.21105/joss.05854
  issn: 2475-9066
  issue: 93
  journal: Journal of Open Source Software
  publisher:
    name: Open Journals
  start: 5854
  title: "PhysioLabXR: A Python Platform for Real-Time, Multi-modal,
    Brain--Computer Interfaces and Extended Reality Experiments"
  type: article
  url: "https://joss.theoj.org/papers/10.21105/joss.05854"
  volume: 9
title: "PhysioLabXR: A Python Platform for Real-Time, Multi-modal,
  Brain--Computer Interfaces and Extended Reality Experiments"

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

🚨🚨🚨 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.05854 joss-papers#4900
  2. Wait five minutes, then verify that the paper DOI resolves https://doi.org/10.21105/joss.05854
  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 Jan 11, 2024
@Kevin-Mattheus-Moerman
Copy link
Member

@ApocalyVec Congratulations on this JOSS publication!

Thanks for editing @mstimberg, and a special thanks to the reviewers: @lucask07, @nastaran62 !!

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

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

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

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:

@ApocalyVec
Copy link

ApocalyVec commented Jan 12, 2024

Hi @Kevin-Mattheus-Moerman @mstimberg, @lucask07, @nastaran62, and the JOSS team,

We are thrilled to see "PhysioLabXR" published in JOSS! 🎉 We want to express our sincere gratitude to each of you for your invaluable contributions throughout the review process.

@mstimberg @Kevin-Mattheus-Moerman for your guidance as the editor in shaping the final version of our paper. To @lucask07 and @nastaran62, for your thorough and insightful reviews were incredibly helpful for both the paper and the software!

This collaborative effort has been a rewarding journey, and your support has been a significant part of its success. I'm looking forward to possibly crossing paths with y'all again in the future.

Again, thank you all once for your time, expertise, and constructive feedback!

Best regards,
@ApocalyVec & the PhysioLabXR Team

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepted C++ published Papers published in JOSS Python recommend-accept Papers recommended for acceptance in JOSS. review TeX Track: 2 (BCM) Biomedical Engineering, Biosciences, Chemistry, and Materials
Projects
None yet
Development

No branches or pull requests

7 participants