```{index} single: Filters; Segment Features (Misorientation) ``` # Segment Features (Misorientation) ## Group (Subgroup) Reconstruction (Segmentation) ## Description This **Filter** segments the **Features** by grouping neighboring **Cells** that satisfy the *misorientation tolerance*, i.e., have misorientation angle less than the value set by the user. The process by which the **Features** are identified is given below and is a standard *burn algorithm*. 1. Randomly select a **Cell**, add it to an empty list and set its *Feature Id* to the current **Feature** 2. Compare the **Cell** to each of its six (6) face-sharing neighbors (i.e., calculate the misorientation with each neighbor) 3. Add each neighbor **Cell** that has a misorientation below the user defined tolerance to the list created in 1. and set the *Feature Id* of the neighbor **Cell** to the current **Feature** 4. Remove the current **Cell** from the list and move to the next **Cell** and repeat 2. and 3.; continue until no **Cells** are left in the list 5. Increment the current **Feature** counter and repeat steps 1. through 4.; continue until no **Cells** remain unassigned in the dataset The user has the option to *Use Mask Array*, which allows the user to set a boolean array for the **Cells** that remove **Cells** with a value of *false* from consideration in the above algorithm. This option is useful if the user has an array that either specifies the domain of the "sample" in the "image" or specifies if the orientation on the **Cell** is trusted/correct. After all the **Features** have been identified, a **Feature Attribute Matrix** is created for the **Features** and each **Feature** is flagged as *Active* in a boolean array in the matrix. ### Input Parameter(s) | Parameter Name | Parameter Type | Parameter Notes | Description | |----------------|----------------|-----------------|-------------| | Misorientation Tolerance (Degrees) | Scalar Value |Float32 | Tolerance (in degrees) used to determine if neighboring Cells belong to the same Feature | | Randomize Feature IDs | Bool | | Specifies if feature IDs should be randomized during calculations | ### Optional Data Mask | Parameter Name | Parameter Type | Parameter Notes | Description | |----------------|----------------|-----------------|-------------| | Use Mask Array | Bool | | Specifies whether to use a boolean array to exclude some Cells from the Feature identification process | | Cell Mask Array | Array Selection | Allowed Types: uint8, boolean Comp. Shape: 1 | Path to the data array that specifies if the Cell is to be counted in the algorithm | ### Input Cell Data | Parameter Name | Parameter Type | Parameter Notes | Description | |----------------|----------------|-----------------|-------------| | Input Grid Geometry | Geometry Selection | Image, Rectilinear Grid | DataPath to input Grid Geometry | | Cell Quaternions | Array Selection | Allowed Types: float32 Comp. Shape: 4 | Specifies the orientation of the Cell in quaternion representation | | Cell Phases | Array Selection | Allowed Types: int32 Comp. Shape: 1 | Specifies to which Ensemble each cell belongs | ### 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 Cell Data | Parameter Name | Parameter Type | Parameter Notes | Description | |----------------|----------------|-----------------|-------------| | Cell Feature Ids | DataObjectName | | Specifies to which Feature each Cell belongs. | ### Output Feature Data | Parameter Name | Parameter Type | Parameter Notes | Description | |----------------|----------------|-----------------|-------------| | Feature Attribute Matrix | DataObjectName | | The name of the created cell feature attribute matrix | | Active | DataObjectName | | The name of the array which specifies if the Feature is still in the sample (true if the Feature is in the sample and false if it is not). At the end of the Filter, all Features will be Active | ## Example Pipelines + (10) SmallIN100 Full Reconstruction + INL Export + (05) SmallIN100 Segmentation + 04_Steiner Compact ## 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](https://github.com/BlueQuartzSoftware/DREAM3DNX-Issues/discussions) GitHub site where the community of DREAM3D-NX users can help answer your questions.