Submitting author: @rhenanbartels (Rhenan Bartels)
Repository: https://github.com/rhenanbartels/hrv
Version: 0.2.8
Editor: @Kevin-Mattheus-Moerman
Reviewers: @paulvangentcom, @Kevin-Mattheus-Moerman
Archive: 10.5281/zenodo.3960216
Status badge code:
HTML: <a href="https://joss.theoj.org/papers/62c8ad17a3fdb61dcb73b34f61ef0f18"><img src="https://joss.theoj.org/papers/62c8ad17a3fdb61dcb73b34f61ef0f18/status.svg"></a>
Markdown: [](https://joss.theoj.org/papers/62c8ad17a3fdb61dcb73b34f61ef0f18)
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.)
@hooman650 & @PGomes92 & @paulvangentcom, 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 try and complete your review in the next two weeks β¨
Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @hooman650, @PGomes92, @paulvangentcom it looks like you're currently assigned to review this paper :tada:.
: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
Attempting PDF compilation. Reticulating splines etc...
@hooman650, @PGomes92, @paulvangentcom thanks for agreeing to review this work. You have instructions and check-boxes at the top of this issue to guide you through the process.
You can comment on this submission in this review issue. For longer/larger issue we suggest you open an issue on the project repository instead and link to it here. We also encourage you to make use of checkboxes in your comments so it is easy to keep track of steps/comments the author still needs to work on. You can do this using - [ ]
.
Let me know if you have questions.
@hooman650, @PGomes92, @paulvangentcom thanks for your help in reviewing this work!
Can you give an update on review progress?
@paulvangentcom I see you've started and have been ticking boxes. Please list any issues you've identified if any, so @rhenanbartels can start working on them. Tanks!
I have opened an issue in the toolbox repository. There are many HRV toolboxes available that exactly perform the same computations (time, frequency and nonlinearity analysis). I recommend adding a few subroutines for preprocessing RR intervals and removing artifacts. I have opened an issue and made a few recommendations there.
Additionally, contribution guidelines are missing.
π @Kevin-Mattheus-Moerman - How is this review going?
Thanks for the reminder. I'll wrap up the review tomorrow.
I think the paper can benefit from additional integration with existing literature, especially a more recent state of the field.
Although many toolboxes exist to work with PPG, ECG, or the resulting tachograms, I think _hrv_ can play a role here as an accessible toolbox for those already having tachograms available and only need to analyse these.
The software needs to be documented with proper docstrings in the code, and the documentation be migrated to for example readthedocs. Unit tests are missing as is continuous integration and an overview of the Python versions that are supported.
I'll open issues for this on the repo.
@rhenanbartels can you respond to the reviewers comments/issues and summarize your actions here? Thanks :christmas_tree:
Hi @Kevin-Mattheus-Moerman, regarding issue 16 and Issue 17, I've implemented features for artifact and baseline trend removal, and I've worked on documentation-related and CI features, respectively:
Filter
Trend removal
hrv.sampledata import load_rest_rri
During the following days, I will work on the improvements (suggested by @paulvangentcom) of the article's text and I will add the new features available in the 0.2.5 version of the hrv
module, such:
hrv
moduleCheers,
Rhenan
Hi @Kevin-Mattheus-Moerman,
I've just put the finishing touches on the article`s text. It is already available in the develop branch in the repo.
What is the next step?
Best,
Rhenan
@hooman650, @PGomes92, @paulvangentcom thanks for your help so far. The author has made various changes to address your comments. Can you please pick up the review at this point and review these changes? Please summarize any remaining issues you might have. Thanks!
@hooman650, @PGomes92, @paulvangentcom :point_up: can you check the above? Thanks
@hooman650, @paulvangentcom can you check on the above?
@PGomes92 are you still able to assist with this review? If so, when do you think you will be able to complete your side of the review? Thanks.
@Kevin-Mattheus-Moerman I outlined two final points to Rhenan, and pending these two small changes I'm satisfied with the made changes
@paulvangentcom thanks for your help here! I take it these are issues posted on the project repository? It would be great if you could link to them here.
@rhenanbartels Are you able to follow up on @paulvangentcom 's comments/issues? Thanks!
@Kevin-Mattheus-Moerman Sure!
I will work on the suggestions in the upcoming days.
@Kevin-Mattheus-Moerman yes these are on the repo, appended to the same issue as before
@rhenanbartels any updates on progress?
Hi @Kevin-Mattheus-Moerman, I've just pushed the suggestions made by @paulvangentcom.
Cheers,
Rhenan
@paulvangentcom can you check these new developments? :point_up:
Yes agreed, the changes are good as far as I'm concerned. Thanks for guiding the process @Kevin-Mattheus-Moerman , and thanks for the work @rhenanbartels
Thanks @paulvangentcom!
@hooman650 can you also review the recent changes and summarize any remaining points you have. Thanks!
@PGomes92 please can you finalize your review as soon as possible. Thanks
Dear authors and reviewers
We wanted to notify you that in light of the current COVID-19 pandemic, JOSS has decided to suspend submission of new manuscripts and to handle existing manuscripts (such as this one) on a "best efforts basis". We understand that you may need to attend to more pressing issues than completing a review or updating a repository in response to a review. If this is the case, a quick note indicating that you need to put a "pause" on your involvement with a review would be appreciated but is not required.
Thanks in advance for your understanding.
_Arfon Smith, Editor in Chief, on behalf of the JOSS editorial team._
:wave: @PGomes92 @hooman650, just a friendly check-in to see how things are going with your reviews?
@PGomes92 @hooman650 can you please finalize the review process or else let us know if you are still able to review this submission? Thanks.
@PGomes92 @hooman650 I hope and yours are doing well. Can you give an indication as to when you can resume this review? Thanks again for your help.
@PGomes92 @hooman650 if you are still able to help with this review please indicate this to us now.
If I do not hear from you within the next 2 days I will proceed to unfortunately remove you as reviewers for this submission.
@whedon generate pdf
@whedon remove @PGomes92 as reviewer
OK, @PGomes92 is no longer a reviewer
@whedon remove @hooman650 as reviewer
OK, @hooman650 is no longer a reviewer
Hi @Kevin-Mattheus-Moerman, how are you doing?
I hope everything is fine.
Are there any further steps for the paper review?
Let me know if there is anything I need to do.
Cheers!
@whedon add @Kevin-Mattheus-Moerman as reviewer
OK, @Kevin-Mattheus-Moerman is now a reviewer
@rhenanbartels I added myself as reviewer since the other reviewers dropped out. I installed the software successfully and have started testing. A couple of boxes are unticked.
[x] _A statement of need_ Both the readme and the first page of the documentation simply state:
hrv is a simple Python module that brings the most widely used techniques to work with RRi series and Heart Rate Variability (HRV) analyses without losing the Power and Flexibility of a native Python object and numpy arrays.
Can you expand both to more clearly state what the software functionality addresses?
[x] Although the documentation seems to cover all functionality it seems to contain mainly snippets of code. Perhaps I am not interacting with your documentation properly but to test things I found myself copy-pasting these into my Spyder IDE to run them. Could you offer test scripts to users in a more direct way? It would be great to have files that test the functionality fully which users can run. Also some of the documentation contains this as example data:
rri = RRi([800, 810, 815, 750, 753, 905])
This works for showing how to use the code components but is quite limited for testing the functionality. Could you add in the tests some more advanced examples containing larger test data sets? Or define it more clearly if you have it already?
This is just a suggestion but would it be easy to create a single Jupyter notebook that covers all functionality (perhaps combining the code snippets from the documentation) which also loads example datasets?
testing
section to the documentation. I see there is a "running the tests" section, but this seems to be for more advanced users. Perhaps consider (recommendation not requirement) add (e.g. in the form of a jupyter script) a simple test set and demo for new users? Thanks
@rhenanbartels apologies for the delay with this submission. With the pandemic our journal, editors (myself included), and reviewers have found it challenging to keep things going at a normal pace. Your submission was particularly "badly hit" it seems as unfortunately two reviewers became unresponsive.
I just wanted to apologize for this and add that I am committed to provide a fast review here and to also stay on top of editing this submission as fast as possible.
@rhenanbartels did you see my comments :point_up:
Hi @Kevin-Mattheus-Moerman, yeah!
Thank you very much for the comments. I really liked the idea of creating a Jupyter Notebook with some real use cases. I am going to work on it and on the other suggestions during the following week.
Cheers!
Hi, @Kevin-Mattheus-Moerman
I've just added a Jupyter notebook containing a walkthrough with the main steps of the pipeline for analyzing RRi/HRV signals (the same first steps we use in our studies in our Lab):
Additionally, there is also an example of one of the techniques applied to extract information about the dynamics of non-stationary RRi signals.
I will create more Jupyter notebooks as new features are added to the module. It is a great way to show its application in real scenarios and to be more intuitive for new users.
#
Regarding the statement of need
, I've added, on both Docs and README, a complementary sentence that expands the description of the software functionality, which is: a module for inspecting, visualizing, pre-process, and analyze HRV analyses written in idiomatic Python.
Thank you very much for your suggestion and let me know if any other update is needed.
Cheers,
Rhenan
@rhenanbartels thanks. I checked out the Jupyter notebook. It looks great! I do get an error on the last two cells:
Any clue as to what is going on?
@whedon generate pdf
@whedon check references
Reference check summary:
OK DOIs
- 10.1109/MCSE.2007.55 is OK
MISSING DOIs
- https://doi.org/10.2337/diacare.29.03.06.dc05-2009 may be missing for title: Power spectral analysis of heart rate variability during the 100-g oral glucose tolerance test in pregnant women
- https://doi.org/10.1016/j.ehj.2003.12.003 may be missing for title: Increased heart rate and reduced heart-rate variability are associated with subclinical inflammation in middle-aged and elderly subjects with no apparent heart disease
- https://doi.org/10.1016/j.yebeh.2010.06.011 may be missing for title: RMSSD, a measure of vagus-mediated heart rate variability, is associated with risk factors for SUDEP: the SUDEP-7 Inventory
- https://doi.org/10.1007/s00221-010-2296-1 may be missing for title: Reduced heart rate variability predicts poor sleep quality in a caseβcontrol study of chronic fatigue syndrome
- https://doi.org/10.1109/tau.1967.1161901 may be missing for title: The use of fast Fourier transform for the estimation of power spectra: a method based on time averaging over short, modified periodograms
- https://doi.org/10.12921/cmst.2005.11.01.39-48 may be missing for title: Filtering poincare plots
- https://doi.org/10.1111/j.1469-8986.1997.tb02140.x may be missing for title: Heart rate variability: origins, methods, and interpretive caveats
- https://doi.org/10.12921/cmst.2005.11.01.39-48 may be missing for title: Filtering poincare plots
- https://doi.org/10.1109/10.979357 may be missing for title: An advanced detrending method with application to HRV analysis
- https://doi.org/10.5334/jors.241 may be missing for title: Analysing noisy driver physiology real-time using off-the-shelf sensors: heart rate analysis software from the taking the fast lane project
INVALID DOIs
- None
@rhenanbartels can you check/add those missing DOI's :point_up:
Hi @Kevin-Mattheus-Moerman, the hrv.nonstationary
is a WIP added in version 0.2.8
. I guess pip install -U hrv
would do the trick.
Regarding the missing DOI`s, I've added them in the last commit.
Let me know if there is anything else missing.
Cheers
@whedon generate pdf
@whedon check references
PDF failed to compile for issue #1867 with the following error:
sh: 0: getcwd() failed: No such file or directory
pandoc: 10.21105.joss.01867.pdf: openBinaryFile: does not exist (No such file or directory)
Looks like we failed to compile the PDF
Reference check summary:
OK DOIs
- 10.1161/01.cir.98.15.1510 is OK
- 10.1016/j.ehj.2003.12.003 is OK
- 10.3109/10253890.2015.1045868 is OK
- 10.1016/j.yebeh.2010.06.011 is OK
- 10.1007/s00221-010-2296-1 is OK
- 10.1109/TAU.1967.1161901 is OK
- 10.12921/cmst.2005.11.01.39-48 is OK
- 10.1111/j.1469-8986.1997.tb02140.x is OK
- 10.1109/MCSE.2007.55 is OK
- 10.21105/joss.00348 is OK
- 10.1109/10.979357 is OK
MISSING DOIs
- None
INVALID DOIs
- https://doi.org/10.2337/diacare.29.03.06.dc05-2009 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1161/01.CIR.93.5.1043 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1002/clc.4960130811 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1016/j.cmpb.2013.07.024 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1186/s12938-017-0401-4 is INVALID because of 'https://doi.org/' prefix
- http://doi.org/10.5334/jors.241 is INVALID because of 'https://doi.org/' prefix
@rhenanbartels
pip install -U hrv
Yep that did the trick. I've ticked all boxes.
@openjournals/dev can you check why this paper wont compile?
@rhenanbartels once the paper compiles (you can run @whedon generate pdf
to check compilation) we are ready to process this paper for acceptance in JOSS. Can you do the following:
https://doi.org/
prefix0.2.4
?Hi @Kevin-Mattheus-Moerman
https://doi.org/
prefix0.2.4
?The Zenodo's link https://zenodo.org/record/3960216
Regarding the module version, we started at version 0.2.4, but throughout the review process, the hrv
package was updated to version 0.2.8, which is the latest release (archived in Zenodo).
@whedon set 10.5281/zenodo.3960216 as archive
OK. 10.5281/zenodo.3960216 is the archive.
@whedon set 0.2.8 as version
OK. 0.2.8 is the version.
@whedon generate pdf
@whedon check references
Reference check summary:
OK DOIs
- 10.1161/01.cir.98.15.1510 is OK
- 10.2337/diacare.29.03.06.dc05-2009 is OK
- 10.1016/j.ehj.2003.12.003 is OK
- 10.3109/10253890.2015.1045868 is OK
- 10.1016/j.yebeh.2010.06.011 is OK
- 10.1007/s00221-010-2296-1 is OK
- 10.1109/TAU.1967.1161901 is OK
- 10.1161/01.CIR.93.5.1043 is OK
- 10.12921/cmst.2005.11.01.39-48 is OK
- 10.1111/j.1469-8986.1997.tb02140.x is OK
- 10.1109/MCSE.2007.55 is OK
- 10.21105/joss.00348 is OK
- 10.1002/clc.4960130811 is OK
- 10.1016/j.cmpb.2013.07.024 is OK
- 10.1186/s12938-017-0401-4 is OK
- 10.1109/10.979357 is OK
- 10.5334/jors.241 is OK
MISSING DOIs
- None
INVALID DOIs
- None
@whedon accept
Attempting dry run of processing paper acceptance...
Reference check summary:
OK DOIs
- 10.1161/01.cir.98.15.1510 is OK
- 10.2337/diacare.29.03.06.dc05-2009 is OK
- 10.1016/j.ehj.2003.12.003 is OK
- 10.3109/10253890.2015.1045868 is OK
- 10.1016/j.yebeh.2010.06.011 is OK
- 10.1007/s00221-010-2296-1 is OK
- 10.1109/TAU.1967.1161901 is OK
- 10.1161/01.CIR.93.5.1043 is OK
- 10.12921/cmst.2005.11.01.39-48 is OK
- 10.1111/j.1469-8986.1997.tb02140.x is OK
- 10.1109/MCSE.2007.55 is OK
- 10.21105/joss.00348 is OK
- 10.1002/clc.4960130811 is OK
- 10.1016/j.cmpb.2013.07.024 is OK
- 10.1186/s12938-017-0401-4 is OK
- 10.1109/10.979357 is OK
- 10.5334/jors.241 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/1591
If the paper PDF and Crossref deposit XML look good in https://github.com/openjournals/joss-papers/pull/1591, 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...
@Kevin-Mattheus-Moerman I am not experienced with Zenodo, so what will happen if we publish a new version of the software, let's say version 0.2.9
. Will the link break?
π¦π¦π¦ π 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...
@Kevin-Mattheus-Moerman I am not experienced with Zenodo, so what will happen if we publish a new version of the software, let's say version
0.2.9
. Will the link break?
If you chose this approach https://guides.github.com/activities/citable-code/ and turned on the automatic system you should get a separate and new DOI for each release. So the new releases will not disturb this archived version.
@rhenanbartels congratulations on your publication in JOSS! :partying_face:
@paulvangentcom thanks for your review efforts! :clap:
: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:
[](https://doi.org/10.21105/joss.01867)
HTML:
<a style="border-width:0" href="https://doi.org/10.21105/joss.01867">
<img src="https://joss.theoj.org/papers/10.21105/joss.01867/status.svg" alt="DOI badge" >
</a>
reStructuredText:
.. image:: https://joss.theoj.org/papers/10.21105/joss.01867/status.svg
:target: https://doi.org/10.21105/joss.01867
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: