/hdf5view

Simple Qt/Python based viewer for HDF5 files

Primary LanguagePythonMIT LicenseMIT

PyPI Version Supported Python Versions

hdf5view

Simple Qt/Python based viewer for HDF5 files.

Features:

  • Image tab(s) showing rgb(a) or grayscale images of a selected node:

Image


  • Plot tab(s) showing columns of data in a node:

Image


  • Table tab giving a view of the data in the dataset selected:

Image


  • File Structure table giving a tree view of the hdf5 file
  • Attributes table showing any attributes assigned to a dataset
  • Dataset table showing e.g. the shape, number of dimensions and data type of a dataset
  • Slice table showing which slice of the data is currently displayed (can be set by the user)
  • Export images/plots in a variety of formats (image files, data files, hdf5, matplotlib window)
  • Datasets are loaded dynamically, so hopefully it should be able to handle HDF5 files of any size and structure.
  • Warnings are given when selecting a dataset if loading it would consume more than 30% of the available memory. The user can the opt to abort or continue loading.

Why use hdf5view?

hdf5view is a simple Qt/Python based tool which aims to be easy to use and to allow you to get a view of your data with just a few clicks. If you need to check the structure of an HDF5 file, quickly see what data it contains or choose a dataset for futher analysis in another program, hdf5view may be for you. We don't aim to be able to create or edit HDF5 files and have only minimal possibilties for data analysis other than just viewing it. Other viewers for HDF5 files are available, which may be more suited to your needs, see related projects.


Documentation

The documentation for hdf5view is here: https://tgwoodcock.github.io/hdf5view


1. Installing

hdf5view is designed to be platform independent and can be installed with pip. Please see the installation guide for details.


2. Running

The usage guide shows various ways to start hdf5view and open HDF5 files in the application.

Context menu

A particularly useful way to use hdf5view is to add an entry to the context menu. This way, you can open any HDF5 file with two clicks. Please see the context menu guide for instructions on how to set this up.

3. Usage

In the documentation, there are tutorials on how to use


4. Testing

Currently there are no unit tests for this package. The gui has been tested with qtpy=2.2.0, pyqtgraph=0.12.4 and h5py=3.7.0 in combination with pyqt5=5.15.7, pyside2=5.15.2.1, pyqt6=6.3.1 and pyside6=6.3.2, and it works with all of the Qt API bindings.


5. Issues

If there are any issues, please feel free to use the issues mechanism on github to get in touch.


6. Contributing

If you are intersted in contributing to the hdf5view project, please see the contributing guide.

TODO:

  • Implement dynamic loading for files larger than the available memory
  • Add tests
  • Possibly add 3D rendering, likely based on pyqtgraph