riesz_transform — QUAT riesz op

• Data kinds: image2d → qimage

• Call: import fullseye as fs; fs.ledger.riesz_transform(image) -> 'np.ndarray' (implementation को सीधे call करना हो तो import quatimage; quatimage.riesz_transform(image) -> 'np.ndarray', registry से लेना हो तो opsquat.get("riesz_transform"))

उपयोग

image का 2-D Riesz transform, pure quaternion field के रूप में। → (H, W, 4)।

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

The isotropic generalisation of the Hilbert transform: a *pair* of filters with frequency responses -i*u/|w| and -i*v/|w|, returned as the quaternion (0, R1 f, R2 f, 0). It is the 2-D object that has no complex analogue — the 1-D analytic signal needs a direction to say which way "90 degrees later" is, and in 2-D there is no single direction, so the answer needs two components and therefore an algebra with room for them.

Closed form, which is how this is tested rather than eyeballed

For a grating cos(2*pi*(u0*x + v0*y)) sampled on the DFT grid,

R1 = (u0/|w0|) * sin(2*pi*(u0*x + v0*y)),

R2 = (v0/|w0|) * sin(...)

exactly. Measured over a table of eight grid-exact orientations from 0 to 159.4 degrees on a 64x64 frame, the largest absolute deviation from that closed form is 6.1e-15, and the orientation recovered through monogenic_orientation matches the grating's to 3.6e-15 rad at every one of them. There is no tolerance to choose.

Note the scalar component is 0, so this is the Riesz *transform* and not the monogenic signal — feeding it to monogenic_phase gives pi/2 everywhere, correctly but uselessly. Use monogenic_signal, which keeps the band-pass image in the scalar slot.

Raises ValueError: *image* is not a finite real (H, W) array with H, W >= 2, or exceeds MAX_PIXELS.

उपयोग की विस्तृत guide

• quaternion_monogenic family guide

संदर्भ (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 के स्रोत।

• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।

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

• quaternion_monogenic — py -3.11 examples/quaternion_monogenic.py

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

quaternion_to_rgb · quat_norm · quat_conjugate_image · quat_normalize_image · quat_image_multiply · monogenic_amplitude · monogenic_phase · monogenic_orientation

इसी category के (riesz)

monogenic_signal · monogenic_amplitude · monogenic_phase · monogenic_orientation


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

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