9.99. Partition Geometry

Group (Subgroup)

Reconstruction (Reconstruction)

Description

This Filter generates a partition grid and assigns partition IDs for every voxel/node of a given geometry.

If the Filter determines that any voxel/node of the original geometry is out-of-bounds compared to the generated partition grid, the Out-Of-Bounds Cell ID will be used as the partition ID in the output partition IDs array.

Partitioning Modes

There are four available partitioning modes to choose from: 1. Basic, 2. Advanced, 3. Bounding Box, and 4. Existing Partition Grid

Basic

This partitioning mode is commonly used to create a partition grid that is exactly the same size as the input geometry and divided up into a specific number of cells in the X, Y, & Z dimensions. This mode requires the Starting Feature ID, Number of Cells Per Axis, and (optionally) the Use Vertex Mask input parameters.

Figure 1: 5x5x5 Partition Grid

In Figure 1 above, the PartitionGeometry filter is using the SmallIN100 image geometry as an input geometry to generate a 5x5x5 partition grid with 125 features and the following outputs:

  1. An image geometry called Partition Grid Geometry with a data array containing all the partition grid ids called Feature Ids.

  2. An attribute matrix called Cell Data that contains all the cell data arrays for the newly created partition grid.

  3. A cell data array called Feature Ids that contains the newly created partition grid’s ids.

  4. An attribute matrix called Feature Data, used to store any future feature data for the given SmallIN100 input geometry.

  5. A cell data array called Partition Ids that contains the assigned partition ids for all voxels in the SmallIN100 input geometry.

Figure 1A: Partition Grid Feature Id 111

Figure 1B: SmallIN100 Partition Id 111

In Figure 1A above, feature ID 111 is shown highlighted in the newly created partition grid. In Figure 1B above, the same 111 feature ID is shown as the assigned partition ID for the currently highlighted voxel.

Advanced

This partitioning mode is commonly used to create a custom sized partition grid that the input geometry may or may not fit within. This mode requires the Starting Feature ID, Out-of-Bounds Feature ID, Number of Cells Per Axis, Partition Grid Origin, Cell Length, and (optionally) the Use Vertex Mask input parameters.

Note: If the given input geometry does not fit within the partition grid, any out of bounds voxels/nodes will be assigned the Out-of-Bounds Feature ID as their Partition ID.

Figure 2: 12x4x6 Partition Grid, Partition Grid Origin = (-50, -15, -40), Cell Lengths = 5x19x7

In Figure 2 above, the PartitionGeometry filter is using the SmallIN100 image geometry as an input geometry to generate a 12x4x6 partition grid with 288 features, cell length 5x19x7, and the following outputs:

  1. An image geometry called Partition Grid Geometry with a data array containing all the partition grid ids called Feature Ids.

  2. An attribute matrix called Cell Data that contains all the cell data arrays for the newly created partition grid.

  3. A cell data array called Feature Ids that contains the newly created partition grid’s ids.

  4. An attribute matrix called Feature Data, used to store any future feature data for the given SmallIN100 input geometry.

  5. A cell data array called Partition Ids that contains the assigned partition ids for all voxels in the SmallIN100 input geometry.

Figure 2A: Partition Grid

Figure 2B: Sliced Partition Grid

In Figure 2A above, the newly created partition grid is shown. It is a 12x4x6 grid with an origin of (-50, -15, -40), and cell length 5x19x7.

In Figure 2B above, the partition grid is sliced open to show the SmallIN100 dataset that is contained inside of it. The SmallIN100 dataset has partition IDs that correspond to the feature IDs in the partition grid.

Figure 3: 5x4x6 Partition Grid, Partition Grid Origin = (-20, -15, -15), Cell Lengths = 4x19x7

In Figure 3 above, the PartitionGeometry filter is using the SmallIN100 image geometry as an input geometry to generate a 5x4x6 partition grid with 120 features, cell lengths 4x19x7.

Figure 3A: Dataset Does Not Fit Inside Partition Grid

Figure 3B: Dataset Does Not Fit Inside Partition Grid

In Figure 3A above, the newly created partition grid is shown intersecting the SmallIN100 dataset. Any part of the SmallIN100 dataset that is outside the partition grid is marked with the Out-of-Bounds Feature ID, which in this case is 0.

In Figure 3B above, the SmallIN100 dataset is sliced open to show the partition IDs that have been set with the corresponding feature IDs from the partition grid.

Bounding Box

