Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto Apto para principiantes
#1,815 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 3 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
68/100
Tipo de issue
Documentación
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
cpp

Línea de trabajo

El texto que hay que cambiar está en src/Plugins/SimplnxCore/docs/AlignSectionsListFilter.md, en las secciones de importación de archivos y de formato de desplazamiento (shift). El comportamiento que debe describir está en AlignSectionsList.cpp (manejo de filas y acumulación) y en src/simplnx/Utilities/AlignSections.cpp (mapeo de slices, búsqueda de coordenadas de origen y relleno con ceros). Se considera terminado cuando la documentación indica que la fila r se asigna al slice Z-1-r, que la fila 0 es una entrada de anclaje fija con [0, 0], y que un desplazamiento X o Y positivo almacenado mueve el contenido hacia coordenadas decrecientes, con un ejemplo indexado.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.

Lenguaje dominante
C++
Estrellas
18
Forks
15
Merge medio
3 d 18 h
PR fusionados (30 d)
19

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de BlueQuartzSoftware/simplnx

Todos los issues de BlueQuartzSoftware/simplnx

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.