ellipse — ANNOTATE shape op

• Data kinds: image2d → image2d

• Call: import fullseye as fs; fs.ledger.ellipse(img, center, radii, angle_deg=0.0, color='neutral', width=2, fill=False, alpha=1.0, scheme='okabe_ito') (implementation को सीधे call करना हो तो import annotate; annotate.ellipse(img, center, radii, angle_deg=0.0, color='neutral', width=2, fill=False, alpha=1.0, scheme='okabe_ito'), registry से लेना हो तो opsannotate.get("ellipse"))

उपयोग

ellipse (angle_deg से घुमाया गया, fill=True से भरा)।

Raises

ValueError

radius positive नहीं, non-finite, alpha [0,1] के बाहर।

drawing: हर pixel को angle_deg जितना घुमाए गए local coordinates (u, v) में ले जाता है, और q = (u/ra)^2 + (v/rb)^2 से जाँचता है। fill=True का अर्थ q <= 1, fill=False का अर्थ |sqrt(q) - 1| <= max(1, width) / (2 min(ra, rb)) की band है (anti-aliasing नहीं)। band की चौड़ाई minor axis से normalise की गई है, इसलिए चपटे ellipse में major axis के सिरों की ओर line मोटी दिखती है (approximation)।

• center: (x, y), x = column, y = row। image के बाहर भी हो सकता है।

• radii: (ra, rb) [px]। ra angle_deg की दिशा में, rb उसके लंबवत। दोनों positive।

• angle_deg: rotation angle [degree]। x axis से clockwise (screen coordinates, y नीचे की ओर)।

• width: line width [px] (fill=False होने पर)।

• img / color / alpha / scheme का व्यवहार rounded_rect जैसा ही है (float64 copy, [0, 1], role name या RGB)।

• return value: input के समान shape का float64।

ra == rb हो तो वृत्त। measurement results (ellipse fit के row, col, phi, ra, rb) को overlay करते समय उन्हें center=(col, row), angle_deg=degrees(phi) के रूप में पढ़ें।

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

• figure_annotation family guide

पृष्ठभूमि guides (इस op के पीछे की physics और conventions)

• dataset_conventions — Training dataset के conventions — COCO / YOLO / VOC और visual inspection में सावधानियाँ

संदर्भ (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 करते हैं)

• annotate_gallery — py -3.11 examples/annotate_gallery.py

• poc_dimensional_inspection — py -3.11 examples/poc_dimensional_inspection.py

• poc_driving_crossing — py -3.11 examples/poc_driving_crossing.py

• poc_driving_lateral — py -3.11 examples/poc_driving_lateral.py

• poc_driving_pass — py -3.11 examples/poc_driving_pass.py

• poc_machine_condition_fusion — py -3.11 examples/poc_machine_condition_fusion.py

• poc_peg_insertion_tactile — py -3.11 examples/poc_peg_insertion_tactile.py

• poc_public_camera_heading_real — py -3.11 examples/poc_public_camera_heading_real.py

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

text_box · arrow · leader_line · label_points · crosshair · legend_box · color_bar · scale_bar

इसी category के (shape)

rounded_rect · filled_polygon · arc


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

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