BCDA-APS / gemviz

Data visualization for tiled
https://bcda-aps.github.io/gemviz/
Other
4 stars 0 forks source link

Add plots #132

Closed rodolakis closed 1 year ago

rodolakis commented 1 year ago

pyQtGraph or Matplotlib?

prjemian commented 1 year ago

Start with chart_type="line_1d".

These views are more challenging:

view challenge
grid_2D need to reshape the 1D raw data, noting the snake setting
scatter_2D need to set pixel size and use color map for intensity (signal) scale
unknown{N}D might be an area detector frame set - needs more info to decide
prjemian commented 1 year ago

Also, once a view of the default data is solid, then need to decide how to select from the possible data to change the view.

Also, consider how a view can overlay new data. Possibly a checkbox that says [x] new plot or something clearer.

rodolakis commented 1 year ago

I believe pymca has a "add to plot" vs "replace" option.

prjemian commented 1 year ago

Tutorials:

prjemian commented 1 year ago

See the Comparison to other python graphics packages section in the PyQtGraph home page.

Other comparison sites show a two column item-by-item review:

A 3-package comparison. Also includes QtCharts.

prjemian commented 1 year ago

Still no solid, independent indicator of which package to pick first.

prjemian commented 1 year ago

I'm inclined to try both at the same time, in different tabs of the viz panel. With that, we can gauge the user experience before settling on one for the production version.

prjemian commented 1 year ago

Can we do this with Qt's Model/View design? We might need several views, one for each type of plot we can render (line_1d, grid_2d, image_2d, image_frames, ...)

We'd need a model that provided data from the rows (runs) selected in the table of runs but we also need a way to change which signals are plotted. That means we need a new widget (like in PyMca) that shows what signals are available and provides checkboxes and other plot controls.

prjemian commented 1 year ago

Might help to work through Qt's ChartView tutorial.

prjemian commented 1 year ago

That demo is for PySide's QtCharts module, so it gets a bit difficult if you don't have PySide2 installed.