10.94. Isolate Largest Feature (Identify Sample)
Group (Subgroup)
Processing (Cleanup)
Description
Serial-sectioning experiments – especially FIB-SEM – typically over-scan the sample area, producing a border of bad data around the actual sample. This Filter identifies the sample within that over-scanned volume by finding the single largest contiguous region of good cells.
The filter assumes that the sample is one connected set of cells, and it requires that the user has already produced a boolean mask marking which cells are good and which are bad – typically via Multi-Threshold Objects applied to a confidence or quality array.
The algorithm is:
Search for the largest contiguous set of good cells. This is assumed to be the sample.
Change all other good cells to bad. (This removes the “speckling” of good cells in the outer border region.)
If Fill Holes is enabled, two additional steps are run:
Search for the largest contiguous set of bad cells. This is assumed to be the outer border region.
Change all other bad cells to good. (This removes the “speckling” of bad cells inside the sample.)
Note: If the sample contains real holes, enabling Fill Holes will close them by calling all cells “inside” the sample good. To reidentify those holes afterward, re-run the threshold filter with the criteria GoodVoxels = 1 AND whatever original criterion identified the holes. This limits the original hole-finding criteria to within the sample and not the outer border region.
Slice-By-Slice Option
Only completely water-tight, internal holes within the sample are addressed when Fill Holes is enabled. To fill in a contiguous group of good cells that includes holes located along the outer edge of the sample, try enabling Process Data Slice-By-Slice. For each slice of the chosen plane, this will search for the largest contiguous set of good Cells, set all other good Cells to be bad Cells, and (if Fill Holes is enabled) fill all water-tight holes PER SLICE instead of the whole 3D volume at once. This option can be used to allow non water-tight holes to be filled without also accidentally filling the surrounding overscan area.
Name |
Description |
|---|---|
|
Good dataset to use this filter |
|
NOT** a good data set to use because there is no overscan of the sample. |
Slice-By-Slice Plane
When Process Data Slice-By-Slice is enabled, the Slice-By-Slice Plane parameter selects the plane along which the volume is scanned one slice at a time:
XY [0]: Processes the volume slice by slice along the Z axis, scanning each XY plane independently.
XZ [1]: Processes the volume slice by slice along the Y axis, scanning each XZ plane independently.
YZ [2]: Processes the volume slice by slice along the X axis, scanning each YZ plane independently.
Required Input Sources
Good Voxels Mask – a boolean array marking cells as good or bad, typically produced by Multi-Threshold Objects applied to EBSD confidence index, image quality, or a similar scalar.
Input Parameter(s)
Parameter Name |
Parameter Type |
Parameter Notes |
Description |
|---|---|---|---|
Fill Holes in Largest Feature |
Bool |
Whether to fill holes within sample after it is identified |
|
Process Data Slice-By-Slice |
Bool |
Whether to identify the largest sample (and optionally fill holes) slice-by-slice. This option is useful if you have a sample that is not water-tight and the holes open up to the overscan section, or if you have holes that sit on a boundary. The original algorithm will not fill holes that have these characteristics, only holes that are completely enclosed by the sample and water-tight. If you have holes that are not water-tight or sit on a boundary, choose this option and then pick the plane that will allow the holes to be water-tight on each slice of that plane. |
|
Slice-By-Slice Plane |
Choices |
Set the plane that the data will be processed slice-by-slice. For example, if you pick the XY plane, the data will be processed in the Z direction. |
|
Image Geometry |
Geometry Selection |
Image |
DataPath to the target ImageGeom |
Mask Array |
Array Selection |
Allowed Types: uint8, boolean Comp. Shape: 1 |
DataPath to the mask array defining what is sample and what is not |
Example Pipelines
(02) Small IN100 Full Reconstruction
INL Export
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.

