12.33. Group MicroTexture Regions
Group (Subgroup)
Reconstruction Filters (Grouping)
Description
This Filter groups neighboring Features that have c-axes aligned within a user-defined tolerance. The algorithm for grouping the Features is analogous to the algorithm for segmenting the Features — only the average orientation of the Features is used instead of the orientations of the individual Cells, and the criterion for grouping only considers the alignment of the c-axes. The user can specify a tolerance for how closely aligned the c-axes must be for neighbor Features to be grouped.
NOTE: This filter is intended for use with Hexagonal materials. While the c-axis is actually just referring to the <001> direction and thus will operate on any symmetry, the utility of grouping by <001> alignment is likely only important/useful in materials with anisotropy in that direction (like materials with Hexagonal symmetry). Features whose phase resolves to anything other than Hexagonal_High are silently left ungrouped.
Choosing the C-Axis Alignment Tolerance
The default tolerance is 20 degrees, which is a typical starting point for microtexture-region segmentation in real EBSD data. Smaller values (a few degrees) will fragment genuine MTRs into many small groups. Tune the value for your alloy and scan rather than assuming the default is optimal.
How a region grows: neighbor-to-neighbor vs. running average
Group C-Axes With Running Average selects what each candidate Feature is measured against, and it is on by default.
With the option on (the default), each candidate is compared against the volume-weighted average c-axis of the region built so far. The region’s own average anchors it, which bounds how far the region can drift from the orientation it started at.
With the option off, each candidate is compared against the Feature it touches — the one that most recently joined the region. Grouping is then the transitive closure of the pairwise tolerance test along chains of neighbors: at a 20 degree tolerance, features at 0, 15 and 30 degrees all end up in one region even though the two end members are 30 degrees apart. A region can drift arbitrarily far from its starting orientation, one small step at a time.
Which behavior is correct depends on the analysis: use neighbor-to-neighbor when you want to enforce a misorientation requirement between adjacent features, and the running average when you want an ensemble-average orientation for the region (for example when feeding structure-property models).
Note for users migrating a pipeline from DREAM3D 6.5.171: the legacy filter defaulted this option to off. A pipeline that relied on the legacy default will group differently here unless you turn the option off explicitly.
Both versions group by Laue class, not by phase identity. Two distinct phases that both resolve to Hexagonal_High — for example primary alpha and transformed beta in a titanium alloy — will be grouped together. That is intended.
Randomization of Parent Ids
By default the filter assigns parent ids deterministically in the order features are picked as BFS seeds, so identical inputs produce identical parent ids. Set Randomize Parent Ids to true to randomly permute the assigned parent ids (useful when feeding the output straight into a color-mapped visualization where adjacent groups should not share the same color by accident). For reproducible randomization, enable Use Seed for Random Generation and supply a Seed value; the seed actually used is also written to a top-level array (default name _Group_MicroTexture_Regions_Seed_Value_) so the run can be replayed.
Input Parameter(s)
Parameter Name |
Parameter Type |
Parameter Notes |
Description |
|---|---|---|---|
Group C-Axes With Running Average |
Bool |
Group C-Axes With Running Average |
|
C-Axis Alignment Tolerance (Degrees) |
Scalar Value |
Float32 |
C-Axis Alignment Tolerance (Degrees) |
Contiguous Neighbor List |
NeighborListSelection |
List of contiguous neighbors for each Feature. |
Non-Contiguous Neighborhood Option
Parameter Name |
Parameter Type |
Parameter Notes |
Description |
|---|---|---|---|
Use Non-Contiguous Neighbors |
Bool |
Use non-contiguous neighborhoods |
|
Non-Contiguous Neighbor List |
NeighborListSelection |
List of non-contiguous neighbors for each Feature. |
Parent Id Randomization
Parameter Name |
Parameter Type |
Parameter Notes |
Description |
|---|---|---|---|
Randomize Parent Ids |
Bool |
When true, the final parent ids assigned to each group are randomly permuted. Disabled by default so identical inputs produce identical parent id assignments. |
|
Use Seed for Random Generation |
Bool |
When true the user-supplied Seed value is used for randomization and the random walk through the feature ids; otherwise the seed is derived from the system clock. Enabled by default so that repeated runs on the same input reproduce the same grouping. |
|
Seed |
Scalar Value |
UInt64 |
The seed fed into the random generator |
Stored Seed Value Array Name |
DataObjectName |
Name of array holding the seed value |
Input Cell Data
Parameter Name |
Parameter Type |
Parameter Notes |
Description |
|---|---|---|---|
Cell Feature Ids |
Array Selection |
Allowed Types: int32 Comp. Shape: 1 |
Data Array that specifies to which Feature each Element belongs |
Input Feature Data
Parameter Name |
Parameter Type |
Parameter Notes |
Description |
|---|---|---|---|
Feature Phases |
Array Selection |
Allowed Types: int32 Comp. Shape: 1 |
Specifies to which Ensemble each Feature belongs |
Volumes |
Array Selection |
Allowed Types: float32 Comp. Shape: 1 |
The Feature Volumes Data Array |
Average Quaternions |
Array Selection |
Allowed Types: float32 Comp. Shape: 4 |
Specifies the average orientation of each Feature in quaternion representation |
Input Ensemble Data
Parameter Name |
Parameter Type |
Parameter Notes |
Description |
|---|---|---|---|
Crystal Structures |
Array Selection |
Allowed Types: uint32 Comp. Shape: 1 |
Enumeration representing the crystal structure for each Ensemble |
Output Data Object(s)
Parameter Name |
Parameter Type |
Parameter Notes |
Description |
|---|---|---|---|
Cell Parent Ids Array name |
DataObjectName |
Output Cell Parent Ids Data Array |
|
Feature Parent Ids Array Name |
DataObjectName |
Output Feature Parent Ids Data Array |
|
Created Microtexture Feature Attribute Matrix |
DataGroupCreation |
Output Feature Attribute Matrix for Microtexture Regions |
References
Example Pipelines
License & Copyright
Please see the description file distributed with this Plugin
DREAM3D-NX Help
If you need help, need to file a bug report or want to request a new feature, please head over to the DREAM3DNX-Issues GitHub site where the community of DREAM3D-NX users can help answer your questions.