Coverage for src / tracekit / filtering / __init__.py: 100%
6 statements
« prev ^ index » next coverage.py v7.13.1, created at 2026-01-11 23:04 +0000
« prev ^ index » next coverage.py v7.13.1, created at 2026-01-11 23:04 +0000
1"""Signal filtering module for TraceKit.
3Provides digital filter design, application, and introspection capabilities
4including IIR and FIR filters, various filter types (Butterworth, Chebyshev,
5Bessel, Elliptic), and convenience filters (moving average, median).
8Example:
9 >>> from tracekit.filtering import LowPassFilter, design_filter
10 >>> lpf = LowPassFilter(cutoff=1e6, sample_rate=10e6, order=4)
11 >>> filtered_trace = lpf.apply(trace)
12 >>> w, h = lpf.get_frequency_response()
13"""
15# Import filters module as namespace for DSL compatibility
16from tracekit.filtering import filters
17from tracekit.filtering.base import (
18 Filter,
19 FIRFilter,
20 IIRFilter,
21)
22from tracekit.filtering.convenience import (
23 band_pass,
24 band_stop,
25 high_pass,
26 low_pass,
27 matched_filter,
28 median_filter,
29 moving_average,
30 notch_filter,
31 savgol_filter,
32)
33from tracekit.filtering.design import (
34 BandPassFilter,
35 BandStopFilter,
36 BesselFilter,
37 ButterworthFilter,
38 ChebyshevType1Filter,
39 ChebyshevType2Filter,
40 EllipticFilter,
41 HighPassFilter,
42 LowPassFilter,
43 design_filter,
44 design_filter_spec,
45)
46from tracekit.filtering.introspection import (
47 FilterIntrospection,
48 plot_bode,
49 plot_impulse,
50 plot_poles_zeros,
51 plot_step,
52)
54__all__ = [
55 "BandPassFilter",
56 "BandStopFilter",
57 "BesselFilter",
58 "ButterworthFilter",
59 "ChebyshevType1Filter",
60 "ChebyshevType2Filter",
61 "EllipticFilter",
62 "FIRFilter",
63 # Base classes
64 "Filter",
65 # Introspection
66 "FilterIntrospection",
67 "HighPassFilter",
68 "IIRFilter",
69 # Filter types
70 "LowPassFilter",
71 "band_pass",
72 "band_stop",
73 # Design functions
74 "design_filter",
75 "design_filter_spec",
76 "filters",
77 "high_pass",
78 "low_pass",
79 "matched_filter",
80 "median_filter",
81 # Convenience functions
82 "moving_average",
83 "notch_filter",
84 "plot_bode",
85 "plot_impulse",
86 "plot_poles_zeros",
87 "plot_step",
88 "savgol_filter",
89]