tb_temporal_bandpass — 2D typed op

• Data kinds: video → video

• Call: fullseye.apply(img, "tb_temporal_bandpass", a=0.5, b=0.5) (2-D model = एक image + दो scalar knobs a,b∈[0,1])

tb_temporal_bandpass: input → output

*Figure synthetic 128×128 input पर सच में चलाकर मिला output है। बाईं ओर input, दाईं ओर output। Point clouds ऊपर से देखे गए scatter के रूप में (brightness = z), 1-D series line के रूप में, volumes z दिशा में maximum-intensity projection के रूप में, videos बीच के frame के रूप में, complex images amplitude के रूप में, और जो return values चित्र नहीं बन सकते वे स्वयं values के रूप में दिखाए जाते हैं।*

Knob a को बदलकर (0.1 / 0.5 / 0.9, दूसरा knob default पर):

▸ tb_temporal_bandpass: knob a को बदलने का figure (docs site)

Knob b को बदलकर (0.1 / 0.5 / 0.9, दूसरा knob default पर):

▸ tb_temporal_bandpass: knob b को बदलने का figure (docs site)

Stages (पहले आने वाले ops → यह op, बाएँ से क्रम में):

▸ tb_temporal_bandpass: stages का figure (docs site)

दूसरी images पर भी (synthetic scene / photo / coins। ऊपर की row में inputs, नीचे की row में उनके outputs। Knobs default पर):

▸ tb_temporal_bandpass: दूसरी images पर output (docs site)

Motion (GIF: frames / views / slices क्रम से। स्थिर figure ही पूरा रूप है, GIF सहायक है):

tb_temporal_bandpass: animation

उपयोग

हर pixel की time series का ideal temporal band-pass -> (T, H, W)।

> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।

Each pixel is transformed along time, every DFT bin whose frequency lies outside [f_lo, f_hi] (in Hz, magnitude, DC always excluded) is zeroed, and the result is transformed back. Frequency-selective where videops.moving_average and videops.spatiotemporal_gaussian are low-pass; this is the filter isolating "what is happening at 4 Hz".

Exact for a component sitting on a bin: with T frames at fps, a sinusoid at k*fps/T Hz passes with gain 1 and everything else in the band passes untouched. Measured on a bin-centred 4 Hz unit sinusoid in a 64-frame 32 fps clip that also carries a DC offset of 0.5 and a 12 Hz component of amplitude 0.3, the recovered waveform matches the 4 Hz term alone to max|err| = 4.36e-15.

A brick-wall filter rings in time; that is the price of an exact pass-band and it is the same choice the 2012 Eulerian magnification paper makes. The output is zero-mean along time by construction.

Typed bridge of the motionmag op temporal_bandpass into the 2-D evolution registry: the same implementation, called under the op(v, a, b) convention. a picks the centre of the pass-band among the clip's own non-DC DFT bins (0 = the lowest bin, 1 = the Nyquist bin) and b its half-width (0 = one bin, 1 = half the bins on each side). The band edges sit half a bin outside the chosen bins (frame rate fixed at 32 fps), so the band holds at least one bin for any clip of two or more frames. (Until 2026-10-07 the band was a fixed 3-5 Hz, which holds no bin for a 12-frame clip, so every call was refused.)

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

Studio में आज़माएँ

नीचे का program सच में चलता है, यह जाँचा गया है (figure वाला ही input)। Studio की help में यह block buttons बन जाता है, जिनसे इसे वहीं load करके चलाया जा सकता है।

img_to_video 0.50 0.50
tb_temporal_bandpass 0.50 0.50

▸ यह pipeline load करें  ·  Load करके चलाएँ

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

नीचे के उदाहरण मूल ledger op temporal_bandpass को call करते हैं। यह bridge op वही implementation है, बस fn(v, a, b) convention के अनुसार ढाला गया है, इसलिए व्यवहार वैसा ही लागू होता है (केवल call का रूप अलग है)।

• motion_magnification — py -3.11 examples/motion_magnification.py

• poc_beam_modal_video — py -3.11 examples/poc_beam_modal_video.py

• poc_motion_magnification — py -3.11 examples/poc_motion_magnification.py

वे अगले ops जिनसे type जुड़ता है (video को input के रूप में लेते हैं)

identity · tb_temporal_band_power · tb_temporal_median_window · tb_moving_average_window · tb_background_subtraction_window · tb_frame_difference_causal · tb_exponential_background · tb_exponential_foreground

इसी category के (typed)

tb_points_to_voxel · tb_estimate_point_normals · tb_iss_keypoints · tb_project_points · tb_render_point_depth · tb_statistical_outlier_removal · tb_radius_outlier_removal · tb_voxel_grid_downsample


*Provenance: ops.py — 2D operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

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