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

ENH: add html report to physioqc #1

Open
jsheunis opened this issue Nov 30, 2022 · 3 comments
Open

ENH: add html report to physioqc #1

jsheunis opened this issue Nov 30, 2022 · 3 comments

Comments

@jsheunis
Copy link

This issue serves as a discussion point for adding automated html reports to the physioqc pipeline. Please share your thoughts!

The idea

One the physioqc pipeline has done its thing, the output will be a bunch of processed timeseries and summary metric data. It would be great to see all of these presented in an easy to read, visual, and interactive report. The report will probably contain details such as:

  • some metadata about the pipeline run (date-time, name of bids dataset, some other bids metadata..., types of measures)
  • summary metrics in a table (with categorizations, per measure type or whatever other categories exist)
  • interactive graphs
  • any other information that we think is useful (perhaps a description of how each measure was caculated)

Existing work / relevant info

@smoia pointed me to this PR that aims to add html reports to phys2bids. If I understand it correctly, it uses an html template with some basic css, and python code to automate the process of writing the correct string values (mostly relative locations of figures, or strings) to variables in the template.

It could be an idea to make that report (once merged) compatible with the to-be-developed one for physioqc. Or to change the phys2bids one to make it compatible with whatever the physioqc report will become.

Framework suggestions

As simple as possible is probably a good starting point, to keep complexity down and encourage contributions.

  • Minimal would be similar to the phys2bids example: just an html template
  • For a bit better UX, we could add javascript for things like buttons, navbars, etc, and also for some client-side functions if useful.
  • Regarding interactive plots, my personal preference is Plotly, but bokeh seems to be a good alternative too. Plotly graphs can be generated with its Python API and exported to html, although this html (the code behind the graphs) is very very messy, which is why I would suggest generating the graphs in the browser using the Plotly JS API.
  • More complex and probably not needed, but adding a lot more possibilities for complex data, relationships, and reactivity: we could go with a framework such as VueJS (my personal preference) or ReactJS.
@jsheunis
Copy link
Author

@smoia please tag anyone you think might want to contribute

@danibene
Copy link

danibene commented Dec 1, 2022

Hi! I used Plotly to make interactive HTML reports for NeuroKit

Feel free to adapt or maybe we can find some way to work together as it's currently not implemented for all signals, just PPG

@jsheunis
Copy link
Author

jsheunis commented Dec 2, 2022

This looks great, thanks for the links! Working together on this sounds good to me :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: To Do
Development

No branches or pull requests

2 participants