Skip to main content

Diamondback Digital Signal Processing ( DSP ) package including commons, filters, interfaces, models, and transforms.

Project description

### Description

Diamondback is a Python package which provides Digital Signal Processing ( DSP ) solutions, organized in the form of commons, filters, interfaces, models, and transforms.

Diamondback was designed to complement Artificial Intelligence ( AI ) frameworks, by defining components which analyze, filter, extract, model, and transform data into forms which are useful in applications including pattern recognition, feature extraction, and optimization.

Diamondback was also designed to provide utility in the context of classical signal processing solutions including communications, modeling, signal identification and extraction, and noise cancellation.

Documentation is provided in HTML form, extracted from docstrings in the diamondback package source, and a Jupyter notebook is provided to dynamically construct and exercise diamondback components to facilitate experimentation and visualization.

### Details

An extensible factory design pattern is expressed in many components, and a mix-in design pattern is extensively employed in property definition. Complex or real types, in adaptive or static forms, are supported as appropriate. Data collections are consistently expressed in native types, including tuples, sets, lists, and dictionaries, with vector and matrix types expressed in numpy arrays.

Diamondback is defined in subpackages :

#### [commons](https://larryturner.github.io/diamondback/diamondback.commons)

#### [filters](https://larryturner.github.io/diamondback/diamondback.filters)

#### [interfaces](https://larryturner.github.io/diamondback/diamondback.interfaces)

#### [models](https://larryturner.github.io/diamondback/diamondback.models)

#### [transforms](https://larryturner.github.io/diamondback/diamondback.transforms)

### Dependencies

Diamondback depends upon external packages :

Diamondback Jupyter notebook depends upon additional external packages :

### Installation

Diamondback is a public repository hosted at PyPI and GitHub.

pip install diamondback

pip install git+https://github.com/larryturner/diamondback.git

### Demonstration

A Jupyter notebook defines cells to create and exercise diamondback components. The notebook serves as a tool for visualization, validation, and demonstration of diamondback capabilities.

A Jupyter notebook may be run on a remote server without installation with Binder, which dynamically builds and deploys a Docker container from a GitHub repository, or installed from GitHub and run on a local system.

Remote

[![Binder](./images/binder.png)](https://mybinder.org/v2/gh/larryturner/diamondback/master?filepath=jupyter%2Fdiamondback.ipynb)

Local

git clone https://github.com/larryturner/diamondback.git

cd diamondback

pip install –requirement requirements.txt

jupyter notebook .jupyterdiamondback.ipynb

Restart the kernel, as the first cell contains common definitions, find cells which exercise components of interest, and manipulate widgets to exercise and visualize functionality.

### Documentation

Diamondback documentation is generated from the source, indexed, and searchable from GitHub.

[![GitHub](./images/github.png)](https://larryturner.github.io/diamondback/)

### Tests

A simple pytest solution is provided to exercise and verify diamondback components.

py.test –capture=no –verbose .tests

### Author

[Larry Turner](https://github.com/larryturner)

### License

[BSD-3C](https://github.com/larryturner/diamondback/blob/master/license)

### Release

[Version](https://github.com/larryturner/diamondback/blob/master/version)

Copyright (c) 2018, Larry Turner, Schneider Electric. All rights reserved.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

diamondback-1.0.25.tar.gz (49.4 kB view hashes)

Uploaded Source

Built Distribution

diamondback-1.0.25-py3-none-any.whl (73.4 kB view hashes)

Uploaded Python 3

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