8.20. Compute Coordinate Threshold

Group (Subgroup)

Geometry

Description

This filter produces a mask that marks cells that fall inside or outside a given bounding shape within a supplied geometry. The filter outputs a mask to provide the greatest flexibility, while leveraging existing algorithms. This filter doesn’t modify the input geometry in any way if you wish to modify the data within the bounding box, consider using one of the cleanup filters on the marked values. See Remove Flagged Vertices/Edges/Triangles for an example of a potential followup filter.

This filter has a check at runtime (during the execute phase, before individual mask value determination begins) that will return a warning (not error) if the bounds don’t intersect any cells in the geometry. The intention of this is to alert the user that the mask will contain the same value throughout to allow the user to adapt the pipeline/parameters accordingly. When this check causes early bailout and warning, the mask will still be filled with outside bounds flag at every value. ImageGeom is the exception to this as it has checks done at preflight to prevent this from occurring.

There are several issues to be aware of with this filter, detailed thoroughly in the following sections.

Input Geometry Types

This filter is meant to be as widely applicable as possible, so cells will only be included in the bounding box if all points fall within the bounds.

Starting with the simple case, a VertexGeom, if a vertex/point (cell-level) falls inside the bounding box, it will be flagged as within the bounds in the mask. For EdgeGeom, the edges (cell-level) must have both points fall inside the bounds to be considered inside. For TriangleGeom, the faces (cell-level) must have all 3 points fall inside the bounds to be considered inside. For QuadGeom, the faces (cell-level) must have all 4 points fall inside the bounds to be considered inside.

ImageGeom is a nuanced case. For it to be considered inside, all eight of the vertices making up the cell/voxel must fall within the bounds. This differs from various other places in the code where the centroids of the voxel are used to make determinations.

Sphere Bounding Type

The way a point is determined to be in the sphere uses the following calculation where p is the query point, c is the centroid of the sphere (provided from the first 3 values in “Sphere Info” parameter), and r is the radius of the sphere (provided from the 4th value in “Sphere Info” parameter):

(p_x - c_x)^2 + (p_y - c_y)^2 + (p_z - c_z)^2 <= r^2

Inverting the Mask

This is primarily a convenience option provided to the user. If toggled on the values will be true (1) by default and values withing the bounds will be marked false (0). This doesn’t modify anything other than switching what value is set for bounds that fall inside or outside respectively.

Input Parameter(s)

Parameter Name

Parameter Type

Parameter Notes

Description

Coordinate Container Shape

Choices

This will determine how the bounding box for determining included points is defined

Invert Bounding Container

Bool

If selected, only points/edges/faces outside the container will be marked true, else only values in the container will be marked true

Coordinate Bounds

Parameter Name

Parameter Type

Parameter Notes

Description

Lower Bound (Physical Units)

Vector of Float32 Values

Order=Min X,Min Y,Min Z

Specifies the lower corner of the rectangular prism (bounding box)

Upper Bound (Physical Units)

Vector of Float32 Values

Order=Max X,Max Y,Max Z

Specifies the upper corner of the rectangular prism (bounding box)

Sphere centroid and Radius (Physical Units)

Vector of Float32 Values

Order=X,Y,Z,Radius

Specifies the centroid of the bounding sphere in the first 3 values (XYZ) and radius in the 4th

Input Data

Parameter Name

Parameter Type

Parameter Notes

Description

Selected Geometry

Geometry Selection

Image, Vertex, Edge, Triangle, Quadrilateral

The DataPath to the Geometry that contains the points/edges/faces for the geometry

Output Cell Data

Parameter Name

Parameter Type

Parameter Notes

Description

Created Mask Path/Name

ArrayCreation

The path/name of the created mask

Example Pipelines

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.