surface op• Data kinds: depth → image2d
• Call: import fullseye as fs; fs.ledger.dem_tpi(dem, cell_size=1.0) (implementation को सीधे call करना हो तो import demops; demops.dem_tpi(dem, cell_size=1.0), registry से लेना हो तो opsdem.get("dem_tpi"))
topographic position index TPI — cell और उसके 8 पड़ोसियों के औसत का अंतर [m]। धनात्मक = ridge, ऋणात्मक = घाटी।
सूत्र: tpi = z - mean(z of the 8 neighbours) (न्यूनतम 3x3 पड़ोस के साथ लिया गया Weiss का TPI)। किनारों को border मानों की नकल से pad किया जाता है। पड़ोस 1 cell पर तय है, इसलिए scale 1 cell_size पर तय है; व्यापक ridges/valleys देखने के लिए पहले dem को मोटा करें (इस op में कोई radius argument नहीं है)।
• dem: (H, W) [m], 3x3 या बड़ा, real, inf नहीं। missing data nan के रूप में (यदि sentinel मान <= -9000 बिना nan के मौजूद हों तो अस्वीकार)। nan 3x3 पर फैलता है।
• cell_size: परिणाम को प्रभावित नहीं करता (अंतर में कोई दूरी नहीं आती), लेकिन caller को याद दिलाने के लिए स्वीकार किया जाता है कि इकाई [m] है, और धनात्मक finite होने की जाँच की जाती है।
• return value: (H, W) float64 [m]। 0 के पास मध्य-slope है, धनात्मक उत्तल है (ridges, peaks), ऋणात्मक अवतल है (valleys, गड्ढे)।
• विफलता: ValueError (shape, sentinel मान, cell_size)।
dem_roughness (उसी पड़ोस पर RMS) के साथ मिलाकर यह landform classification के लिए features देता है।
• dem_terrain_analysis family guide
• 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 में दिए गए हैं।
• dem_terrain_analysis_tour — py -3.11 examples/dem_terrain_analysis_tour.py
image2d को input के रूप में लेते हैं)—
surface)dem_slope · dem_aspect · dem_curvature · dem_roughness
*Provenance: demops.py — DEM operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.