h5browse (formerly dataviz) is a utility for browsing HDF5 files.

It was developed for analyzing neuronal simulation data saved in a
custom format. But the interface is generic enough to display simple
HDF5 files. The tools are totally for neuronal data analysis. But the
plan is to make it a more general tool.

As of 2015-12-21, it supports displaying the tree structure of an HDF5
file, node attributes and dataset contents. You can select arbitrary
fields in a dataset for displaying X-Y plots.

Implementation of editing HDF5 is incomplete.

Note that being based on h5py library it inherits the limitations of
the same.

This is a rewrite of the old code. Replaced PyQwt with
PyQtGraph. Written from scratch in Python 3. Compatible with Python2.7.


Installation
============

Requirements
------------

numpy, h5py, PyQtGraph.

As of Fri, Aug 21, 2015 only PyQtGraph devel branch on github supports
PyQt5. Install it using:

    git clone -b develop https://github.com/pyqtgraph/pyqtgraph.git 
    cd pyqtgraph
    python setup.py install 

You also need setuptools to use setup.py for standard installation.

Simpler if you have pip:

    pip install git+https://github.com/pyqtgraph/pyqtgraph.git@develop

or faster:

    pip install https://github.com/pyqtgraph/pyqtgraph/archive/develop.zip
    
    

Install
-------
Install from PyPI:

pip install h5browse

You can also download the sourcecode and run the h5browse.py file
using python.

    git clone https://github.com/subhacom/h5browse.git
    python h5browse/h5browse/h5browse.py





Troubleshooting
===============

* Problem with Anaconda(Python3) on Windows 7 and PyQt5:

        This application failed to start because it could not find or load the
        Qt platform plugin "windows".

  Solution:

  From: https://groups.google.com/a/continuum.io/forum/#!topic/anaconda/xgDvOCbOXkI

  Create a PyQt5 environment:

        conda create -n pyqt5 python

  Then activate the PyQt5 environment (skip `source` on anaconda command
  prompt on Windows):

		source activate pyqt5

* Problem with files generated by PyTables (pandas, and any other
  software that relies on PyTables for writing HDF5). Particularly,
  the system attributes like CLASS, TITLE etc. remain empty and you
  see exceptions in the console:

  IOError: Empty attributes cannot be read

  - The issue is: https://github.com/h5py/h5py/issues/279

  or 

  IOError: Unable to read attribute (No appropriate function for conversion path)

  The issue is: https://github.com/h5py/h5py/issues/585

  These should be resolved once h5py is fixed/enhanced.


TODO 
====
Important features to port from old code:

     Filtering

     Selection by regular expression

     Python shell


Not handling in near future
---------------------------

Nested datasets. Datasets with entries that are variable length
arrays.

Images? Need to have a look at existing standards.


Other software
==============
h5browse is aimed at reading HDF5 files. 

If you want fine control over plotting, a possible candidate is veusz.

If you want to edit HDF5 files, hdfview is the standard graphical tool
for that.


--------------------
Author: Subhasis Ray
email: lastname dot firstname at gmail dot com

