レシピ = 型で繋がる op の組み合わせ例。正本は recipes.py(Studio の見本 25 本)と fullseye/recipebook/(網羅用 246 本)。全部を tests/test_recipebook.py が合成入力 2 種で実際に走らせ、型の繋がり・出力が定数でないこと・入力に応じて動くこと・真値の門(ある物)を確かめる。
MCP の検索(fullseye_find_ops)は runner = mcp(MCP の pipeline でそのまま走る物)だけを返す。
| 項目 | 値 |
|---|---|
| レシピ | 271(2 段以上 220) |
| 族(docs/ops)の網羅 | 60 / 60 |
| 2-D の category の網羅 | 25 / 49 |
| 使った op(重複なし) | 413 |
| 真値の門つき | 247 |
| runner | mcp 89, python 182 |
| 型の切れ目 | 合計 0(切れ目のあるレシピ 0) |
| GPU 経路の切り替わり | 合計 96(測ったレシピ 247、GPU 段を含む 127、未計測 24、snapshot a3f91eae72) |
課題の分類: 3d 37, analysis 24, inspection 60, measurement 73, optics 8, preprocess 38, sensing 17, simulation 9, visualization 5
HALCON の章: 1D Measuring 7, 2D Metrology 6, 3D Matching 8, 3D Object Model 18, 3D Reconstruction 15, Bar Code 1, Calibration 4, Color 8, Features 2, Filters 10, Frequency 1, Identification 1, Inspection 4, Matching 6, Morphology 3, OCR 4, Regions 19, Restoration 2, Segmentation 10, Texture 3, Transformations 7, XLD 10
2-D でレシピの無い category: arithmetic, artificial_life, artistic, augmentation, classification, decomposition, deformation, domain, extra, filtering, intensity_transform, macro, misc, morphology_markers, noise, physics, region_morphology, region_transform, self_similarity, tactile, texture_feature, texture_shape_feature, tomography, transform
GPU の切り替わり = 隣り合う 2 段で、片方だけが pipeline 文脈の GPU 経路(gpu_route.route(op, "pipeline"))を持つ箇所の数(CPU と GPU の間の受け渡し 1 回)。snapshot に無い op を含むレシピは未計測。
| 族 | op 数 | レシピ | 使った op |
|---|---|---|---|
| 2d | 964 | 90 | 99 |
| 3d | 377 | 25 | 35 |
| acceptance | 8 | 1 | 1 |
| acoustics | 27 | 4 | 6 |
| annotate | 51 | 2 | 4 |
| aoi | 8 | 1 | 2 |
| astrostack | 14 | 4 | 9 |
| blob | 11 | 4 | 6 |
| cadmap | 4 | 1 | 1 |
| calib | 29 | 2 | 4 |
| codematch | 6 | 1 | 1 |
| colortransport | 11 | 2 | 3 |
| conngraph | 28 | 2 | 4 |
| converge | 6 | 2 | 2 |
| dem | 25 | 2 | 3 |
| drive | 717 | 7 | 11 |
| emproof | 14 | 1 | 2 |
| fileio | 28 | 2 | 4 |
| fit | 3 | 2 | 2 |
| flyvision | 22 | 3 | 6 |
| generative | 42 | 3 | 5 |
| geocam | 9 | 2 | 4 |
| gfx2d | 44 | 2 | 5 |
| graph | 20 | 2 | 2 |
| imgforensics | 16 | 3 | 4 |
| imgmetrics | 42 | 3 | 5 |
| interferometry | 9 | 3 | 6 |
| lightfield | 17 | 3 | 6 |
| live4d | 14 | 1 | 2 |
| llmcore | 10 | 1 | 4 |
| matchreg | 12 | 1 | 1 |
| math | 115 | 5 | 9 |
| measure1d | 17 | 3 | 7 |
| motionmag | 9 | 3 | 4 |
| multivar | 18 | 3 | 5 |
| mv | 47 | 1 | 1 |
| oned | 49 | 3 | 8 |
| optics | 504 | 14 | 37 |
| photon | 17 | 3 | 7 |
| piv | 29 | 4 | 8 |
| printpath | 23 | 1 | 3 |
| profile | 12 | 2 | 5 |
| quat | 19 | 2 | 5 |
| rangedoppler | 8 | 2 | 5 |
| reprconv | 62 | 2 | 2 |
| residue | 5 | 1 | 1 |
| roughness | 9 | 5 | 8 |
| segmentation | 59 | 4 | 4 |
| shape2d | 17 | 2 | 5 |
| shapestat | 16 | 2 | 5 |
| simcal | 10 | 1 | 4 |
| spc | 41 | 4 | 6 |
| specular | 20 | 6 | 6 |
| symbol | 33 | 1 | 1 |
| text | 3 | 3 | 3 |
| tomography | 43 | 4 | 6 |
| videocube | 6 | 1 | 1 |
| videostream | 16 | 2 | 4 |
| volcolor | 11 | 3 | 3 |
| vx | 10 | 2 | 3 |
| レシピ | 族 | 課題 | runner | 段 | 型の切れ目 | GPU 段 | GPU 切替 | 真値 |
|---|---|---|---|---|---|---|---|---|
| Denoise — bilateral + unsharp | 2d | preprocess | mcp | 2 | 0 | 2 | 0 | — |
| Denoise — total variation | 2d | preprocess | mcp | 1 | 0 | 1 | 0 | — |
| Denoise — median | 2d | preprocess | mcp | 1 | 0 | 1 | 0 | — |
| Edge — Sobel + Otsu | 2d | preprocess | mcp | 3 | 0 | 3 | 0 | — |
| Edge — Canny | 2d | preprocess | mcp | 2 | 0 | 2 | 0 | — |
| Segment — blob / coin | 2d | preprocess | mcp | 4 | 0 | 4 | 0 | — |
| Count — blobs | 2d | measurement | mcp | 4 | 0 | 4 | 0 | — |
| Binarize — document (adaptive) | 2d | preprocess | mcp | 1 | 0 | 1 | 0 | — |
| Enhance — CLAHE contrast | 2d | preprocess | mcp | 1 | 0 | 1 | 0 | — |
| Enhance — histogram equalize | 2d | preprocess | mcp | 1 | 0 | 1 | 0 | — |
| Enhance — gamma | 2d | preprocess | mcp | 1 | 0 | 1 | 0 | — |
| Sharpen — unsharp mask | 2d | preprocess | mcp | 1 | 0 | 1 | 0 | — |
| Sharpen — highpass | 2d | preprocess | mcp | 1 | 0 | 1 | 0 | — |
| Texture — Gabor | 2d | analysis | mcp | 1 | 0 | 1 | 0 | — |
| Texture — local std | 2d | analysis | mcp | 1 | 0 | 1 | 0 | — |
| Keypoints — Harris corners | 2d | analysis | mcp | 1 | 0 | 0 | 0 | — |
| Blobs — Difference of Gaussians | 2d | analysis | mcp | 1 | 0 | 0 | 0 | — |
| Morphology — gradient | 2d | preprocess | mcp | 1 | 0 | 1 | 0 | — |
| Shape — distance transform | 2d | analysis | mcp | 3 | 0 | 3 | 0 | — |
| Spots — local maxima | 2d | analysis | mcp | 2 | 0 | 2 | 0 | — |
| FA — scratch on hairline metal | 2d | inspection | mcp | 4 | 0 | 3 | 2 | あり |
| FA — dent and foreign fibre on resin | 2d | inspection | mcp | 4 | 0 | 4 | 0 | あり |
| FA — engraved lot code (binarize for OCR) | 2d | inspection | mcp | 3 | 0 | 3 | 0 | あり |
| FA — count holes in a back-lit plate | 2d | measurement | mcp | 3 | 0 | 3 | 0 | あり |
| FA — weld porosity (X-ray) | 2d | inspection | mcp | 3 | 0 | 3 | 0 | あり |
| Measure — diameter of a bright round part | 2d | measurement | mcp | 4 | 0 | 3 | 1 | あり |
| Inspect — roundness of a punched disk (circularity) | 2d | inspection | mcp | 3 | 0 | 2 | 1 | あり |
| Preprocess — remove salt-and-pepper impulses before measuring part area | 2d | preprocess | mcp | 3 | 0 | 3 | 0 | あり |
| Preprocess — denoise a flat field and verify the residual noise level | 2d | preprocess | mcp | 2 | 0 | 1 | 1 | あり |
| Inspect — count parts under strongly uneven illumination (local threshold) | 2d | inspection | mcp | 3 | 0 | 3 | 0 | あり |
| Preprocess — flatten an illumination gradient with a plane fit, then count parts | 2d | preprocess | mcp | 3 | 0 | 3 | 0 | あり |
| Inspect — split touching round parts and count them (distance-transform peaks) | 2d | inspection | mcp | 4 | 0 | 3 | 2 | あり |
| Measure — part area with a k-means intensity segmentation | 2d | measurement | mcp | 2 | 0 | 2 | 0 | あり |
| Measure — part area with hysteresis thresholding | 2d | measurement | mcp | 3 | 0 | 2 | 2 | あり |
| Measure — hole area fraction of a washer | 2d | measurement | mcp | 2 | 0 | 1 | 1 | あり |
| Inspect — count punched holes in a plate (Euler number) | 2d | inspection | mcp | 2 | 0 | 1 | 1 | あり |
| Measure — orientation angle of an elongated part | 2d | measurement | mcp | 2 | 0 | 1 | 1 | あり |
| Measure — equivalent-ellipse semi-axes of an oval part | 2d | measurement | mcp | 2 | 0 | 1 | 1 | あり |
| Measure — equivalent-ellipse angle Phi of a turned bar (elliptic_axis) | 2d | measurement | mcp | 2 | 0 | 1 | 1 | あり |
| Measure — anisometry (aspect ratio) of an oval part | 2d | measurement | mcp | 3 | 0 | 2 | 1 | あり |
| Measure — area and position of the largest part in a cluttered scene | 2d | measurement | mcp | 3 | 0 | 3 | 0 | あり |
| Measure — convex-hull area of a C-shaped part | 2d | measurement | mcp | 3 | 0 | 2 | 2 | あり |
| Inspect — convexity of a C-shaped clip (gap detection) | 2d | inspection | mcp | 2 | 0 | 1 | 1 | あり |
| Measure — length of a thin wire or scratch | 2d | measurement | mcp | 2 | 0 | 1 | 1 | あり |
| Measure — wall thickness of a bar-shaped part | 2d | measurement | mcp | 2 | 0 | 1 | 1 | あり |
| Inspect — count the arms of a branched part (skeleton end points) | 2d | inspection | mcp | 5 | 0 | 3 | 2 | あり |
| Preprocess — remove dust specks, then count the real parts | 2d | preprocess | mcp | 3 | 0 | 3 | 0 | あり |
| Inspect — dark pits on a bright surface (black top-hat) | 2d | inspection | mcp | 3 | 0 | 3 | 0 | あり |
| Inspect — bright spots on a vignetted background (white top-hat) | 2d | inspection | mcp | 3 | 0 | 3 | 0 | あり |
| Inspect — count bright round blobs (Laplacian-of-Gaussian detector) | 2d | inspection | mcp | 2 | 0 | 1 | 1 | あり |
| Inspect — count circular holes with the Hough circle transform | 2d | inspection | mcp | 2 | 0 | 1 | 1 | あり |
| Inspect — count corners of rectangular parts | 2d | inspection | mcp | 2 | 0 | 1 | 1 | あり |
| Measure — edge column from the gradient projection profile | 2d | measurement | mcp | 3 | 0 | 3 | 0 | あり |
| Measure — edge position on a 1-D grey profile (derivative peak) | 2d | measurement | mcp | 3 | 0 | 2 | 1 | あり |
| Measure — sub-pixel edge position along a caliper line | 2d | measurement | mcp | 2 | 0 | 1 | 1 | あり |
| Inspect — count bright bars crossed by a caliper (edge pairs) | 2d | inspection | mcp | 2 | 0 | 1 | 1 | あり |
| Measure — count all edges along a caliper line | 2d | measurement | mcp | 2 | 0 | 0 | 0 | あり |
| Measure — sub-pixel area of a round part from its iso-contour | 2d | measurement | mcp | 2 | 0 | 0 | 0 | あり |
| Measure — maximal diameter of a part from its sub-pixel contour | 2d | measurement | mcp | 2 | 0 | 0 | 0 | あり |
| Measure — radius of a round part by an ellipse fit to its sub-pixel edge | 2d | measurement | mcp | 2 | 0 | 0 | 0 | あり |
| Measure — angle of a straight edge by a sub-pixel line fit | 2d | measurement | mcp | 4 | 0 | 2 | 1 | あり |
| Measure — orientation of a bar from its sub-pixel outline | 2d | measurement | mcp | 2 | 0 | 0 | 0 | あり |
| Measure — orientation of a bar from its sub-pixel outline (orientation_xld) | 2d | measurement | mcp | 2 | 0 | 未計測 | 未計測 | あり |
| Measure — equivalent-ellipse angle Phi of a bar from its sub-pixel outline (elliptic_axis_xld) | 2d | measurement | mcp | 2 | 0 | 0 | 0 | あり |
| Measure — perimeter of a round part from sub-pixel edges | 2d | measurement | mcp | 3 | 0 | 未計測 | 未計測 | あり |
| Inspect — length of a scratch from its centre line (lines_gauss) | 2d | inspection | mcp | 2 | 0 | 未計測 | 未計測 | あり |
| Measure — sub-pixel centre of a laser spot / fiducial dot | 2d | measurement | mcp | 2 | 0 | 1 | 1 | あり |
| Locate — find a fiducial mark by normalized cross-correlation | 2d | inspection | mcp | 2 | 0 | 2 | 0 | あり |
| Locate — find a rotated part and its angle (shape-based matching) | 2d | inspection | mcp | 2 | 0 | 1 | 1 | あり |
| Inspect — segment a coloured part by saturation (HSV) | 2d | inspection | mcp | 4 | 0 | 2 | 1 | あり |
| Inspect — pick a blue part by its colour channel | 2d | inspection | mcp | 3 | 0 | 2 | 1 | あり |
| Preprocess — rotate an image by a known angle and check the part angle | 2d | preprocess | mcp | 3 | 0 | 2 | 1 | あり |
| Preprocess — zoom about the centre and verify the area scale | 2d | preprocess | mcp | 3 | 0 | 3 | 0 | あり |
| Preprocess — mirror an image upside down (row flip) | 2d | preprocess | mcp | 3 | 0 | 2 | 1 | あり |
| Measure — ring radius by polar unwrapping | 2d | measurement | mcp | 2 | 0 | 1 | 1 | あり |
| Preprocess — inpaint scratch lines before measuring part area | 2d | preprocess | mcp | 3 | 0 | 2 | 1 | あり |
| Preprocess — Richardson-Lucy deblur of a defocused part, then measure | 2d | preprocess | mcp | 3 | 0 | 3 | 0 | あり |
| Preprocess — suppress periodic interference stripes with an FFT low-pass | 2d | preprocess | mcp | 3 | 0 | 3 | 0 | あり |
| Measure — period of a stripe texture by zero crossings | 2d | measurement | mcp | 4 | 0 | 2 | 1 | あり |
| Measure — direction of a grating or brushed texture (structure tensor) | 2d | measurement | mcp | 2 | 0 | 2 | 0 | あり |
| Inspect — length of a dark scratch on brushed metal | 2d | inspection | mcp | 4 | 0 | 3 | 1 | あり |
| Inspect — dark contamination spots on a woven fabric | 2d | inspection | mcp | 4 | 0 | 4 | 0 | あり |
| Identify — count the bars of a 1-D barcode | 2d | inspection | mcp | 2 | 0 | 1 | 1 | あり |
| Preprocess — segment dark characters on shaded paper for OCR | 2d | preprocess | mcp | 2 | 0 | 1 | 1 | あり |
| Inspect — defects by golden-template difference against a good part | 2d | inspection | python | 4 | 0 | 4 | 0 | あり |
| Preprocess — flat-field correction by dividing by a white reference | 2d | preprocess | python | 3 | 0 | 3 | 0 | あり |
| Preprocess — subtract a background frame, then measure the part area | 2d | preprocess | python | 3 | 0 | 3 | 0 | あり |
| Inspect — missing material against the nominal shape (region difference) | 2d | inspection | python | 3 | 0 | 2 | 2 | あり |
| Inspect — count bright particles and their total area | blob | inspection | python | 3 | 0 | 2 | 1 | あり |
| Inspect — split touching particles with distance-transform seeds | blob | inspection | python | 5 | 0 | 3 | 1 | あり |
| Inspect — particle count with an honest lower/upper interval | blob | inspection | python | 2 | 0 | 1 | 1 | あり |
| Inspect — score a segmentation against the ground-truth mask (Dice / Jaccard) | segmentation | inspection | python | 3 | 0 | 2 | 1 | あり |
| Inspect — separate touching parts with marker-controlled watershed | segmentation | inspection | python | 5 | 0 | 3 | 1 | あり |
| Preprocess — automatic gray threshold between two intensity classes (ISODATA) | segmentation | preprocess | python | 2 | 0 | 1 | 1 | あり |
| Measure — subpixel edge position along a caliper line | measure1d | measurement | python | 2 | 0 | 0 | 0 | あり |
| Measure — width of a bright bar in millimetres (edge pair + scale) | measure1d | measurement | python | 3 | 0 | 0 | 0 | あり |
| Measure — hole radius and centre by circle metrology | measure1d | measurement | python | 4 | 0 | 0 | 0 | あり |
| Preprocess — OpenVX affine warp, then gauge where the edge moved | vx | preprocess | python | 3 | 0 | 1 | 1 | あり |
| Preprocess — OpenVX look-up table, then 16-bin histogram | vx | preprocess | python | 2 | 0 | 1 | 1 | あり |
| Preprocess — raw Bayer ISP: black level, demosaic, gray-world white balance | gfx2d | preprocess | python | 3 | 0 | 2 | 1 | あり |
| Preprocess — lens-shading (vignetting) correction from a flat-field frame | gfx2d | preprocess | python | 2 | 0 | 1 | 1 | あり |
| Simulate — rule-90 cellular automaton (Sierpinski) stepped and rendered | generative | simulation | python | 3 | 0 | 0 | 0 | あり |
| Simulate — SEM secondary-electron image of a sloped facet | generative | simulation | python | 1 | 0 | 1 | 0 | あり |
| Simulate — photoluminescence carrier-diffusion PSF | generative | simulation | python | 1 | 0 | 0 | 0 | あり |
| Visualize — plot a measured series on data axes (data -> pixel mapping) | annotate | visualization | python | 3 | 0 | 1 | 2 | あり |
| Visualize — draw a filled ellipse marker and verify its pixel area | annotate | visualization | python | 4 | 0 | 2 | 2 | あり |
| Inspect — image fidelity report of a noisy capture (PSNR / RMSE with conditions) | imgmetrics | inspection | python | 2 | 0 | 0 | 0 | あり |
| Inspect — perceptual colour difference ΔE*ab against a reference colour | imgmetrics | inspection | python | 3 | 0 | 0 | 0 | あり |
| Inspect — mutual information of a multimodal pair (inverted contrast) | imgmetrics | analysis | python | 2 | 0 | 1 | 1 | あり |
| Inspect — embed and blindly recover an integrity watermark | imgforensics | inspection | python | 2 | 0 | 0 | 0 | あり |
| Inspect — detect a copy-move forgery and its displacement | imgforensics | inspection | python | 2 | 0 | 1 | 1 | あり |
| Inspect — locate a spliced patch with different sensor noise | imgforensics | inspection | python | 4 | 0 | 3 | 1 | あり |
| Preprocess — colour transfer of a product photo to a reference look | colortransport | preprocess | python | 1 | 0 | 0 | 0 | あり |
| Measure — 1-D optimal transport plan between two sample sets | colortransport | analysis | python | 2 | 0 | 0 | 0 | あり |
| Measure — radius of a round part from its contour (elliptic Fourier) | shape2d | measurement | python | 3 | 0 | 0 | 0 | あり |
| Preprocess — thin-plate-spline warp from control points, check the part moved | shape2d | preprocess | python | 4 | 0 | 3 | 1 | あり |
| Analyze — statistical shape model: variance explained by the first mode | shapestat | analysis | python | 3 | 0 | 0 | 0 | あり |
| Inspect — form error after best-fit similarity alignment of landmarks | shapestat | inspection | python | 2 | 0 | 0 | 0 | あり |
| Inspect — airfoil blade profile deviation from the nominal NACA section | profile | inspection | python | 3 | 0 | 0 | 0 | あり |
| Measure — airfoil leading-edge radius | profile | measurement | python | 3 | 0 | 0 | 0 | あり |
| Measure — profile roughness Ra / Rq after a robust Gaussian filter (scratched, curved part) | roughness | measurement | python | 2 | 0 | 0 | 0 | あり |
| Measure — profile roughness Ra / Rq after a robust spline filter | roughness | measurement | python | 2 | 0 | 0 | 0 | あり |
| Measure — areal roughness Sq: form removal, Gaussian L-filter, ISO 25178 parameters | roughness | measurement | python | 3 | 0 | 2 | 1 | あり |
| Measure — Sq of a synthetic self-affine surface (PSD synthesis + form removal) | roughness | simulation | python | 3 | 0 | 1 | 2 | あり |
| Preprocess — rotate colours about the grey axis (quaternion colour rotation) | quat | preprocess | python | 3 | 0 | 1 | 1 | あり |
| Measure — local orientation of a grating with the monogenic signal | quat | measurement | python | 2 | 0 | 0 | 0 | あり |
| Inspect — locate a part template under an illumination change (orientation codes) | codematch | inspection | python | 2 | 0 | 1 | 1 | あり |
| Measure — large displacement from multi-wavelength phases (CRT unwrapping) | residue | measurement | python | 1 | 0 | 0 | 0 | あり |
| Inspect — flat-field correct, then register the frame to the golden image | aoi | inspection | python | 2 | 0 | 0 | 0 | あり |
| Inspect — stroke width of printed characters (SWT) | text | inspection | python | 1 | 0 | 0 | 0 | あり |
| Inspect — character candidates from a stroke-width field | text | inspection | python | 1 | 0 | 0 | 0 | あり |
| Inspect — group character candidates into text lines | text | inspection | python | 2 | 0 | 未計測 | 未計測 | あり |
| 3D — radius of a ball from a noisy scan with stray points | 3d | 3d | python | 2 | 0 | 0 | 0 | あり |
| 3D — ball radius by least squares after statistical outlier removal | 3d | 3d | python | 2 | 0 | 0 | 0 | あり |
| 3D — tilt of a flat face (RANSAC plane) despite clutter | 3d | 3d | python | 1 | 0 | 0 | 0 | あり |
| 3D — pipe radius from a cylinder scan (normals + RANSAC cylinder) | 3d | 3d | python | 2 | 0 | 0 | 0 | あり |
| 3D — mean curvature of a ball surface as a summary table | reprconv | 3d | python | 2 | 0 | 0 | 0 | あり |
| 3D — centre of a scanned part (centroid position) | reprconv | 3d | python | 2 | 0 | 0 | 0 | あり |
| 3D — enclosed volume of a scanned ball (convex hull mesh) | 3d | 3d | python | 2 | 0 | 0 | 0 | あり |
| 3D — surface area of a scanned ball (convex hull mesh) | 3d | 3d | python | 2 | 0 | 0 | 0 | あり |
| 3D — align a scan to its reference (ICP rigid transform) | 3d | 3d | python | 2 | 0 | 0 | 0 | あり |
| 3D — align a scan to its reference with point-to-plane ICP | 3d | 3d | python | 2 | 0 | 0 | 0 | あり |
| 3D — register two scans with generalized ICP (plane-to-plane) | 3d | 3d | python | 2 | 0 | 0 | 0 | あり |
| 3D — object pose from known 3-D points and their image (PnP) | 3d | 3d | python | 1 | 0 | 0 | 0 | あり |
| 3D — how far a part sits from its nominal pose (point-to-plane ICP -> pose error) | 3d | 3d | python | 3 | 0 | 未計測 | 未計測 | あり |
| 3D — camera pose deviation from its nominal mounting (PnP -> RRE / RTE) | 3d | 3d | python | 2 | 0 | 未計測 | 未計測 | あり |
| 3D — plane tilt from a depth camera image | 3d | 3d | python | 2 | 0 | 0 | 0 | あり |
| 3D — height of a bump by phase-shift structured light | 3d | 3d | python | 2 | 0 | 1 | 1 | あり |
| 3D — fuse a depth image into a TSDF volume and read occupancy | 3d | 3d | python | 2 | 0 | 1 | 1 | あり |
| 3D — depth of a surface from a calibrated stereo pair (plane sweep) | 3d | 3d | python | 1 | 0 | 0 | 0 | あり |
| 3D — voxel count of an inclusion after removing speckle | 3d | 3d | python | 2 | 0 | 0 | 0 | あり |
| 3D — volume of a CT inclusion from its marching-cubes surface | 3d | 3d | python | 2 | 0 | 0 | 0 | あり |
| 3D — surface area of a CT inclusion (marching cubes + Taubin smoothing) | 3d | 3d | python | 3 | 0 | 0 | 0 | あり |
| 3D — label the objects in a CT volume and read their voxel counts | 3d | 3d | python | 2 | 0 | 1 | 1 | あり |
| Inspect — diameter of a dense inclusion along a probe line (CT volume) | 3d | 3d | python | 2 | 0 | 1 | 1 | あり |
| DEM — slope of a hillside after filling sinks | dem | measurement | python | 2 | 0 | 1 | 1 | あり |
| DEM — hillshade of a tilted terrain | dem | visualization | python | 1 | 0 | 1 | 0 | あり |
| CT — reconstruct a disk phantom and measure its area | tomography | measurement | python | 3 | 0 | 2 | 1 | あり |
| CT — find the rotation-axis offset of a scanner | tomography | measurement | python | 1 | 0 | 0 | 0 | あり |
| CT — correct an off-centre axis, reconstruct and measure | tomography | measurement | python | 3 | 0 | 2 | 1 | あり |
| CT — suppress ring artefacts from a bad detector, then measure | tomography | preprocess | python | 4 | 0 | 2 | 1 | あり |
| Calibrate — camera focal length from views of a planar target | calib | measurement | python | 2 | 0 | 0 | 0 | あり |
| Measure — circle on a plane in millimetres from pixels (homography) | calib | measurement | python | 2 | 0 | 0 | 0 | あり |
| Measure — image radius of a 3-D ring seen by a camera | fit | measurement | python | 2 | 0 | 0 | 0 | あり |
| Measure — sub-pixel shift between two images (phase correlation) | fit | measurement | python | 1 | 0 | 0 | 0 | あり |
| 3D — save a scan as XYZ text, reload it and re-measure the ball | fileio | 3d | python | 3 | 0 | 0 | 0 | あり |
| 3D — export a part mesh as OBJ, re-import it and check its volume | fileio | 3d | python | 4 | 0 | 0 | 0 | あり |
| Print — filament volume for the equator layer of a scanned ball | printpath | simulation | python | 4 | 0 | 0 | 0 | あり |
| Inspect — map a camera pixel onto the CAD surface (depth of the hit) | cadmap | inspection | python | 2 | 0 | 0 | 0 | あり |
| Sense — horizon line a camera sees from a DEM | geocam | simulation | python | 3 | 0 | 0 | 0 | — |
| 3D — per-object volume table of a labelled scan | volcolor | 3d | python | 1 | 0 | 0 | 0 | あり |
| 3D — volume table of the objects found in a grey scan | volcolor | 3d | python | 2 | 0 | 1 | 1 | あり |
| 3D — colour a labelled volume and cut an RGB slice | volcolor | visualization | python | 2 | 0 | 1 | 1 | — |
| Sense — slit-scan (x-t) image of a moving spot | videocube | analysis | python | 1 | 0 | 0 | 0 | — |
| Sense — beating shell: maximum-intensity projection video | live4d | visualization | python | 2 | 0 | 0 | 0 | — |
| Sense — sun elevation at a site over a day | geocam | sensing | python | 1 | 0 | 未計測 | 未計測 | あり |
| Optics — focal length of a biconvex singlet lens (paraxial EFL / BFL) | optics | optics | python | 2 | 0 | 0 | 0 | あり |
| Optics — optimize a singlet to a target focal length (merit function, damped least squares) | optics | optics | python | 3 | 0 | 0 | 0 | あり |
| Optics — tolerance sensitivity of a singlet (which radius drives the RMS spot) | optics | optics | python | 4 | 0 | 0 | 0 | あり |
| Optics — diffraction-limited MTF50 of an f-number (Airy PSF to MTF) | optics | optics | python | 3 | 0 | 1 | 2 | あり |
| Sense — indirect ToF depth with dual-frequency phase unwrapping | optics | sensing | python | 3 | 0 | 0 | 0 | あり |
| Measure — coating thickness by spectral-domain OCT | optics | measurement | python | 3 | 0 | 0 | 0 | あり |
| Optics — Malus’s law through a linear polarizer (Mueller calculus) | optics | optics | python | 3 | 0 | 0 | 0 | あり |
| 3D — shape from polarization of a glossy dome (curvature from polarization images) | optics | 3d | python | 4 | 0 | 0 | 0 | あり |
| Optics — object-side telecentric lens: magnification and telecentricity error | optics | optics | python | 2 | 0 | 0 | 0 | あり |
| Optics — irradiance and uniformity of a point LED over the field (illumination design) | optics | optics | python | 3 | 0 | 0 | 0 | あり |
| Optics — peak wavelength of a blackbody source (Wien’s law, spectral radiometry) | optics | optics | python | 2 | 0 | 0 | 0 | あり |
| Measure — overlay alignment from a moire mark (nm-scale shift) | optics | measurement | python | 2 | 0 | 0 | 0 | あり |
| Measure — photoelastic retardance and principal-stress direction (polarization camera) | optics | measurement | python | 2 | 0 | 0 | 0 | あり |
| Measure — height with a chromatic confocal probe (designed lens, calibration table) | optics | measurement | python | 4 | 0 | 0 | 0 | あり |
| Sense — FMCW radar range and velocity of a target (range-Doppler map) | rangedoppler | sensing | python | 4 | 0 | 0 | 0 | あり |
| Sense — radar direction of arrival with a uniform linear array (beamforming) | rangedoppler | sensing | python | 2 | 0 | 0 | 0 | あり |
| Sense — direct ToF distance from a TCSPC histogram (SPAD lidar pixel) | photon | sensing | python | 3 | 0 | 0 | 0 | あり |
| 3D — flash lidar depth map from a SPAD histogram cube | photon | 3d | python | 2 | 0 | 0 | 0 | あり |
| Preprocess — variance-stabilize a photon-limited image (Anscombe transform) | photon | preprocess | python | 2 | 0 | 1 | 1 | あり |
| Measure — surface height at a pixel by white-light interferometry (CSI peak) | interferometry | measurement | python | 2 | 0 | 0 | 0 | あり |
| Measure — tilt of a flat measured by a coherence-scanning interferometer | interferometry | measurement | python | 3 | 0 | 1 | 1 | あり |
| Measure — distance by chromatic confocal sensor (spectral peak to height) | interferometry | measurement | python | 2 | 0 | 0 | 0 | あり |
| Sense — detect and photometer stars in a frame (aperture photometry) | astrostack | sensing | python | 3 | 0 | 0 | 0 | あり |
| Measure — seeing / PSF FWHM of point sources (Gaussian PSF fit) | astrostack | measurement | python | 3 | 0 | 0 | 0 | あり |
| Preprocess — stack N frames with sigma clipping (noise drops as 1/sqrt N) | astrostack | preprocess | python | 2 | 0 | 1 | 1 | あり |
| Preprocess — reveal faint stars: cosmic-ray reject, register and stack dithered frames | astrostack | preprocess | python | 5 | 0 | 2 | 4 | あり |
| 3D — depth of a plane from a plenoptic camera raw image (refocus stack, depth from focus) | lightfield | 3d | python | 3 | 0 | 0 | 0 | あり |
| 3D — metric depth from a light field (refocus depth from focus, camera-array model) | lightfield | 3d | python | 3 | 0 | 1 | 1 | あり |
| 3D — metric depth from a light field (EPI structure-tensor slope, camera-array model) | lightfield | 3d | python | 3 | 0 | 未計測 | 未計測 | あり |
| Measure — flow velocity from a PIV image pair (multipass cross-correlation) | piv | measurement | python | 3 | 0 | 0 | 0 | あり |
| Measure — mean flow from a PIV image sequence (ensemble correlation) | piv | measurement | python | 3 | 0 | 0 | 0 | あり |
| Measure — vorticity of a PIV vector field after outlier replacement | piv | measurement | python | 3 | 0 | 0 | 0 | あり |
| Measure — flow speed in m/s from PIV displacement (pixel size, frame interval) | piv | measurement | python | 2 | 0 | 0 | 0 | あり |
| Inspect — bearing outer-race defect frequency by envelope spectrum | acoustics | inspection | python | 2 | 0 | 0 | 0 | あり |
| Measure — frequency response (gain) of a device from input / output noise (H1) | acoustics | measurement | python | 1 | 0 | 0 | 0 | あり |
| Sense — time difference of arrival between two microphones (GCC-PHAT) | acoustics | sensing | python | 1 | 0 | 0 | 0 | あり |
| Measure — A-weighted equivalent sound level of a tone | acoustics | measurement | python | 2 | 0 | 1 | 1 | あり |
| Sense — self-rotation of a compound eye from optic flow (fly motion vision) | flyvision | sensing | python | 4 | 0 | 0 | 0 | あり |
| Sense — motion direction from two photoreceptors (Reichardt correlator) | flyvision | sensing | python | 1 | 0 | 0 | 0 | あり |
| Sense — time to collision from the looming angle (tau) | flyvision | sensing | python | 1 | 0 | 1 | 0 | あり |
| Inspect — specular highlight strength of a glossy part (dichromatic model) | specular | inspection | python | 2 | 0 | 1 | 1 | あり |
| Sense — degree of linear polarization of specular reflection (Fresnel) | specular | sensing | python | 2 | 0 | 0 | 0 | あり |
| 3D — curvature of a matte part by robust photometric stereo | specular | 3d | python | 2 | 0 | 0 | 0 | あり |
| Inspect — remove specular glare to read the body colour (dichromatic separation) | specular | inspection | python | 2 | 0 | 0 | 0 | あり |
| Measure — sub-pixel vibration amplitude from video (phase-based) | motionmag | measurement | python | 2 | 0 | 1 | 1 | あり |
| Inspect — magnify a small vibration in video (motion magnification) | motionmag | inspection | python | 1 | 0 | 1 | 0 | あり |
| Measure — vibration SNR in a frequency band of a video | motionmag | measurement | python | 1 | 0 | 0 | 0 | あり |
| Sense — time to collision with a wall from depth and ego motion | drive | sensing | python | 2 | 0 | 1 | 1 | あり |
| Sense — focus of expansion of the ego motion (heading point in the image) | drive | sensing | python | 2 | 0 | 0 | 0 | あり |
| Measure — RSS minimum safe following distance (responsibility-sensitive safety) | drive | analysis | python | 2 | 0 | 0 | 0 | あり |
| Measure — RSS minimum safe gap behind a braking lead car (rss_params -> rss_longitudinal_same) | drive | analysis | python | 2 | 0 | 未計測 | 未計測 | あり |
| Analyze — driver lateral wobble (Ornstein-Uhlenbeck mean reversion and noise) | drive | analysis | python | 2 | 0 | 0 | 0 | あり |
| Inspect — peg-in-hole clearance ratio and jamming-free tilt (robot assembly) | drive | analysis | python | 2 | 0 | 0 | 0 | あり |
| Sense — direction of arrival of two sources with an antenna array (MUSIC) | math | sensing | python | 2 | 0 | 0 | 0 | あり |
| Analyze — count polynomial roots inside a circle (argument principle) | math | analysis | python | 3 | 0 | 1 | 2 | あり |
| Measure — condition number of a measured covariance (anisotropy / ill-conditioning) | math | analysis | python | 2 | 0 | 0 | 0 | あり |
| Measure — principal axes of a scatter (covariance eigen-decomposition) | math | measurement | python | 2 | 0 | 0 | 0 | あり |
| Sense — dominant vibration frequency after band-pass filtering | oned | sensing | python | 2 | 0 | 0 | 0 | あり |
| Measure — count zero crossings of a smoothed profile (1-D function) | oned | measurement | python | 2 | 0 | 1 | 1 | あり |
| Measure — amplitude of a vibration via its Hilbert envelope | oned | measurement | python | 2 | 0 | 1 | 1 | あり |
| Inspect — process capability Cp / Cpk against spec limits | spc | inspection | python | 1 | 0 | 0 | 0 | あり |
| Inspect — X-bar / R control chart of subgrouped parts | spc | inspection | python | 1 | 0 | 0 | 0 | あり |
| Inspect — variation-model defect detection against good samples | spc | inspection | python | 2 | 0 | 1 | 1 | あり |
| Inspect — probability of detection a50 of an NDT method (â vs a) | spc | inspection | python | 2 | 0 | 0 | 0 | あり |
| Analyze — algebraic connectivity of a neuron ring (Laplacian spectrum) | conngraph | analysis | python | 2 | 0 | 0 | 0 | あり |
| Analyze — clusters of a connectome after pruning weak synapses | conngraph | analysis | python | 3 | 0 | 0 | 0 | あり |
| Measure — shortest route on a weighted network (slime-mould transport) | graph | analysis | python | 1 | 0 | 0 | 0 | あり |
| Analyze — count directed feedback triangles in a network | graph | analysis | python | 1 | 0 | 0 | 0 | あり |
| Analyze — response-surface optimum of a central composite experiment | multivar | analysis | python | 2 | 0 | 0 | 0 | あり |
| Analyze — global sensitivity (Sobol’ indices) of a model | multivar | analysis | python | 2 | 0 | 0 | 0 | あり |
| Analyze — principal components and explained variance of multivariate data | multivar | analysis | python | 1 | 0 | 0 | 0 | あり |
| Inspect — score a segmentation split error (variation of information) | emproof | inspection | python | 2 | 0 | 0 | 0 | あり |
| Inspect — detect a scene cut in a noisy video stream | videostream | inspection | python | 2 | 0 | 2 | 0 | あり |
| Inspect — moving object mask in a flickering video (deflicker + background model) | videostream | inspection | python | 2 | 0 | 1 | 1 | あり |
| Calibrate — camera gain from a captured test chart (simulation calibration) | simcal | simulation | python | 4 | 0 | 0 | 0 | あり |
| Analyze — attention as a key-value lookup (RMSNorm → scores → softmax → mix) | llmcore | analysis | python | 4 | 0 | 0 | 0 | あり |
| Measure — observed order of convergence of a grid study (GCI) | converge | simulation | python | 1 | 0 | 0 | 0 | あり |
| Measure — fixed point of an iteration with convergence proof (Anderson) | converge | simulation | python | 1 | 0 | 0 | 0 | あり |
| Measure — bore centre and radius from a sub-pixel contour (circle fit per XLD contour) | 2d | measurement | python | 2 | 0 | 未計測 | 未計測 | あり |
| Inspect — count touching parts as watershed basins (one label per object) | segmentation | inspection | python | 4 | 0 | 未計測 | 未計測 | あり |
| Segment — marker-controlled watershed inside a mask (two touching parts, background kept out) | blob | inspection | python | 5 | 0 | 未計測 | 未計測 | あり |
| Measure — unwrap an off-centre ring about its centre and read its radius | 3d | measurement | python | 2 | 0 | 未計測 | 未計測 | あり |
| Inspect — count bright and dim inclusions in a grey volume (threshold, then count) | 2d | inspection | mcp | 2 | 0 | 未計測 | 未計測 | あり |
| Sense — bearing of a sound source from a microphone pair (time difference of arrival) | drive | sensing | python | 1 | 0 | 未計測 | 未計測 | あり |
| Measure — feed-mark wavelength of a machined surface from its areal PSD peak | roughness | measurement | python | 2 | 0 | 未計測 | 未計測 | あり |
| Measure — period and direction of a stripe / grating texture (strongest 2-D FFT peak) | math | measurement | python | 1 | 0 | 未計測 | 未計測 | あり |
| 3D — find a known part’s 6-DoF pose in a scene cloud (PPF surface matching) | 3d | 3d | python | 1 | 0 | 未計測 | 未計測 | あり |
| Accept — probing error of a 3-D sensor on a calibrated sphere (VDI/VDE 2634-2 idea: PF and PS) | acceptance | measurement | python | 1 | 0 | 未計測 | 未計測 | あり |
| Register — sub-pixel shift between two images by ECC (enhanced correlation coefficient) | matchreg | measurement | python | 1 | 0 | 未計測 | 未計測 | あり |
| Read — an EAN-13 (JAN) barcode label, including a tilted and noisy one | symbol | inspection | python | 1 | 0 | 未計測 | 未計測 | あり |
| Stereo — disparity of a rectified pair by multi-scale semi-global matching | mv | 3d | python | 1 | 0 | 未計測 | 未計測 | あり |
| Sense — degree of linear polarization map from four analyzer angles (0/45/90/135) | specular | sensing | mcp | 1 | 0 | 0 | 0 | あり |
| Inspect — glossy (specular) area from polarization: DoLP map, threshold, area fraction | specular | inspection | mcp | 3 | 0 | 未計測 | 未計測 | あり |
| Measure — wrapped phase from 4-step phase-shifted fringes | 3d | 3d | mcp | 1 | 0 | 未計測 | 未計測 | あり |
| 3D — height map from 4-step phase-shift fringes (decode, unwrap, scale) | 3d | 3d | mcp | 1 | 0 | 0 | 0 | あり |
| 族 | 欲しい物 | 理由 |
|---|---|---|
| 2d | circle fit to an XLD contour that returns (row, col, radius) — HALCON fit_circle_contour_xld | hx_fit_circle_contour returns only the RMS residual and hx_smallest_circle_xld a centroid-centred enclosing radius divided by max(H, W); the radius of a round part had to be read from elliptic_axis_xld (Ra = Rb) instead |
| 2d | watershed that returns the basins (one region / label per object) — HALCON watersheds ‘Basins’ | watersheds, pouring, xcv_watershed_markers and sg_watershed_gradient return only the dam lines; counting their components gives 1-4 for 4 / 6 touching disks, so splitting touching parts stops at the marker step (distance transform + h-maxima) and the split parts cannot be measured one by one |
| 2d | dominant spatial frequency / period of an image as a feature (strongest non-DC FFT peak: cycles/px and angle) | fft_image / power_real / power_ln return spectrum images; the max-projection profile’s argmax lands on the DC column and tb_find_peaks returns ~30 noise peaks, so no chain reads the grating period from the spectrum (the texture period recipe goes through zero crossings of a profile instead) |
| 2d | bar-code / 2-D code decoding (symbology + data string) — HALCON find_bar_code / find_data_code_2d | decode_barcode only counts dark bars on the centre scan line; no op returns the encoded data |
| 2d | OCR character classification (HALCON do_ocr_single_class_mlp / read text) | the 2-D family can segment glyphs (hx_char_threshold, sk_sauvola) but nothing classifies them |
| 2d | polar unwrap about a given centre and radius range — HALCON polar_trans_image_ext with Row/Column/Radius | polar_trans_image(_ext) always use the image centre and min(H, W)/2; an off-centre ring / bore cannot be unwrapped after locating it with area_center (the ring recipe needs the ring at the image centre) |
| text | take the SWT field (matrix) out of swt_map’s table, or a text_candidates that accepts swt_map’s dict | swt_map -> table and text_candidates(matrix) do not connect; the detector pipeline swt -> candidates -> lines cannot be chained |
| vx | split vx_sobel3x3’s {gx, gy} table into two S16 images (or a vx_sobel_magnitude) | vx_magnitude / vx_phase take two image2d, vx_sobel3x3 returns one table: the OpenVX gradient graph Sobel -> Magnitude -> NonMax cannot be chained |
| roughness | dominant wavelength (peak) of surface_psd’s (frequency, PSD) pairs | feed-mark wavelength from an areal PSD needs an argmax-to-frequency read; no op converts the pairs to a scalar |
| segmentation | a mask argument (or a masked variant) for watersheds_marker | the flood assigns background pixels to the nearest marker, so region areas after a watershed split are wrong unless the mask is applied by another op (blob_split does that, but only with distance-map seeds) |
| 3d | PPF / surface-based matching: find a CAD model’s 6-DoF pose in a scene cloud (HALCON find_surface_model) | no point-pair-feature or surface-model matching op exists in OP_GRAPH or docs/ops (only ICP / GICP / FPFH / SHOT / spin registration) |
| 3d | threshold a grey voxel volume to a binary voxel volume (voxel -> voxel) | no explicit volume threshold op; vol_label thresholds implicitly at 0.5 (fixed), and region_props / label_components binarise with astype(bool) (every nonzero voxel is foreground) |
| reprconv | keypoints (row, col) <-> (u = col, v = row) swap | the keypoints sort carries both conventions (calib.project_3d_point returns (row, col); pnp3d.dlt_pose / pnp_ransac expect (u, v)) and no op converts between them |
| acoustics | TDOA (s) + microphone spacing -> source bearing angle (deg) | gcc_delay returns a delay; no op turns delay into a direction of arrival for a mic pair / array |
| piv | a pair generator whose ledger form returns both frames (or seq |
fs.ledger.piv_synth_pair keeps only frame a (declared image), so a pair cannot start a chain; piv_synth_sequence -> piv_ensemble_correlate works, piv_cross_correlate needs a sample-built pair |
| oned | spectrum peak picker: pairs (freqs, magnitude) -> measurement (peak frequency in Hz, sub-bin interpolated) | spectrum returns the typed pairs (freqs, /rfft/) but every peak op (find_peaks, peak_subbin) takes a signal; the FFT-peak chain spectrum -> peak cannot be typed, so the recipe reads peak_freq from signal_features instead (bin-quantised, no sub-bin refinement). |
| drive | table field selector (table -> image / signal / scalar, by key) | dict-returning drive ops cannot feed their natural consumers: flow_from_depth_motion -> {u, v} cannot reach ttc_from_flow(u: image, v: image) or foe_from_flow; label_extent -> {width} cannot reach ttc_from_scale(w0, w1). A generic typed ‘get field’ op would close all of these. |
| 3d | voxel -> voxel grey threshold (the ledger twin of the registry’s vol_threshold) | vol_threshold exists (2-D registry, sort ‘volume’, a = absolute level) and the volume-sorted chain vol_threshold -> vol_count runs; but the ledger’s voxel chain (vol_label, regionprops3d, skeletonize_vol) takes ‘voxel’, and no op turns a grey voxel volume into a binary one at a chosen level, so threshold -> label / measure in 3-D still has a type cut between ‘volume’ and ‘voxel’ |
| 族 | 鎖 | op | 原因 | 内容 |
|---|---|---|---|---|
| 2d | Inspect — split touching parts with a marker-controlled watershed | xcv_watershed_markers | type_gap | count_obj of its output = 3 / 4 for 4 / 6 touching disks (it returns the dam lines, not basins) |
| text | Inspect — detect text: SWT then character candidates | text_candidates | type_gap | swt_map returns table {swt, edges, …}; text_candidates takes matrix (the swt field) |
| vx | Inspect — OpenVX gradient magnitude | vx_magnitude | type_gap | vx_sobel3x3 returns table {gx, gy, valid}; vx_magnitude needs two image2d |
| 3d | 3D — object pose from known 3-D points and their image (PnP) | project_3d_point -> dlt_pose | type_gap | no exception; project_3d_point gives (row, col), dlt_pose reads (u, v) -> mirrored pose t = (-0.565, 0.61, 3.21) instead of (0.1, -0.05, 3.0) |
| reprconv | Measure — rotation angle of a part from matched 2-D points | vector_to_rigid -> matrix_to_angle | type_gap | no exception; vector_to_rigid returns a 2-D homogeneous 3x3 [[c,-s,tx],[s,c,ty],[0,0,1]] while matrix_to_angle reads a rotation in axes (1, 2) (atan2(R[2,1], R[1,1])) -> 0.0 deg for a 20 deg rotation; matrix_to_rot_scale raises ‘matrix: mus |
| piv | piv_synth_pair -> piv_cross_correlate | piv_synth_pair | type_gap | fs.ledger.piv_synth_pair returns only frame a (64, 64); frame b and the truth are dropped, so piv_cross_correlate(a, b) has no b in the chain |
| optics | thick_lens -> paraxial_trace | thick_lens | type_gap | paraxial_trace: expected the dict returned by lens_system(); thick_lens returns its own EFL table |
| flyvision | matrix -> fly_lamina_filter -> fly_t4t5_field(three_arm) | fly_t4t5_field | type_gap | ValueError movie has a negative entry; the default model needs one ON/OFF half (onoff[:, :n]) which a chain cannot slice — used model=’hr’ instead |
| drive | Sense — TTC from optical flow (flow_from_depth_motion -> ttc_from_flow) | ttc_from_flow | type_gap | flow_from_depth_motion outputs table {u, v, valid, depth1}; ttc_from_flow inputs [‘image’, ‘image’] — no op selects a table field as an image. Via the ledger too: fs.ledger.ttc_from_flow(flow_table, dt=0.1) -> TypeError: missing 1 required |
| drive | Sense — TTC from apparent size growth (label_extent -> ttc_from_scale) | ttc_from_scale | type_gap | label_extent outputs table {width, height, …}; ttc_from_scale is declared a generator (inputs []) taking w0, w1 as scalar keywords. Via the ledger: fs.ledger.ttc_from_scale(extent_table, dt=0.1) -> TypeError: missing 1 required positional |
| oned | Sense — FFT peak frequency (spectrum -> find_peaks -> peak_subbin) | find_peaks | type_gap | spectrum outputs pairs (freqs, magnitude); find_peaks / peak_subbin input ‘signal’ — type cut at stage 2. Via the ledger: fs.ledger.find_peaks(spectrum(…)) -> ValueError: expected a 1-D signal …, got shape (129, 2) |
| shape2d | contour -> from_xld -> elliptic_fourier (EFD of a sub-pixel contour) | from_xld | declaration_lie | opsshape2d declares from_xld inputs [‘table’], but the function requires the XLD contour dict {‘shape’, ‘cs’} and refuses a table: fs.ledger.from_xld([[1, 2], [3, 4]]) -> ValueError: from_xld: contour must be an XLD contour dict with key ‘c |