fullseye

band_snr — MOTIONMAG temporal op

使い方

Measure what a clip’s temporal band contains, and what it costs -> dict.

Every quantity is a measured mean-square power obtained from the per-pixel temporal DFT (Parseval-normalised so that the bins of one pixel sum to that pixel’s mean square), averaged over pixels:

The two SNRs answer different questions and magnification moves only one of them. Scaling the in-band phase by alpha scales the in-band motion and the in-band noise by the same factor, so the true motion SNR cannot improve: magnification never makes a measurement more certain than the recording was. What does change is image_snr_db, because the temporal fluctuation of the output frames grows like alpha^2 while the static scene does not.

A caveat that matters when this is run on an already-magnified clip. motion_snr_db here divides the in-band signal by a noise floor estimated from the out-of-band bins, and magnification does not touch those. Applied to a magnified video it therefore credits alpha^2 more in-band power against an unchanged noise estimate and reports an improvement that did not occur — measured, +6.86 dB at alpha = 2 on a clip whose true motion SNR cannot have moved. :func:motion_magnify knows the gain and returns the corrected figure as motion_snr_out_db; use that one, not result["snr_out"]["motion_snr_db"].

snr_clamped is True when a reported dB hit the [-100, +100] window (a noiseless synthetic has zero out-of-band power, which is a division by zero rather than an infinite SNR).

詳しい使い方ガイド

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(table を入力に取れる)

complex_steerable_reconstruct

同カテゴリ(temporal)

temporal_bandpass · temporal_band_power


Provenance: motionmag.py — MOTIONMAG operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.