Skip to content
Snippets Groups Projects

Draft: Resolve "Daskify LISA Instrument"

Open Olaf Hartwig requested to merge 158-daskify-lisa-instrument into master
All threads resolved!
2 files
+ 149
0
Compare changes
  • Side-by-side
  • Inline
Files
2
+ 36
0
"""Unit tests for the module fir_filters_dask"""
import numpy as np
import dask.array as da
import pytest
from lisainstrument.fir_filters_numpy import (
DefFilterFIR,
EdgeHandling,
make_filter_fir_numpy,
)
from lisainstrument.fir_filters_dask import make_filter_fir_dask
def test_filter_dask_fir():
"""Ensure dask-based FIR filter results agree with numpy based ones"""
sig_np = np.array([1.0, 1.0, 1.0, 0.01, 0, 1, 0.2, 0.1])
coeffs = [0.1, 0.7, 0.1, 0.1]
fir = DefFilterFIR(filter_coeffs=coeffs, offset=-1)
op_np = make_filter_fir_numpy(fir, EdgeHandling.ZEROPAD, EdgeHandling.ZEROPAD)
op_da = make_filter_fir_dask(fir, EdgeHandling.ZEROPAD, EdgeHandling.ZEROPAD)
out_np = op_np(sig_np)
# ~ print("testing FIR filtering of chunked dask array")
for chunksize in (2, 3, 4, 5, 6, 7, 8):
sig_da = da.from_array(sig_np, chunks=chunksize)
# ~ print(sig_da)
out_da = op_da(sig_da).compute()
assert len(out_np) == len(out_da)
assert out_np == pytest.approx(out_da, abs=1e-14, rel=0)
Loading