Skip to content

Commit 01fe193

Browse files
committed
Batch 5 triage: 15 geometry creation/manipulation filters categorized
Triaged Geometry Creation / Manipulation batch (15 filters): - Tier 1 (Critical): 0 - Tier 2 (Important): 8 filters (CreateGeometry, ApplyTransformationToGeometry, RotateSampleRefFrame, ResampleImageGeom, ResampleRectGridToImageGeom, PadImageGeometry, QuickSurfaceMesh, InitializeImageGeomCellData) - Tier 3 (Polish): 7 filters (CreateImageGeometry, CombineTransformationMatrices, SetImageGeomOriginScaling, CropImageGeometry, AppendImageGeometry, PartitionGeometry, ComputeCoordinatesImageGeom) Added 14 Real-World Visualization Wishlist entries with priorities, and 3 new concept-page candidates (Geometry Types, Transformation Matrices, Sample vs Crystal Reference Frame).
1 parent f062ffd commit 01fe193

1 file changed

Lines changed: 204 additions & 6 deletions

File tree

docs/documentation_review_tracker.md

Lines changed: 204 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
| 2 | Alignment Filters | 5 | 5 | 5 | Complete |
1515
| 3 | Segmentation / Feature Identification | 10 | 10 | 10 | Complete |
1616
| 4 | Neighbor / Kernel Operations | 11 | 11 | 11 | Complete |
17-
| 5 | Geometry Creation / Manipulation | ~15 | 0 | 0 | Not Started |
17+
| 5 | Geometry Creation / Manipulation | 15 | 15 | 0 | Triaged |
1818
| 6 | Data Manipulation (Copy, Create, Delete, Rename) | ~20 | 0 | 0 | Not Started |
1919
| 7 | I/O Filters (Read/Write) | ~15 | 0 | 0 | Not Started |
2020
| 8 | Image Processing (ITK wrappers) | ~88 | 0 | 0 | Not Started |
@@ -253,7 +253,192 @@
253253

254254
---
255255

