Skip to main content

Signal Processing Tools for Machine Learning

Project description

DAI-Lab An open source project from Data to AI Lab at MIT.

Development Status PyPi Shield Tests Downloads

SigPro: Signal Processing Tools for Machine Learning

Overview

SigPro offers an end-to-end solution to efficiently apply multiple signal processing techniques to convert raw time series into feature time series that encode the knowledge of domain experts in order to solve time series machine learning problems.

Install

Requirements

SigPro has been developed and tested on Python 3.9, 3.10, 3.11 and 3.12 on GNU/Linux and macOS systems.

Also, although it is not strictly required, the usage of a virtualenv is highly recommended in order to avoid interfering with other software installed in the system where SigPro is run.

Install with pip

The easiest and recommended way to install SigPro is using pip:

pip install sigpro

This will pull and install the latest stable release from PyPi.

If you want to install from source or contribute to the project please read the Contributing Guide.

User Guides

SigPro comes with the following user guides:

  • PRIMITIVES.md: Information about the primitive families, their expected input and output.
  • USAGE.md: Instructions about how to usee the three main functionalities of SigPro.
  • DEVELOPMENT.md: Step by step guide about how to write a valid SigPro primitive and contribute it to either SigPro or your own library.

History

0.3.0 - 2025-02-17

Features

  • Add Support for Python 3.12 & Remove 3.8 - Issue #63 by @sarahmish
  • Add fft frequency transformation - Issue #62 by @SaraPido
  • Band rms - Issue #61 by @SaraPido

0.2.1 - 2024-04-24

Features

  • Frequency primitive - Issue #60 by @SaraPido

0.2.0 - 2024-02-02

Features

  • Demo Notebooks for Pipeline usage - Issue #55 by @andyx13
  • Added contributing_primitive and basic_primitives module to assist with new primitive creation/usage - Issue #54 by @andyx13
  • Incorrect classification for stft.json and stft_real.json - Issue #53 by @andyx13
  • Support for more complex pipeline architectures - Issue #52 by @andyx13
  • Update primitive interfaces - Issue #51 by @andyx13
  • Syntax for pipeline creation - Issue #41 by @andyx13
  • Load demo dataset at random index - Issue #35 by @andyx13

0.1.2 - 2023-12-11

Features

  • Python version update - Issue #44 by @andyx13
  • Add demo notebook and per-primitive documentation - Issue #47 by @andyx13

0.1.1 - 2023-04-06

Features

  • Accepting single value data frame format - Issue #36 by @frances-h @sarahmish
  • Update demos - Issue #26 by @frances-h

0.1.0 - 2021-11-14

Features

  • Rework SigPro to be class based

0.0.3 - 2021-09-27

Features

  • Add process_signals function to take a collection of primitives and create features for the given data.

0.0.2 - 2021-02-05

Bug Fixes

  • MANIFEST.in: copy the json files of the primitives with the package installation.

0.0.1 - 2021-01-26

First release to PyPI.

This release comes with the first version of the contributing module, which makes it easier to create new primitives and to test those with the demo data included in this package.

This release also includes the following User Guides:

  • PRIMITIVES.md: Information about the primitive families, their expected input and output.
  • USAGE.md: Instructions about how to usee the three main functionalities of SigPro.
  • DEVELOPMENT.md: Step by step guide about how to write a valid SigPro primitive and contribute it to either SigPro or your own library.

Features

  • Demo data: Available demo data to test primitives.
  • First primitives: The following list of primitives were added:
    • sigpro.aggregations.amplitude.statistical.crest_factor
    • sigpro.aggregations.amplitude.statistical.kurtosis
    • sigpro.aggregations.amplitude.statistical.mean
    • sigpro.aggregations.amplitude.statistical.rms
    • sigpro.aggregations.amplitude.statistical.skew
    • sigpro.aggregations.amplitude.statistical.std
    • sigpro.aggregations.amplitude.statistical.var
    • sigpro.transformations.amplitude.identity.identity
    • sigpro.transformations.frequency.fft.fft
    • sigpro.transformations.frequency.fft.fft_real
    • sigpro.transformations.frequency_time.stft.stft
    • sigpro.transformations.frequency_time.stft.stft_real
  • Contributing module.
  • Documentation on how to contribute new primitives and how to run those.

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

sigpro-0.3.0.tar.gz (2.8 MB view details)

Uploaded Source

Built Distribution

sigpro-0.3.0-py2.py3-none-any.whl (2.8 MB view details)

Uploaded Python 2Python 3

File details

Details for the file sigpro-0.3.0.tar.gz.

File metadata

  • Download URL: sigpro-0.3.0.tar.gz
  • Upload date:
  • Size: 2.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.10.0 requests/2.31.0 setuptools/68.2.2 requests-toolbelt/1.0.0 tqdm/4.66.2 CPython/3.9.19

File hashes

Hashes for sigpro-0.3.0.tar.gz
Algorithm Hash digest
SHA256 5d7061af018a762bc156db7a4f5cbf8d896f4cf1aed46d0c036502bc7689c5ac
MD5 456663345a45f4d1d24acd4446f7a79f
BLAKE2b-256 f39dfc337c19cd1fe7594402a39fbf9ba2b079c35116c30d53a4c6cf068ade15

See more details on using hashes here.

File details

Details for the file sigpro-0.3.0-py2.py3-none-any.whl.

File metadata

  • Download URL: sigpro-0.3.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.10.0 requests/2.31.0 setuptools/68.2.2 requests-toolbelt/1.0.0 tqdm/4.66.2 CPython/3.9.19

File hashes

Hashes for sigpro-0.3.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 83355d8539334242032b441542e2d3bfb37c013125b71d236906f564865e8db5
MD5 07e3961b928f47fa18b279fef1e0618a
BLAKE2b-256 35c4c3ef8560e1a3da4ce53ed37e34d07ea08cecd2c07ab3cc53bfddc13f29a1

See more details on using hashes here.

Supported by

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