geometry op• Data kinds: image → image
• Call: fullseye.apply(img, "rotate_img", a=0.5, b=0.5) (the 2-D model is one image plus two scalar knobs a,b∈[0,1])
• HALCON equivalent: rotate_image (the HALCON reference is a useful guide to its meaning and parameters)

*The figure is the real output on a synthetic 128×128 input. Left: input, right: output (a non-image return value is shown as the value itself).*
Rotate about the image centre by `-45° + 90°·a (a=0.5 → 0°). b` unused.
> The detailed description below is the original text — the summary and the headings are translated.
★呼び出し規約(2026-09-02 に明文化。実装は変えていない):
• キャンバスを変えない (`reshape=False`)。出力の shape は入力と同じで、
回転で枠外へ出た画素は捨てられる。
• 枠外は鏡映で埋める (`mode="reflect"`)。つまり回すと **四隅に元画像が
折り返して写り込む**(帳票を回すと隅に鏡文字が出る)。
どちらが正典かは用途で割れる。**この op の正典は「連鎖しても常に同じ形・
同じ値域の画像が出ること」** — 進化パイプラインは image を段間で無条件に
繋ぐので、shape が変わる/枠外に定数が入ると後段の統計(平均・分散・
ヒストグラム)が回転量に依存して動いてしまう。鏡映は「無から作った定数」で
はなく画像自身の統計を保つので、この用途ではこちらを採る。
deskew(帳票の傾き補正)には向かない: 折り返した鏡文字が OCR / 二値化に
そのまま乗る。背景色で埋めたい場合はこの op を使わず、
`scipy.ndimage.rotate(v, ang, reshape=True, mode="constant", cval=bg)` を
直接呼ぶこと(`fullseye.apply` の 2 つまみ界面では背景色を渡せない)。
同じ規約が backends_auto の `rotate_image (_sh_geom` kind="rotate")にも
そのまま当てはまる。
• gallery2d_geometry family guide
• 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.
The program below has been verified to run (same input as the figure). In Studio's help this block becomes buttons that load and run it on the spot.
rotate_img 0.50 0.50
▸ Load this pipeline · Load & run
• gallery2d_geometry — py -3.11 examples/gallery2d_geometry.py
image as input)identity · gaussian · mean_box · bilateral · unsharp · median · min_filter · max_filter
geometry)rescale_img · affine_warp · sk_swirl · mirror_image · transpose_region · rotate_image · zoom_image_factor · zoom_image_size
*Provenance: ops.py — 2D 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.