This partitioning mode is commonly used to create a custom sized partition grid using a minimum and maximum grid coordinate. The input geometry may or may not fit within this partition grid. This mode is very similar to the Advanced partitioning mode; it requires the Starting Feature ID, Out-of-Bounds Feature ID, Number of Cells Per Axis, Minimum Grid Coordinate, Maximum Grid Coordinate, and (optionally) the Use Vertex Mask input parameters. Basically, instead of specifying a partition grid origin and cell length to determine the location and physical size of the partition grid, the minimum and maximum grid coordinates are used.

Figure 4: 5x5x5 Partition Grid

In Figure 4 above, the PartitionGeometry filter is using the SmallIN100 image geometry as an input geometry to generate a 5x5x5 partition grid with 125 features, a minimum coordinate of (-42, 5, -24), and a maximum coordinate of (-4.75, 45.25, -4.75).

Figure 4A: Partition Grid Inside Dataset

Figure 4B: Partition Grid Inside Dataset - Sliced

In Figure 4A above, the SmallIN100 dataset is shown. In Figure 4B above, the dataset is sliced to show the newly created partition grid contained within. The partition grid is about 5 units smaller on all sides compared to the SmallIN100 input geometry.

Existing Partition Grid

This partitioning mode is chosen when the user already has a partition grid from a previous run of the Partition Geometry filter. Just select an existing Partition Grid Geometry and pick the Out-of-Bounds Feature ID, and then partition IDs will be assigned to the input dataset when the filter is executed.

Using A Vertex Mask

On all partitioning modes, a vertex mask can be used with a vertex-based input geometry to determine which vertices should be assigned a valid partition ID. Any vertices with a mask value of 0 or False will have its Partition ID set to the Out-of-Bounds Feature ID.

Figure 5A: Vertex With Mask Value = True

Figure 5B: Vertex With Mask Value = False

Input Geometry Parameters

Parameter Name

Parameter Type

Parameter Notes

Description

Input Geometry to Partition

Geometry Selection

Image, Rectilinear Grid, Vertex, Edge, Triangle, Quadrilateral, Tetrahedral, Hexahedral

The input geometry that will be partitioned

Input Geometry Cell Attribute Matrix

AttributeMatrixSelection

The attribute matrix that represents the cell data for the geometry.(Vertex=>Node Geometry, Cell=>Image/Rectilinear)

Output Partition Grid Parameters

Parameter Name

Parameter Type

Parameter Notes

Description

Select the partitioning mode

Choices

Mode can be ‘Basic (0)’, ‘Advanced (1)’, ‘Bounding Box (2)’, ‘Existing Partition Grid (3)’

Starting Feature ID

Scalar Value

Int32

The value to start the partition grid’s feature ids at.

Out-Of-Bounds Feature ID

Scalar Value

Int32

The value used as the feature id for voxels/nodes that are outside the bounds of the partition grid.

Number Of Cells Per Axis

Vector of Int32 Values

Order=X,Y,Z

The number of cells along each axis of the partition grid

Partition Grid Origin

Vector of Float32 Values

Order=X,Y,Z

The origin of the generated partition geometry

Cell Length (Physical Units)

Vector of Float32 Values

Order=X,Y,Z

The length in physical units for each cell in the partition grid. The physical units are automatically set by the input geometry.

Minimum Grid Coordinate

Vector of Float32 Values

Order=X,Y,Z

Minimum grid coordinate used to create the partition grid

Maximum Grid Coordinate

Vector of Float32 Values

Order=X,Y,Z

Maximum grid coordinate used to create the partition grid

Existing Partition Grid

Geometry Selection

Image

This is an existing Image Geometry that defines the partition grid that will be used.

Use Vertex Mask (Node Geometries Only)

Bool

Feature ID values will only be placed on vertices that have a ‘true’ mask value. All others will have the Out-Of-Bounds Feature ID value used instead

Vertex Mask

Array Selection

Allowed Types: boolean Comp. Shape: 1

The complete path to the vertex mask array.

Output Geometry Data Objects

Parameter Name

Parameter Type

Parameter Notes

Description

Partition Attribute Matrix

DataObjectName

The name of the feature attribute matrix that will be created as a child of the input geometry.

Partition Ids

DataObjectName

The name of the partition ids output array stored in the input cell attribute matrix

Output Partition Grid Data Objects

Parameter Name

Parameter Type

Parameter Notes

Description

Partition Grid Geometry

DataGroupCreation

The complete path to the created partition grid geometry

Cell Attribute Matrix

DataObjectName

The name of the cell attribute matrix that will contain the partition grid’s cell data arrays.

Cell Feature Ids

DataObjectName

The name of the feature ids array that will contain the feature ids of the generated partition grid.

Example Pipelines

None

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.