Skip to content
forked from navjotk/pyzfp

Python wrapper for the ZFP Compression library

License

Notifications You must be signed in to change notification settings

seung-lab/pyzfp

 
 

Repository files navigation

pyzfp

Python wrapper over the zfp compression library. This is the second version, rewritten using Cython because the earlier version using ctypes was slow. Click here for performance comparison. Currently wraps zfp version 0.5.5.

Installation

pip install pyzfp

This should download zfp version 0.5.5, compile it and install the python (Cython) wrappers in the default install location. The use of a virtual environment is recommended.

Should you face any issues, please report them using Github issues.

Usage

A sample program that demonstrates the use of the library: (also contents of test.py):

from pyzfp import compress, decompress


a = np.linspace(0, 100, num=1000000).reshape((100, 100, 100))



tolerance = 0.0000001
parallel = True
compressed = compress(a, tolerance=tolerance, parallel=parallel)

recovered = decompress(compressed, a.shape, a.dtype, tolerance=tolerance)
print(len(a.tostring()))
print(len(compressed))
print(np.linalg.norm(recovered-a))

About

Python wrapper for the ZFP Compression library

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Cython 52.6%
  • Python 34.8%
  • Dockerfile 11.7%
  • Makefile 0.9%