aggregate op• 数据种类:image2d → table
• 调用: import fullseye as fs; fs.ledger.tiled_map(image, tile=16, stat='mean', overlap=0, drop_partial=False)(要直接调用实现,import aoi; aoi.tiled_map(image, tile=16, stat='mean', overlap=0, drop_partial=False);从台账取用则 opsaoi.get("tiled_map"))
• GPU:无(仅 CPU 参考实现)
将图像划分为图块,把每个图块的统计量做成一张小地图。→ dict。
> 以下的详细说明为原文 —— 摘要与标题已翻译。
tile 画素角のタイルを tile - overlap 画素ずつずらして敷き、各タイルの中の量(TILE_STATS)を 1 つずつ計算して (h, w) の地図にする。AOI では、明るさのむら・ざらつき・欠陥の密度を「どのあたりが怪しいか」の粗い地図にして、次の段(閾値・spc の管理図)へ渡すのに使う。
半端なタイルを黙って捨てない。 画像の辺が tile で割り切れないとき、縁のタイルは小さくなる。既定(drop_partial=False)ではそれも計算に入れ、partial_tiles に件数を出す。drop_partial=True にすると縁を落とすが、そのときも dropped_tiles と covered_fraction に何をどれだけ捨てたかが出る —— どちらを選んでも、捨てたことが返り値に残る。
分解可能な量なら検算できる。 overlap=0 なら、タイルは画像を重なりなく覆う。stat="mean" の地図を counts で重み付けして平均すると、全画素の平均に一致する (門で 1e-15 の水準を固定してある)。"std" や "median" にこの性質は無い —— タイルごとの標準偏差を平均しても全体の標準偏差にはならないので、地図を「まとめ直す」使い方をするなら "mean" / "sum" / "count" に限ること。
tile が画像より大きいときは、タイルは 1 枚(= 画像全体)で partial_tiles=1。drop_partial=True だと残るタイルが 1 枚も無くなるので ValueError にする(空の地図を返すと、後段が「異常なし」と読む)。
Args:
image: (H, W)。
tile: タイルの一辺[px]。1 以上。
stat: TILE_STATS のどれか。
overlap: 隣のタイルと重ねる画素数。0 <= overlap < tile。
drop_partial: 縁の半端なタイルを落とすか。
Returns:
dict。map((h, w) float64)、counts((h, w) int、タイルごとの画素数)、
rows / cols(各タイルの左上の座標)、tile / overlap / stat、
partial_tiles(小さいタイルの数)、dropped_tiles(落とした数)、
covered_fraction(残したタイルが覆う画素の割合。overlap>0 では重なるので
1 を超えうる)、shape(元の画像の形)。
Raises:
ValueError: 2-D でない / 非有限 / stat が未知 / overlap が範囲外 /
drop_partial=True でタイルが 1 枚も残らない。
• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。
• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。
• 算法的正典(作者、年份)与用途见上面的族使用指南。
• aoi_frontend_tour — py -3.11 examples/aoi_frontend_tour.py
table 作为输入)symmetry_difference_map · symmetry_score
aggregate)—
*Provenance: aoi.py — AOI 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.