View on GitHub

Phconvert

Reference library to write (and read) Photon-HDF5 files

Download this project as a .zip file Download this project as a tar.gz file

Build status Build Status

phconvert

phconvert is a python 2 & 3 library that helps writing valid Photon-HDF5 files, a file format for time stamp-based single-molecule spectroscopy. Additionally, phconvert can convert a few common binary formats used in in single-molecule spectroscopy (PicoQuant .HT3, Becker & Hickl .SPC/.SET) to Photon-HDF5.

For questions or issues running this software please use the Photon-HDF5 Google Group or open an issue on GitHub.

Quick-start: Converting files to Photon-HDF5

Converting one of the supported files formats to Photon-HDF5 does not require being able to program in python. All you need is running the "notebook" corresponding to the file format you want to convert from, and follow the instructions therein.

For demonstration purposes, we provide a demo service to run the notebooks online without any installation. With this online service, you can convert data files up to 35MB to Photon-HDF5. To launch the demo click on the following button (see also instructions):

Binder

To execute the phconvert notebooks on your machine, you need to install the Jupyter Notebook App first. A quick-start guide on installing and running the Jupyter Notebook App is available here:

Next, you need to install the phconvert library with the following command (type it in Terminal on OS X or Linux, or in the cmd prompt on Windows):

conda install -c conda-forge phconvert

Finally, you can download one of the provided notebooks and run it on your machine. Simply, download the phconvert zip, which contains all the notebooks in the notebooks subfolder.

For questions or issues:

Project details

What's inside?

phconvert repository contains a python package (library) and a set of notebooks (online viewer). Each notebook can convert a different format to Photon-HDF5 using the phconvert library.

If you have a file format that is not yet supported, please open an new Issue. We are willing add support for as many file formats as possible!

Why phconvert?

When writing Photon-HDF5 files, phconvert saves you time and protects you against common programming errors that risk to make the file not a valid Photon-HDF5. Also a description is automatically added to each Photon-HDF5 field. The descriptions are extracted from a JSON file which contains the list Photon-HDF5 field names, types, and descriptions.

See also Writing Photon-HDF5 files in the Photon-HDF5 reference documentation.

Read Photon-HDF5 files

In case you just want to read Photon-HDF5 files you don't need to use phconvert. Photon-HDF5 files can be directly opened with a standard HDF5 viewer HDFView.

See also Reading Photon-HDF5 files in the Photon-HDF5 reference documentation.

Installation

The recommended way to install phconvert is using conda:

conda install -c conda-forge phconvert

If you don't have conda installed, please install the free python distribution Anaconda choosing the python 3 version. The legacy python 2.7 is also supported, but if you can choose pick the latest python 3.

Alternatively, you can install phconvert in any python installation using PIP:

pip install phconvert

In this latter case, make sure that numpy and pytables are installed.

See also:

Dependencies

Note when installing via conda all the dependencies are automatically installed.

The phconvert library documentation (for developers)

The phconvert API documentation can be found on ReadTheDocs:

License

phconvert is released under the open source MIT license.

Contributing

As with other Photon-HDF5 subprojects, we encourage contributions in any form, from simple suggestions, typo fix to the addition of new features. Please use GitHub by opening Issues or sending Pull Requests.

All the contributors will be acknowledged in this website, and will included as authors in the next software-paper publication.

For more details see our contribution policy.

Authors

List of contributors (by lines of code):

Acknowledgements

This work was supported by NIH Grant R01-GM95904.