Comments (5)
User feedback suggested allowing rows/columns of the Matrix visualization to be selected and copied. Because the grid is virtualized, we can't rely on default text selection and copy; we'd have to provide a specific UI for this and make use of the Clipboard API.
For the UI:
- We could have a button in the toolbar to copy the whole table, another to copy the current slice for 3D+ datasets, and an input of sorts to enter a range to copy (e.g.
0,0,:,:
). - We could allow selection of visible rows and columns with click-and-drag -- when a selection is active, we could then show a button in the toolbar to copy the selection (and another button to clear the selection).
- We could allow copying a single row/column by showing a button in the row/column header cell on hover.
- ...
from h5web.
User feedback suggested allowing rows/columns of the Matrix visualization to be selected and copied.
We won't support this behaviour.
However, we should allow users to export data from other visualizations:
- Line as CSV
- Heatmap as CSV
- NxSpectrum as CSV, with custom axis values, and with axis label and plot title as column headers
- NxImage as CSV -- exact format to be discussed
- TIFF and NPY formats should also be considered
from h5web.
We're going to implement TIFF encoding in H5Grove (i.e. in the back-end) and use provider-level feature detection to determine whether to show the export button in the toolbars.
Once we have the feature detection system implemented, we'll be able to do the same for the CSV and NPY exports.
from h5web.
Now that we have a proof of concept for TIFF export, we know we can do the same with CSV and NPY (and even replace the current CSV export feature on the Matrix vis so it's done server-side). The question is then: should we provide all three exports on all visualizations? Or does TIFF only make sense on Heatmap/NxImage, CSV on Matrix, etc.?
From a UI standpoint, we can merge the export toolbar controls into a single "Export" drop-down to save space. Which means that if we want to display all three exports (TIFF/CSV/NPY) on all visualizations, it's no problem at all.
from h5web.
As per our discussion:
MatrixVis
: CSV ☑️ (to be delegated to H5Grove), NPYLineVis
: CSV, NPYHeatmapVis
: TIFF ✅ , NPY
Additional notes:
- When dimension sliders are visible, only the current slice is exported, not the entire dataset.
- NeXus visualizations could provide export either of the signal dataset only, or of the signal and axes combined in the form of an x/y/data scatter format. Until the user need arises for the latter, we will implement only the former.
- The construction of the export data is to be done server-side like we did with TIFF in #885.
- Providers must opt in to supporting these export features.
from h5web.
Related Issues (20)
- Partial read of large HDF files stored publicly on S3 (access via HTTPS) HOT 1
- Propage h5wasm errors to viewer HOT 5
- Keep zoom level and axis positions fixed between files HOT 2
- [Heatmap] Add option to flip x-axis in the toolbar HOT 1
- Don't use debounce on slice slider (update as fast as possible) HOT 14
- Webworker h5wasm provider (for random access to local files) HOT 17
- Hide the sidebar and the toolbar in h5web/app in react permanently. HOT 2
- Styling regression in dimension mapper
- Add rich display for NXnotes
- NeXus visualization with H5Web/h5wasm unstable? HOT 1
- Support numeric value for X Dimension without Nexus attributes HOT 8
- Support "title" attribute on NXData for plot title HOT 1
- Export of NeXus Data visualization should contain all data HOT 5
- String padding HOT 1
- Show NXentry title in tree HOT 3
- Allow image display for non-opaque dataset HOT 10
- SelectionTool interaction at mouse down
- z-range is only -3..3 HOT 14
- `[RawVis]` Dark mode shouldn't affect raw JPEG/PNG images HOT 1
- Allow fitting Raw Image to window size
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from h5web.