Skip to main content

saftig – Static & Adaptive Filtering Techniques In Gravitational-wave-research

Test status Linting status Static type check status

Python implementations of different static and adaptive filtering techniques for the prediction of a correlated signal component from witness signals. The main goal is to provide a unified interface for the different filtering techniques.

Documentation

Features

Static:

  • Wiener Filter (WF)

Adaptive

  • Updating Wiener Fitler (UWF)
  • Least-Mean-Squares Filter (LMS)

Non-Linear:

  • Experimental non-linear LMS Filter variant (PolynomialLMS)

Install

From pypi: pip install saftig

From repository: pip install .

From repository (editable): make ie

Minimal example

>>> import saftig as sg
>>>
>>> # generate data
>>> n_channel = 2
>>> witness, target = sg.eval.TestDataGenerator([0.1]*n_channel).generate(int(1e5))
>>>
>>> # instantiate the filter and apply it
>>> filt = sg.filt.LMSFilter(n_filter=128, idx_target=0, n_channel=n_channel)
>>> filt.condition(witness, target)
>>> prediction = filt.apply(witness, target) # check on the data used for conditioning
>>>
>>> # success
>>> sg.eval.RMS(target-prediction) / sg.eval.RMS(prediction)
0.08221177645361015

Terminology

  • Witness signal w: One or multiple sensors that are used to make a prediction
  • Target signal s: The goal for the prediction

Metadata

Release files for saftig 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for saftig 0.2.0
File Size Uploaded
saftig-0.2.0.tar.gz 42.2 kB Details

Release files / saftig-0.2.0.tar.gz

Download URL saftig-0.2.0.tar.gz
Size 42.2 kB
Tags Source
SHA-256 checksum
How to use checksums
bfc77ff5800cfdbb4852c2591b8804bbc477a0b0132348a9ecda2fe6c6f38123
BLAKE2b-256 checksum
How to use checksums
f670de02491d8558da6f2ea6d956cd42b198f63500b9574af9ce7400b4a5082a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page