transport op• Data kinds: signal × signal → transport_plan
• Call: import fullseye as fs; fs.ledger.transport_plan_1d(u_values, v_values) (implementation को सीधे call करना हो तो import colortransport; colortransport.transport_plan_1d(u_values, v_values), registry से लेना हो तो opscolortransport.get("transport_plan_1d"))
1-D का exact transport plan (north-west corner rule)। (n, m) का mass matrix लौटाता है।
row sums 1/n और column sums 1/m होते हैं -- यह construction से ही ठीक-ठीक है, और numerical error के अलावा कभी नहीं हटता (test से fix किया गया)।
प्रक्रिया: u (n मान) और v (m मान) को अलग-अलग आरोही क्रम में रखकर, छोटे से शुरू करके क्रम से mass min(बचा u, बचा v) assign किया जाता है (monotone coupling)। हर sample का mass बराबर 1/n और 1/m है (weighted स्वीकार नहीं)। 1 आयाम में जब तक cost दूरी का convex function हो, यह monotone coupling ही optimal solution है, इसलिए wasserstein_1d वाला ही transport "कौन सा sample कहाँ जाता है" के matrix के रूप में मिलता है।
• u_values, v_values: 1 आयाम में flatten (ravel)। लंबाई अलग हो सकती है। ख़ाली हो तो MetricContractError। finiteness जाँची नहीं जाती (NaN sort होकर अंत में जाता है और चुपचाप couple हो जाता है)।
• return value: (n, m) का float64 (transport_plan type)। plan[i, j] input के मूल क्रम में u[i] से v[j] तक ले जाया गया mass है। अधिकतम n + m - 1 non-zero तत्व। n == m हो तो permutation matrix / n (एक-से-एक संबंध)।
• गणना O((n + m) log) sort + O(n + m) scan है, लेकिन लौटाया गया matrix n × m का dense matrix है, इसलिए pixel संख्या जितने बड़े samples के लिए उपयुक्त नहीं (उस स्थिति में histogram_match या sinkhorn)।
apply_transport(plan, v) से u पक्ष के हर sample के गंतव्य का मान (centroid), और transport_cost(plan, cost) से कुल cost मिलती है।
• colorimetry — Colorimetry और spectra — रंग केवल spectrum × illuminant × observer से तय होता है
• 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 में दिए गए हैं।
• color_transport — py -3.11 examples/color_transport.py
transport_plan को input के रूप में लेते हैं)transport_cost · apply_transport
transport)wasserstein_1d · sinkhorn · sinkhorn_distance · sinkhorn_divergence
*Provenance: colortransport.py — COLORTRANSPORT operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.