Metadata-Version: 2.1
Name: delta2D-numcodecs
Version: 0.1.0
Summary: Numcodecs implementation of delta filter in 2D.
Home-page: https://github.com/AllenNeuralDynamics/delta2D-numcodecs
Author: Alessio Buccino
Author-email: alessiop.buccino@gmail.com
License: UNKNOWN
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
License-File: LICENSE

[![PyPI version](https://badge.fury.io/py/delta2D-numcodecs.svg)](https://badge.fury.io/py/delta2D-numcodecs) ![tests](https://github.com/AllenNeuralDynamics/delta2D-numcodecs/actions/workflows/python-package.yml/badge.svg)

# Delta2D - numcodecs implementation

[Numcodecs](https://numcodecs.readthedocs.io/en/latest/index.html) implementation of the [Delta] filter applied to 
2D input data.

This implementation enables one to apply delta filters on specific dimentions as a filter in 
[Zarr](https://zarr.readthedocs.io/en/stable/index.html).

## Installation

Install via `pip`:

```
pip install delta2D-numcodecs
```

Or from sources:

```
git clone https://github.com/AllenNeuralDynamics/delta2D-numcodecs.git
cd flac-numcodecs
pip install .
```

## Usage

This is a simple example on how to use the `Delta2D` codec with `zarr`:

```
from delta2D_numcodecs import Delta2D

data = ... # any 2D dumpy array
# here we assume that the data has a shape of (num_samples, num_channels)

# instantiate Delta2D in time dimension
delta_time = Delta2D(dtype=data.dtype, axis=0)

# instantiate Delta2D in space dimension
delta_space = Delta2D(dtype=data.dtype, axis=1)

# using default Zarr compressor
z_time = zarr.array(data, filters=[delta_time])
z_space = zarr.array(data, filters=[delta_space])
# apply in both time and space, sequentally
z_time_space = zarr.array(data, filters=[delta_time, delta_space])

data_read = z[:]
```
Available `**kwargs` can be browsed with: `Delta2D?`

**NOTE:** 
In order to reload in zarr an array saved with the `Delta2D`, you just need to have the `delta2D_numcodecs` package
installed.

