Skip to main content

Convert Beker&Hickl, PicoQuant and other formats to Photon-HDF5.

Project description

Build status Tests

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 to Photon-HDF5 all the common binary formats used in solution-based single-molecule spectroscopy. These includes PicoQuant's .HT3/.PT3/.PTU/.T3R, Becker & Hickl's .SPC/.SET and the .SM format used by WeissLab and others for µs-ALEX smFRET.

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

What's new

Nov. 2018: Phconvert 0.9 released, see the release notes.

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 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. Starting from version 0.9, the aging python 2.7 is not supported anymore.

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

  • python 3.4 or greater (3.6+ recommended)
  • numpy >=1.9
  • pytables >=3.1
  • numba (optional) for faster PicoQuant files decoding

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 & Contributors

List of contributors:

  • Antonino Ingargiola (@tritemio)
  • Ted Laurence (@talaurence)
  • Marco Lamperti (@lampo808) <marco.lampo AT gmail.com>
  • Xavier Michalet (@smXplorer)
  • Anders Barth (@AndersBarth) <anders.barth AT gmail.com>
  • Biswajit Pradhan (@biswajitSM) <biswajitp145 AT gmail.com.
  • Sébastien Weber (@seb5g) <sebastien.weber AT cemes.fr>
  • David Palmer (@dmopalmer)

We thank also @ncodina for providing PTU files and helping in testing the PTU decoder in phconvert.

Acknowledgements

This work was supported by NIH Grant R01-GM95904.

Release 0.9 was supported by Prof. Eitan Lerner.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

phconvert-0.9.1.tar.gz (180.2 kB view details)

Uploaded Source

Built Distribution

phconvert-0.9.1-py3-none-any.whl (57.1 kB view details)

Uploaded Python 3

File details

Details for the file phconvert-0.9.1.tar.gz.

File metadata

  • Download URL: phconvert-0.9.1.tar.gz
  • Upload date:
  • Size: 180.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for phconvert-0.9.1.tar.gz
Algorithm Hash digest
SHA256 fc3efbe93855d7f4e85e0f028eb66cc57aaa0702cfe70accf2cd982e0760cc7a
MD5 fd83b7e976b9a3f14b880cf4366aa35f
BLAKE2b-256 93049ae1989c3a2d4e9be3d5d4a2ea1094e12141592f314c1b74ef036205c6e5

See more details on using hashes here.

File details

Details for the file phconvert-0.9.1-py3-none-any.whl.

File metadata

  • Download URL: phconvert-0.9.1-py3-none-any.whl
  • Upload date:
  • Size: 57.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for phconvert-0.9.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a0d6c774c03b6b30703584cb53348db968360d003d27b29dbaf330f239aa3cc2
MD5 12f6b69eac4969a486bc8e7767d39c70
BLAKE2b-256 da5064bc38beea3bbd15630c2a26194a5e0e338b11a42283c44f6f0ee59a2718

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page