Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

DOC: Clarify Align Sections (List) row order and shift direction

オープン 初心者向け
#1,815 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 3 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
68/100
issue の種類
ドキュメント
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
cpp
領域
documentation

調査の方向性

変更すべきテキストは src/Plugins/SimplnxCore/docs/AlignSectionsListFilter.md のファイルインポートとシフト形式のセクションにあります。記述すべき動作は AlignSectionsList.cpp(行の処理と累積)と src/simplnx/Utilities/AlignSections.cpp(スライスのマッピング、ソース座標の検索、ゼロ埋め)にあります。ドキュメントに、行 r がスライス Z-1-r に対応すること、行 0 が [0, 0] に固定されたアンカーエントリであること、保存された正の X または Y シフトがコンテンツを座標の減少方向へ移動させることが、インデックス付きの例とともに記載されていれば完了です。

索引モデルが issue の本文から書いたものです。

説明

documentation

Summary

Clarify the row order, fixed slice, and shift direction in the Align Sections (List) documentation. The file-import instructions say that slices must be ordered "bottom to top", but do not define the corresponding Z indices. The relative/cumulative descriptions also leave the reference slice and sign convention implicit. These details are needed to prepare external shifts or interpret shifts saved by an alignment filter.

At simplnx commit fe6c4a15e5a5bffef2523f52cec01be33b1e62a9, the existing behavior is:

  • For Z slices, shift-array row r corresponds to local slice z = Z - 1 - r.
  • Slice z = Z - 1 stays fixed. Row zero is an unused anchor entry in both input modes; use [0, 0] for it.
  • Relative mode accumulates rows starting at row 1: C[0] = [0, 0] and C[r] = C[r-1] + R[r]. Cumulative mode reads C[r] directly for rows 1 through Z-1.
  • For cumulative shift (sx, sy) in row r, the transfer is out[z, y, x] = in[z, y + sy, x + sx], with zero fill where the source coordinate is outside the slice. Thus a positive stored X shift moves image content toward decreasing X; the same convention applies to Y.

The row handling and accumulation and slice mapping, source-coordinate lookup, and zero fill define this behavior. The documentation to clarify is AlignSectionsListFilter.md.

For a concrete example, a native Small IN100 run on a 128 x 128 x 8 crop produced the following rows. Z indices are local to the crop; shift pairs are (X, Y) in cells.

Row Target Z Saved MI Slice Indices Relative shift Cumulative shift
0 7, fixed [0, 0], placeholder [0, 0] [0, 0]
1 6 [6, 7] [0, 0] [0, 0]
2 5 [5, 6] [-1, 0] [-1, 0]
3 4 [4, 5] [0, -1] [-1, -1]
4 3 [3, 4] [-1, 0] [-2, -1]
5 2 [2, 3] [-1, 0] [-3, -1]
6 1 [1, 2] [-1, 0] [-4, -1]
7 0 [0, 1] [-1, 0] [-5, -1]

The row-zero Slice Indices value is a placeholder, not an instruction to shift slice zero. Slice Indices is explanatory output from Mutual Information; Align Sections (List) consumes the selected two-component shifts array.

On Windows, the 17-step native pipeline passed preflight and execution, and 76 independent checks passed. Replaying both shift formats matched the native Mutual Information output exactly for Quats, Phases, Mask, FeatureIds, and IPFColors. The checks confirmed the fixed highest-Z slice, coordinate transfer, and zero-filled borders. They establish the transfer convention, not the physical accuracy or optimality of the estimated alignment.

Please document these existing conventions in the shift-format and file-import instructions, including an indexed example that makes the fixed row and shift sign explicit.

主要言語
C++
スター
18
フォーク
15
平均マージ
3日 3時間
マージ済み PR(30日)
18

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

BlueQuartzSoftware/simplnx のほかの issue

BlueQuartzSoftware/simplnx の issue をすべて見る

似ている issue

C++ の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。