|
12 | 12 | |-------|----------|---------------|---------|-----------|--------| |
13 | 13 | | 1 | Orientation / Crystallography Statistics | 17 | 17 | 17 | Complete | |
14 | 14 | | 2 | Alignment Filters | 5 | 5 | 5 | Complete | |
15 | | -| 3 | Segmentation / Feature Identification | 10 | 10 | 1 | In Progress | |
| 15 | +| 3 | Segmentation / Feature Identification | 10 | 10 | 6 | In Progress | |
16 | 16 | | 4 | Neighbor / Kernel Operations | ~12 | 0 | 0 | Not Started | |
17 | 17 | | 5 | Geometry Creation / Manipulation | ~15 | 0 | 0 | Not Started | |
18 | 18 | | 6 | Data Manipulation (Copy, Create, Delete, Rename) | ~20 | 0 | 0 | Not Started | |
@@ -267,61 +267,61 @@ The following batches have been identified in the design spec but have not yet b |
267 | 267 |
|
268 | 268 | | Filter | Plugin | Status | |
269 | 269 | |--------|--------|--------| |
270 | | -| ScalarSegmentFeatures | SimplnxCore | Pending | |
271 | | -| CAxisSegmentFeatures | OrientationAnalysis | Pending | |
272 | | -| EBSDSegmentFeatures | OrientationAnalysis | Pending | |
273 | | -| RequireMinimumSizeFeatures | SimplnxCore | Pending | |
274 | | -| ComputeFeatureNeighbors | SimplnxCore | Pending | |
| 270 | +| ScalarSegmentFeatures | SimplnxCore | Done | |
| 271 | +| CAxisSegmentFeatures | OrientationAnalysis | Done | |
| 272 | +| EBSDSegmentFeatures | OrientationAnalysis | Done | |
| 273 | +| RequireMinimumSizeFeatures | SimplnxCore | Done | |
| 274 | +| ComputeFeatureNeighbors | SimplnxCore | Done | |
275 | 275 |
|
276 | | -- [ ] **ScalarSegmentFeaturesFilter** (SimplnxCore) |
| 276 | +- [x] **ScalarSegmentFeaturesFilter** (SimplnxCore) |
277 | 277 | - **Clarity:** Burn algorithm steps clear, but term "burn algorithm" undefined; no introduction to what segmentation accomplishes conceptually. |
278 | 278 | - **Completeness:** Neighbor scheme well documented with 4 paired figure sets. No guidance on tolerance values (tolerance is in whatever units the scalar array uses). |
279 | 279 | - **Accessibility:** "Cells" and "Features" used without first-use definition; bold emphasis is stylistic rather than explanatory. |
280 | 280 | - **Figures Needed:** Neighbor-scheme figures already excellent; could add a simple "what is segmentation" before/after conceptual diagram. |
281 | 281 | - **Real-World Viz:** Before/after FeatureIds map from a scalar-based segmentation (e.g., image-quality thresholding). |
282 | 282 | - **Units Clarity:** Tolerance has no explicit units — depends entirely on input array data type; this must be stated. |
283 | 283 | - **Concept Links:** Feature IDs, burn algorithm, segmentation, Cell vs Feature data |
284 | | - - **Notes:** Structural twin of CAxisSegment/EBSDSegment. Shares neighbor scheme figures. Add short intro explaining what segmentation produces (FeatureIds) and how to pick a tolerance. |
| 284 | + - **Changes Made:** Added lead-in describing the FeatureIds output and cross-referencing the two orientation-based segment filters. Added "What is Feature Segmentation?" conceptual section. Rewrote algorithm into a burn-algorithm step list. Added "Tolerance and Units" section with concrete examples for integer phase maps, 0-1 image quality, and 0-255 grayscale. Added "Mask Array" and "Periodic Option" sections. Added Required Input Sources with cross-plugin links. |
285 | 285 |
|
286 | | -- [ ] **CAxisSegmentFeaturesFilter** (OrientationAnalysis) |
| 286 | +- [x] **CAxisSegmentFeaturesFilter** (OrientationAnalysis) |
287 | 287 | - **Clarity:** Brief C-axis definition provided, but assumes hexagonal-system knowledge; no guidance on when to use this vs EBSDSegmentFeatures. |
288 | 288 | - **Completeness:** Shares structure and neighbor scheme figures with other segment filters. Missing: explicit hexagonal-only warning, phase handling, when-to-use guidance. |
289 | 289 | - **Accessibility:** `<001>`, hexagonal system, C-axis all used without plain-language expansion. |
290 | 290 | - **Figures Needed:** Reuse hexagonal C-axis figure from ComputeAvgCAxes (Batch 1); add a "C-axis misalignment between two neighboring cells" diagram. |
291 | 291 | - **Real-World Viz:** Before/after segmentation on hexagonal (e.g., Ti) EBSD data. |
292 | 292 | - **Units Clarity:** Tolerance is in **degrees** — must be stated explicitly in the parameter description. |
293 | 293 | - **Concept Links:** C-axis, hexagonal materials, burn algorithm, reference frames |
294 | | - - **Notes:** Link to ComputeAvgCAxes for the C-axis explanation. Add "When to Use" guidance — hexagonal-only, when grain distinction needs to come from C-axis alignment rather than full orientation. |
| 294 | + - **Changes Made:** Added explicit hexagonal-only warning at the top with cross-references to alternative segment filters. Added "When to Use This Filter" explaining why C-axis alignment is the right criterion for hexagonal materials and when to use misorientation-based segmentation instead. Rewrote algorithm steps; added "Tolerance and Units" with degree units and typical values (1-3 / 5 / 10+). Added Required Input Sources linking ComputeAvgCAxes for C-axis concept. |
295 | 295 |
|
296 | | -- [ ] **EBSDSegmentFeaturesFilter** (OrientationAnalysis) |
| 296 | +- [x] **EBSDSegmentFeaturesFilter** (OrientationAnalysis) |
297 | 297 | - **Clarity:** Generic term "misorientation" used without definition; core burn algorithm clear but domain context missing. |
298 | 298 | - **Completeness:** No guidance on typical tolerance values (5° is the common industry default for grain segmentation); no mention of how multiple phases are handled. |
299 | 299 | - **Accessibility:** Assumes EBSD workflow and misorientation knowledge. |
300 | 300 | - **Figures Needed:** Misorientation angle diagram (shared with Batch 1 misorientation concept work); before/after segmentation example. |
301 | 301 | - **Real-World Viz:** EBSD IPF map → segmented grains visualization — this is one of the highest-value workflow visualizations in DREAM3DNX. |
302 | 302 | - **Units Clarity:** Tolerance is in **degrees** — must be stated explicitly. |
303 | 303 | - **Concept Links:** misorientation, EBSD workflow, burn algorithm, reference frames, grain segmentation |
304 | | - - **Notes:** This is the flagship segmentation filter for EBSD workflows. Needs a "Typical Values" section (5° for most grain segmentation; tighter for subgrain analysis). |
| 304 | + - **Changes Made:** Added "What is Misorientation-Based Segmentation?" section explaining grains and misorientation for non-experts. Rewrote algorithm into numbered burn steps including symmetry handling. Added "Typical Tolerance Values" section with 5° industry default, 2-3° for subgrains, 10-15° high-angle cutoff. Added "Phase Handling" explaining different-phase and phase-0 behavior. Added "Mask Array" and "Periodic Option" sections. Added Required Input Sources. |
305 | 305 |
|
306 | | -- [ ] **RequireMinimumSizeFeaturesFilter** (SimplnxCore) |
| 306 | +- [x] **RequireMinimumSizeFeaturesFilter** (SimplnxCore) |
307 | 307 | - **Clarity:** Core action (remove features below size threshold) clear, but "isotropically coarsened" is unexplained jargon. |
308 | 308 | - **Completeness:** Has good warnings (feature data invalidation, NeighborList removal); no guidance on typical minimum-size values. |
309 | 309 | - **Accessibility:** "Ensemble" bolded but not defined; "isotropically coarsened" needs a plain-language explanation. |
310 | 310 | - **Figures Needed:** Before/after showing small features removed and gaps filled; diagram of isotropic coarsening (neighbors growing outward uniformly). |
311 | 311 | - **Real-World Viz:** Before/after microstructure with minimum-size filter applied. |
312 | 312 | - **Units Clarity:** Minimum size is in **cells** (integer voxel count) — must be stated explicitly. |
313 | 313 | - **Concept Links:** feature cleanup, isotropic coarsening, Ensemble, NeighborList invalidation |
314 | | - - **Notes:** Define "isotropically coarsened" (neighboring features grow outward uniformly to fill removed-voxel gaps). State units on the minimum-size parameter. |
| 314 | + - **Changes Made:** Added lead-in explaining typical use (discarding spurious single-cell grains after segmentation). Added "What is Isotropic Coarsening?" section with plain-language explanation. Added "Minimum Size Units" section stating units are **cells** (integer voxel count), with a formula for converting physical volume to cell count. Rewrote the "Single Phase" option more clearly. Kept existing warnings. Added Required Input Sources. |
315 | 315 |
|
316 | | -- [ ] **ComputeFeatureNeighborsFilter** (SimplnxCore) |
| 316 | +- [x] **ComputeFeatureNeighborsFilter** (SimplnxCore) |
317 | 317 | - **Clarity:** Algorithm steps clear, but the multiple output arrays are described inline in running prose and hard to scan. |
318 | 318 | - **Completeness:** Mentions several outputs (neighbor count, shared surface area, boundary-cell count, surface-feature flag) but all buried in a single paragraph. |
319 | 319 | - **Accessibility:** Face-sharing neighbor concept not illustrated; implicit assumption that user knows what a NeighborList is. |
320 | 320 | - **Figures Needed:** Diagram showing feature-to-feature shared boundary with shared surface area highlighted. |
321 | 321 | - **Real-World Viz:** Grain map colored by number of neighbors; or shared-surface-area visualization. |
322 | 322 | - **Units Clarity:** Shared surface area is in **cell-face units** (dimensionless count of shared faces, not physical area) — should be stated. |
323 | 323 | - **Concept Links:** contiguous neighbors, Feature IDs, shared surface area, NeighborList |
324 | | - - **Notes:** Restructure output descriptions as a bulleted list instead of one prose paragraph. Explain what each output array is used for downstream. |
| 324 | + - **Changes Made:** Rewrote lead-in describing why downstream filters depend on this (misorientation stats, GBCD, twin merging, boundary strengths). Separated algorithm steps from output descriptions. Added "What This Filter Produces" section with bulleted list of the three main outputs plus two optional outputs; explained each output's downstream use. Explicitly stated shared surface area units are **cell-face count**, not physical area. Added Required Input Sources. |
325 | 325 |
|
326 | 326 | ### Tier 3 — Polish |
327 | 327 |
|
|
0 commit comments