256-
## Batches 5-9: Not Yet Triaged
256+
## Batch 5: Geometry Creation / Manipulation
257+
258+
**Plugin:** SimplnxCore
259+
**Filters:** 15 (geometry creation, transformation, resampling, cropping/padding, mesh generation, partitioning)
260+
261+
### Tier 1 — Critical
262+
263+
None. No filter in this batch has a non-expert blocker.
264+
265+
### Tier 2 — Important
266+
267+
| Filter | Plugin | Status |
268+
|--------|--------|--------|
269+
| CreateGeometry | SimplnxCore | Pending |
270+
| ApplyTransformationToGeometry | SimplnxCore | Pending |
271+
| RotateSampleRefFrame | SimplnxCore | Pending |
272+
| ResampleImageGeom | SimplnxCore | Pending |
273+
| ResampleRectGridToImageGeom | SimplnxCore | Pending |
274+
| PadImageGeometry | SimplnxCore | Pending |
275+
| QuickSurfaceMesh | SimplnxCore | Pending |
276+
| InitializeImageGeomCellData | SimplnxCore | Pending |
277+
278+
- [ ] **CreateGeometryFilter** (SimplnxCore)
279+
- **Clarity:** Comprehensive but very long (~19KB); the 8-geometry-type taxonomy is buried in dense prose.
280+
- **Completeness:** Excellent — covers all 8 geometry types with examples, including a complete worked example for importing from text files. Possibly too much for a single filter doc.
281+
- **Accessibility:** Heavy DREAM3D-NX terminology assumed (Element, Attribute Matrix, shared vertex list).
282+
- **Figures Needed:** Side-by-side infographic showing all 8 geometry types (Image, Rectilinear Grid, Vertex, Edge, Triangle, Quadrilateral, Tetrahedral, Hexahedral) with their defining elements illustrated.
283+
- **Real-World Viz:** None additional needed; the text import workflow could use a quick diagram.
284+
- **Units Clarity:** Spacing units ("microns per pixel" example) called out — good.
285+
- **Concept Links:** Geometry types, Element type, shared vertex list, winding/right-hand rule, Attribute Matrix
286+
- **Notes:** "DREAM3D Review (Geometry)" group is unusual — verify this is intended. Typo "dimenionality" appears multiple times. Each geometry-type section duplicates content from per-type filters. Consider promoting the geometry-type taxonomy into a shared concept page and trimming this doc to filter-specific guidance.
287+
288+
- [ ] **ApplyTransformationToGeometryFilter** (SimplnxCore)
289+
- **Clarity:** Strong before/after image sequences explaining the successive-rotation artifact problem. Excellent caveat.
290+
- **Completeness:** Has duplicate transformation-type listing (bullets at lines 96-103 and the same content as a table at lines 107-114). One needs to go.
291+
- **Accessibility:** Node vs Image distinction is critical and well-explained; row-major matrix encoding explained.
292+
- **Figures Needed:** Already has many. Could add a diagram explaining the four-element axis-angle representation.
293+
- **Real-World Viz:** Already excellent.
294+
- **Units Clarity:** Rotation angle units (degrees) explicit; translation in geometry's coordinate units; scale dimensionless.
295+
- **Concept Links:** transformation matrix, axis-angle, row-major matrix order, interpolation modes
296+
- **Notes:** Remove the duplicated transformation-type listing. Convert "[Combine Transformation Matrices](CombineTransformationMatricesFilter.md)" link to a proper MyST link (already is). Add Required Input Sources. The relative `./Filter.md` should be checked — current uses both `./` and bare forms.
297+
298+
- [ ] **RotateSampleRefFrameFilter** (SimplnxCore)
299+
- **Clarity:** Verified-only-for-axis-aligned-90/180 warning is at the top — good. Distinction from ApplyTransformation (sample reference frame vs geometric rotation) is not made explicit.
300+
- **Completeness:** Has rotation matrix equivalent shown. Note about origin shift after rotation is valuable.
301+
- **Accessibility:** "Sample reference frame" jargon assumed; the term needs first-use definition.
302+
- **Figures Needed:** Diagram showing sample frame rotation (the axes of the sample relabeled) vs geometric rotation (the data physically rotated).
303+
- **Real-World Viz:** Already has EBSD rotation example.
304+
- **Units Clarity:** Rotation angle in degrees; axis is dimensionless unit vector.
305+
- **Concept Links:** sample reference frame, EBSD frame convention, axis-angle rotation
306+
- **Notes:** Add explicit "When to Use vs ApplyTransformation" guidance. Make verified-axis-only banner more prominent. Cross-link to SetImageGeomOriginScaling for the origin reset workflow. Add Required Input Sources.
307+
308+
- [ ] **ResampleImageGeomFilter** (SimplnxCore)
309+
- **Clarity:** Three resampling modes (Spacing, Scaling, Exact Dimensions) each with worked numerical examples. Clear.
310+
- **Completeness:** "No interpolation, closest cell wins" behavior noted. Renumber Features + NeighborList removal warning present.
311+
- **Accessibility:** Spacing/dimensions/scaling distinction depends on understanding Image Geometry.
312+
- **Figures Needed:** Before/after voxel-grid diagram showing how a 2x spacing reduction halves the cell count.
313+
- **Real-World Viz:** Cubic Small IN100 sliced at different resolutions side-by-side.
314+
- **Units Clarity:** Spacing values are in **physical units** (same as input geometry's spacing); scaling is **percent**; exact dimensions are in **cells**.
315+
- **Concept Links:** spacing vs scaling vs dimensions, closest-cell resampling, Feature renumbering
316+
- **Notes:** Cross-link to ApplyTransformation is present but uses `./` path; convert to plain MyST form. Add explicit units callouts per mode. Add Required Input Sources.
317+
318+
- [ ] **ResampleRectGridToImageGeomFilter** (SimplnxCore)
319+
- **Clarity:** Brief, just describes the "last one wins" rule.
320+
- **Completeness:** Missing: when to use this, how to specify the target image geometry's spacing/dimensions, what happens when target is finer than source.
321+
- **Accessibility:** Rectilinear Grid concept not introduced.
322+
- **Figures Needed:** Side-by-side diagram of variable-spacing RectGrid → regular Image Geom with the "last one wins" cells highlighted.
323+
- **Real-World Viz:** A real RectGrid resampled to a uniform Image Geom.
324+
- **Units Clarity:** Target spacing in physical units.
325+
- **Concept Links:** Rectilinear Grid vs Image Geometry, downsampling vs upsampling
326+
- **Notes:** Add "When to Use" section. Explain why "last one wins" was chosen (interpolation is wrong for label data). Add Required Input Sources.
327+
328+
- [ ] **PadImageGeometryFilter** (SimplnxCore)
329+
- **Clarity:** Very brief; the figures are helpful but the prose underdocuments the "default padding value" semantics.
330+
- **Completeness:** Doesn't explain what the *Update Origin* option does or when to use it.
331+
- **Accessibility:** "Default padding value" is undefined.
332+
- **Figures Needed:** Already has before/after. Could add a 3-panel diagram showing Update Origin ON vs OFF.
333+
- **Real-World Viz:** Before/after with both Update Origin settings.
334+
- **Units Clarity:** Pad amounts are in **cells/voxels**. Default value is in whatever units the target array uses.
335+
- **Concept Links:** padding, image extension, origin shift
336+
- **Notes:** Expand "default padding value" to "Each padded cell is initialized to the user-specified Default Value, which is interpreted in the same units as each cell-level array being padded". Document *Update Origin* and *Update Spacing* options. Add Required Input Sources.
337+
338+
- [ ] **QuickSurfaceMeshFilter** (SimplnxCore)
339+
- **Clarity:** Deprecation notice at top recommending "Surface Nets". Node Types table is excellent. Triangle-pair-per-cell-face algorithm explained.
340+
- **Completeness:** Has good images for each Node Type. The Verify Triangle Winding reference is implicit; needs a link.
341+
- **Accessibility:** "Stair stepped" surface mesh result not pictured directly.
342+
- **Figures Needed:** Already has plenty. Could use a small diagram of how a single voxel face becomes 2 triangles.
343+
- **Real-World Viz:** Already present.
344+
- **Concept Links:** voxel-face-to-triangle conversion, Node Types, FaceLabels convention, mesh windings
345+
- **Notes:** Improve deprecation banner — make clear when to use this vs Surface Nets. Convert "see Verify Triangle Winding documentation" to a MyST link. Add Required Input Sources (FeatureIds from a segment filter).
346+
347+
- [ ] **InitializeImageGeomCellDataFilter** (SimplnxCore)
348+
- **Clarity:** Three modes (Manual, Random, Random With Range) are listed but the "subvolume" parameter is undefined.
349+
- **Completeness:** Missing: how is the subvolume specified (min/max cell indices? physical bounds?). What data types support each random mode? What about boolean arrays?
350+
- **Accessibility:** Reader has to guess the subvolume specification UI.
351+
- **Figures Needed:** Diagram showing a subvolume highlighted within a larger volume; before/after.
352+
- **Real-World Viz:** Before/after on a real cube showing the initialized subvolume.
353+
- **Units Clarity:** Subvolume bounds in **cells/voxels** vs **physical units** — must be stated.
354+
- **Concept Links:** subvolume, cell-level initialization, random number generation seed
355+
- **Notes:** Document the subvolume specification mode and units. Note random-mode behavior for boolean, integer, and float types separately. Document the random seed parameter. Add Required Input Sources.
356+
357+
### Tier 3 — Polish
358+
359+
| Filter | Plugin | Status |
360+
|--------|--------|--------|
361+
| CreateImageGeometry | SimplnxCore | Pending |
362+
| CombineTransformationMatrices | SimplnxCore | Pending |
363+
| SetImageGeomOriginScaling | SimplnxCore | Pending |
364+
| CropImageGeometry | SimplnxCore | Pending |
365+
| AppendImageGeometry | SimplnxCore | Pending |
366+
| PartitionGeometry | SimplnxCore | Pending |
367+
| ComputeCoordinatesImageGeom | SimplnxCore | Pending |
368+
369+
- [ ] **CreateImageGeometryFilter** (SimplnxCore)
370+
- **Clarity:** Deprecation banner is right under the title but as a level-2 heading, making it look like its own section. Confusing.
371+
- **Completeness:** Dimensions/Spacing/Origin definitions are good.
372+
- **Accessibility:** Same dense terminology as CreateGeometry.
373+
- **Figures Needed:** Dimensions/origin/spacing diagram (would also serve SetImageGeomOriginScaling and ResampleImageGeom).
374+
- **Real-World Viz:** N/A — filter creates rather than transforms data.
375+
- **Units Clarity:** Already states spacing example "microns per pixel".
376+
- **Concept Links:** Image Geometry dimensions/origin/spacing
377+
- **Notes:** Move deprecation notice into a clear callout. Fix "dimenionality" typo. Cross-link to CreateGeometry filter. Add Required Input Sources note (none — geometry is created from user parameters).
378+
379+
- [ ] **CombineTransformationMatricesFilter** (SimplnxCore)
380+
- **Clarity:** Brief and adequate. Output format documented.
381+
- **Completeness:** Missing motivating context for why you'd combine matrices (the answer is in ApplyTransformation — referenced indirectly there).
382+
- **Accessibility:** Assumes user knows row-major 4x4 convention.
383+
- **Figures Needed:** Optional — a diagram showing two 4x4 matrices multiplying into a single 4x4 result.
384+
- **Real-World Viz:** N/A.
385+
- **Units Clarity:** N/A (matrix is dimensionless apart from translation components).
386+
- **Concept Links:** matrix composition, transformation order, row-major matrix order
387+
- **Notes:** Add a short "Why Use This Filter" pointing to ApplyTransformationToGeometry's caveat about successive image-geometry transformations. Note that matrices are applied left-to-right in the order listed. Add Required Input Sources.
388+
389+
- [ ] **SetImageGeomOriginScalingFilter** (SimplnxCore)
390+
- **Clarity:** Title says "Set Origin & Spacing" but body only describes the origin parameters. Spacing is implicit.
391+
- **Completeness:** "Put Input Origin at the Center of Geometry" option mentioned but not explained in detail.
392+
- **Accessibility:** OK for the limited content provided.
393+
- **Figures Needed:** Diagram showing origin-at-corner vs origin-at-center.
394+
- **Real-World Viz:** N/A.
395+
- **Units Clarity:** Origin coordinates and spacing are in physical units.
396+
- **Concept Links:** Image Geometry origin, spacing
397+
- **Notes:** Document both Origin and Spacing parameter sets. Document the linkable parameters (only-change-origin, only-change-spacing options). Expand the "Put Origin at Center" explanation. Add Required Input Sources.
398+
399+
- [ ] **CropImageGeometryFilter** (SimplnxCore)
400+
- **Clarity:** Three worked examples with images. Inclusive-bounds note is critical and called out.
401+
- **Completeness:** Voxels-vs-physical-coordinates mode is implicit; the "Use Physical Bounds" parameter should be stated explicitly.
402+
- **Accessibility:** Voxel index 0-based convention is implied via examples.
403+
- **Figures Needed:** Already adequate.
404+
- **Real-World Viz:** Already present.
405+
- **Units Clarity:** Bounds are in **cells (0-based, inclusive)** OR **physical units (depending on parameter)** — explicit per-mode.
406+
- **Concept Links:** ROI cropping, inclusive bounds, voxel indexing
407+
- **Notes:** Add explicit "Bounds Mode" subsection naming the parameter that toggles voxels vs physical. State units per mode. Update NeighborList warning to use the standard pattern shared with RequireMinimumSizeFeatures.
408+
409+
- [ ] **AppendImageGeometryFilter** (SimplnxCore)
410+
- **Clarity:** Exhaustive examples for X/Y/Z directions with figures.
411+
- **Completeness:** "Resolution" terminology used in one place — should be "Spacing" per the modern simplnx convention.
412+
- **Accessibility:** Good.
413+
- **Figures Needed:** Already comprehensive.
414+
- **Real-World Viz:** Already present.
415+
- **Units Clarity:** Append happens in cell-count units along the chosen direction; the *Check Spacing* option checks physical-unit match.
416+
- **Concept Links:** geometry concatenation, mirroring, spacing check
417+
- **Notes:** Replace remaining "Resolution" with "Spacing" for consistency. Cross-link to CreateImageGeometry for the geometry-definition concepts. Add Required Input Sources.
418+
419+
- [ ] **PartitionGeometryFilter** (SimplnxCore)
420+
- **Clarity:** Four modes with excellent visual examples and walk-throughs.
421+
- **Completeness:** "Reconstruction (Reconstruction)" group/subgroup is a stutter — verify.
422+
- **Accessibility:** Long doc but well-organized with figures.
423+
- **Figures Needed:** Already excellent.
424+
- **Real-World Viz:** Already present.
425+
- **Units Clarity:** Cell Length is in physical units; Number of Cells Per Axis is in **integer cell counts**; Origin in physical units; Min/Max in physical units.
426+
- **Concept Links:** spatial partitioning, partition grid, out-of-bounds handling, vertex mask
427+
- **Notes:** Verify group "Reconstruction (Reconstruction)". Add a short lead-in explaining why partition (spatial analysis, sub-volume statistics, parallel processing prep). Add Required Input Sources.
428+
429+
- [ ] **ComputeCoordinatesImageGeomFilter** (SimplnxCore)
430+
- **Clarity:** "Implicit vs explicit" framing is jargon; the example output is clear.
431+
- **Completeness:** Three output modes documented with raster scheme.
432+
- **Accessibility:** Reader benefits from concrete example, which is provided.
433+
- **Figures Needed:** Optional — a small voxel-grid diagram with one cell highlighted showing its (i,j,k) index and (x,y,z) physical position.
434+
- **Real-World Viz:** N/A — output is numerical.
435+
- **Units Clarity:** Physical coordinates in geometry's physical units; indices are **integer cell indices (0-based)**.
436+
- **Concept Links:** cell indexing scheme, physical coordinates, ijk vs xyz, raster order
437+
- **Notes:** Rewrite "implicit/explicit" framing in plain language ("makes the per-cell coordinates available as a regular cell-level array"). Add a "When to Use" — typically for CSV/text export workflows. Add Required Input Sources (Image Geometry).
438+
439+
---
440+
441+
## Batches 6-9: Not Yet Triaged
257442

258443
The following batches have been identified in the design spec but have not yet been triaged. Each batch will be triaged at the start of its work cycle.
259444

@@ -442,10 +627,6 @@ The following batches have been identified in the design spec but have not yet b
442627

443628
---
444629

445-
### Batch 5: Geometry Creation / Manipulation (~15 filters)
446-
**Plugin:** SimplnxCore
447-
Filters that create or modify geometry objects (image, rectilinear grid, triangle, edge, vertex, etc.)
448-
449630
### Batch 6: Data Manipulation (~20 filters)
450631
**Plugin:** SimplnxCore
451632
Basic data operations (copy, create, delete, rename, move, combine attribute arrays, etc.)
@@ -507,6 +688,20 @@ These are pipeline-generated screenshots/visualizations that would enhance the d
507688
| RequireMinNumNeighbors | Microstructure before/after with isolated low-neighbor-count grains absorbed | Medium |
508689
| ComputeNeighborhoods | Histogram of neighborhood counts for a real microstructure | Low |
509690
| ComputeNeighborListStatistics | Example feature with its neighbor-misorientation list and computed statistics | Low |
691+
| CreateGeometry | Side-by-side infographic of all 8 geometry types (Image, RectGrid, Vertex, Edge, Triangle, Quad, Tet, Hex) | High |
692+
| CreateImageGeometry / SetImageGeomOriginScaling | Image Geometry dimensions/origin/spacing diagram (shared concept) | High |
693+
| ApplyTransformationToGeometry | Axis-angle representation diagram | Medium |
694+
| RotateSampleRefFrame | Sample frame rotation vs geometric rotation comparison | High |
695+
| ResampleImageGeom | Before/after voxel grid showing 2x spacing reduction halving cell count | Medium |
696+
| ResampleRectGridToImageGeom | Variable-spacing RectGrid → uniform Image Geom with "last one wins" cells highlighted | Medium |
697+
| CropImageGeometry | Already adequate | - |
698+
| PadImageGeometry | 3-panel diagram showing Update Origin ON vs OFF | Medium |
699+
| AppendImageGeometry | Already comprehensive | - |
700+
| QuickSurfaceMesh | Single voxel face → 2 triangles diagram | Low |
701+
| PartitionGeometry | Already excellent | - |
702+
| InitializeImageGeomCellData | Subvolume highlight before/after on real cube | Medium |
703+
| CombineTransformationMatrices | Two 4x4 matrices multiplying into a single result | Low |
704+
| ComputeCoordinatesImageGeom | Voxel grid with one cell highlighted showing (i,j,k) and (x,y,z) | Low |
510705

511706
---
512707

@@ -529,3 +724,6 @@ Domain concepts that appear across 3+ filters and should eventually become share
529724
| Morphological Erosion / Dilation / Opening | ErodeDilateBadData, ErodeDilateMask, ErodeDilateCoordinationNumber |
530725
| Coordination Number / Face Neighbors | ErodeDilateCoordinationNumber, NeighborOrientationCorrelation, BadDataNeighborOrientationCheck |
531726
| Equivalent Sphere Diameter | ComputeFeatureSizes, ComputeNeighborhoods, ComputeShapes |
727+
| Geometry Types (Image, RectGrid, Vertex, Edge, Triangle, Quad, Tet, Hex) | CreateGeometry, CreateImageGeometry, and every geometry-aware filter |
728+
| Transformation Matrices (4x4 row-major) | ApplyTransformationToGeometry, CombineTransformationMatrices, RotateSampleRefFrame |
729+
| Sample Reference Frame vs Crystal Reference Frame | RotateSampleRefFrame (already listed above) |

0 commit comments

Comments
 (0)