All Projects → seung-lab → fpzip

seung-lab / fpzip

Licence: BSD-3-Clause license
Cython bindings for fpzip, a floating point image compression algorithm.

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
CMake
9771 projects
cython
566 projects
python
139335 projects - #7 most used programming language
Makefile
30231 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to fpzip

Turbo-Transpose
Transpose: SIMD Integer+Floating Point Compression Filter
Stars: ✭ 50 (+108.33%)
Mutual labels:  compression, floating-point
fpzip
Lossless compressor of multidimensional floating-point arrays
Stars: ✭ 58 (+141.67%)
Mutual labels:  compression, floating-point
ndzip
A High-Throughput Parallel Lossless Compressor for Scientific Data
Stars: ✭ 19 (-20.83%)
Mutual labels:  compression, floating-point
SyConn
Toolkit for the generation and analysis of volume eletron microscopy based synaptic connectomes of brain tissue.
Stars: ✭ 31 (+29.17%)
Mutual labels:  image-analysis, connectomics
UNI-EM
A unified environment for DNN-based automated segmentation of neuronal EM images
Stars: ✭ 33 (+37.5%)
Mutual labels:  connectomics
NBT
A java implementation of the NBT protocol, including a way to implement custom tags.
Stars: ✭ 128 (+433.33%)
Mutual labels:  compression
FPChecker
A dynamic analysis tool to detect floating-point errors in HPC applications.
Stars: ✭ 26 (+8.33%)
Mutual labels:  floating-point
fastimage
Find the type or size of an image
Stars: ✭ 31 (+29.17%)
Mutual labels:  image-analysis
power-gzip
POWER9 gzip engine documentation and code samples
Stars: ✭ 16 (-33.33%)
Mutual labels:  compression
grandiso-networkx
Performant, pure-Python subgraph isomorphism and monomorphism search (aka "motif search")
Stars: ✭ 30 (+25%)
Mutual labels:  connectomics
laravel-Packer
CSS, Javascript and Images packer/processors to Laravel
Stars: ✭ 57 (+137.5%)
Mutual labels:  compression
lossyless
Generic image compressor for machine learning. Pytorch code for our paper "Lossy compression for lossless prediction".
Stars: ✭ 81 (+237.5%)
Mutual labels:  compression
fairytale
encode.ru community archiver
Stars: ✭ 29 (+20.83%)
Mutual labels:  compression
zpaqfranz
Deduplicating archiver with encryption and paranoid-level tests. Swiss army knife for the serious backup and disaster recovery manager. Ransomware neutralizer. Win/Linux/Unix
Stars: ✭ 86 (+258.33%)
Mutual labels:  compression
OMETIFF.jl
I/O operations for OME-TIFF files in Julia
Stars: ✭ 18 (-25%)
Mutual labels:  image-analysis
MEGA Manager
Cloud syncing manager for multiple MEGA cloud storage accounts with syncing, data gathering, compresssion and optimization capabilities.
Stars: ✭ 29 (+20.83%)
Mutual labels:  compression
Spring
FASTQ compression
Stars: ✭ 71 (+195.83%)
Mutual labels:  compression
fasterai1
FasterAI: A repository for making smaller and faster models with the FastAI library.
Stars: ✭ 34 (+41.67%)
Mutual labels:  compression
web-config
A Rollup configuration to build modern web applications with sweet features as for example SCSS imports, Service Worker generation with Workbox, Karma testing, live reloading, coping resources, chunking, treeshaking, Typescript, license extraction, filesize visualizer, JSON import, budgets, build progress, minifying and compression with brotli a…
Stars: ✭ 17 (-29.17%)
Mutual labels:  compression
zstd-rs
zstd-decoder in pure rust
Stars: ✭ 148 (+516.67%)
Mutual labels:  compression

PyPI version

fpzip

fpzip is a compression algorithm supporting lossless and lossy encoding for up to 4 dimensional floating point data. This package contains Python C++ bindings for the fpzip algorithm (version 1.3.0). The version number for this package is independent. Python 3.7+ is supported.

import fpzip
import numpy as np

data = np.array(..., dtype=np.float32) # up to 4d float or double array
# Compress data losslessly, interpreting the underlying buffer in C (default) or F order.
compressed_bytes = fpzip.compress(data, precision=0, order='C') # returns byte string
# Back to 3d or 4d float or double array, decode as C (default) or F order.
data_again = fpzip.decompress(compressed_bytes, order='C') 

Installation

pip Binary Installation

pip install fpzip

If we have a precompiled binary available the above command should just work. However, if you have to compile from sounce, it's unfortunately necessary to install numpy first because of a quirk in the Python installation procedure that won't easily recognize when a numpy installation completes in the same process. There are some hacks, but I haven't gotten them to work.

pip Source Installation

Requires C++ compiler.

pip install numpy
pip install fpzip

Direct Installation

Requires C++ compiler.

$ pip install numpy
$ python setup.py develop

References

Algorithm and C++ code by Peter Lindstrom and Martin Isenburg. Cython interface code by William Silversmith. Check out Dr. Lindstrom's site or the fpzip Github page.

  1. Peter Lindstrom and Martin Isenburg, "Fast and Efficient Compression of Floating-Point Data," IEEE Transactions on Visualization and Computer Graphics, 12(5):1245-1250, September-October 2006, doi:10.1109/TVCG.2006.143.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].