Metadata-Version: 2.1
Name: general-signal
Version: 0.1.0
Summary: General-purpose signal processing library: convolution-based signal dueling and autoconvolution
Author: DAS Team
License: MIT
Project-URL: Homepage, https://github.com/U-Toronto/general_signal
Project-URL: Repository, https://github.com/U-Toronto/general_signal
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Scientific/Engineering :: Mathematics
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy >=1.20

# general_signal

General-purpose signal processing library providing convolution-based
signal analysis tools.

## Features

- **signal_dueling()** — Pairwise signal comparison for disruption
  removal. Compares two multi-channel signals and identifies sections
  where one dominates the other, enabling clean separation of
  overlapping signal sources.
- **signal_autoconvolution()** — Self-convolution energy computation
  for event detection. Computes a hybrid convolution over a 1D signal
  to identify effective (non-noise) signal sections.

## Requirements

- Python >= 3.7
- NumPy >= 1.20

## Installation

```bash
pip install general_signal
```

## Quick Start

```python
import numpy as np
from general_signal import signal_autoconvolution

# Generate a test signal
x = np.random.randn(10000)

# Compute autoconvolution
result = signal_autoconvolution(x)
print(f"Number of convolution windows: {len(result)}")
```

## License

MIT
