rank_kendall_b — IMGMETRICS iqa op

• Data kinds: any × any → scalar

• Call: import fullseye as fs; fs.ledger.rank_kendall_b(x, y, chunk: 'int' = 512) -> 'float' (to call the implementation directly, import iqatid; iqatid.rank_kendall_b(x, y, chunk: 'int' = 512) -> 'float'; from the registry, opsimgmetrics.get("rank_kendall_b"))

Usage

Kendall's τ_b (with tie correction) = (C − D) / sqrt((n0 − n1)(n0 − n2)).

C / D = number of concordant / discordant pairs, n0 = n(n−1)/2, n1 / n2 = number of tied pairs on the x side / y side. The O(n²) count is done by broadcasting chunk rows at a time (4.5e6 pairs at n = 3000, a few seconds). 1 for monotonic increase, −1 for reversal. nan if either is constant. TID2013's published Kendall is τ_b (14 metrics agree to 3 digits; with τ_a, 4 are off). ±inf use only their order. Raises ValueError: length mismatch, below 2, nan.

Detailed usage guide

• image_difference_metrics family guide

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

• The canonical algorithm (author, year) and its uses are named in the family usage guide above.

Runnable examples (verified samples that actually call this op)

• poc_iqa_fsim_gmsd_vif — py -3.11 examples/poc_iqa_fsim_gmsd_vif.py

• poc_iqa_tid2013 — py -3.11 examples/poc_iqa_tid2013.py

Ops the type connects to (they accept scalar as input)

luma_limited_u8 · rank_data · tid2013_index

Same category (iqa)

luma_limited_u8 · rank_data · rank_spearman · tid2013_published · tid2013_root · tid2013_index · tid2013_metric_values · tid2013_evaluate


*Provenance: iqatid.py — IMGMETRICS operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

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