Skip to content

Let PinkNoise's anti-alias filter follow the stream's chunk_dim - #9

Merged
cboulay merged 1 commit into
devfrom
cboulay/chunk-dim-axis
Sep 7, 2026
Merged

Let PinkNoise's anti-alias filter follow the stream's chunk_dim#9
cboulay merged 1 commit into
devfrom
cboulay/chunk-dim-axis

Conversation

@cboulay

@cboulay cboulay commented Sep 7, 2026

Copy link
Copy Markdown
Member

Small, and not blocked — merges independently of the sigproc release. Verified against both released sigproc 2.23.0 and a checkout of sigproc dev: 161 passed either way.

The change

PinkNoiseProducer built its child Butterworth with axis="time". WhiteNoiseProducer already declares chunk_dim="time" on what it emits, so the filter resolves to exactly the dimension it was pinned to — dropping the argument is behaviour-preserving.

The reason to drop it: ezmsg-sigproc 3.8 deprecates ButterworthFilterSettings.axis, and this call would have made every PinkNoise user see a FutureWarning about a setting they never chose. It's our internal wiring, not their configuration.

No new version floor — the filter resolved this dimension before the setting was deprecated too.

Everything else here is already correct

I checked the rest of the package rather than assuming:

  • Every source that constructs an AxisArray declares chunk_dimnoise.py, oscillator.py (×2), dnss/lfp.py, dnss/spike.py.
  • line_noise.py already resolves message.chunk_dim with a STREAMING_DIMS fallback.
  • dynamic_colored_noise.py is a transformer and preserves chunk_dim through replace.
  • The two other axis= sites — CoordinateSpacesSettings(axis="ch") in velocity2ecephys.py and AffineTransformSettings(axis="ch") in velocity2lfp.py — name a channel axis. Those settings are not deprecated and stay configurable.

Since this package is mostly sources, the thing that actually matters downstream is that they declare chunk_dim — and they do.

WhiteNoiseProducer already declares chunk_dim="time" on what it emits, so the
child Butterworth resolves to exactly the dimension it was pinned to. Passing
axis="time" explicitly only asked ezmsg-sigproc 3.8 to warn about a setting
no user of PinkNoise ever chose -- it is our internal wiring, not their
configuration.

No behaviour change, and no new version floor: the filter resolved this
dimension before the setting was deprecated too.

The rest of this package needs nothing. Every source that builds an AxisArray
declares chunk_dim (noise, oscillator, dnss/lfp, dnss/spike), line_noise
already resolves it, and dynamic_colored_noise preserves it through `replace`.
The two remaining `axis=` sites -- CoordinateSpaces "ch" and AffineTransform
"ch" -- name a channel axis, which is not going away.
@cboulay
cboulay merged commit e3bf256 into dev Sep 7, 2026
14 checks passed
@cboulay
cboulay deleted the cboulay/chunk-dim-axis branch September 7, 2026 05:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant