Related
Table of content
The Cluster Refine node lets you refine connections inside individual clusters, a.k.a Edge pruning.
Refining only removes edges and does not create new ones.
The filters determine which edge can be pruned. Any filter that doesn’t pass will ensure the edge is preserved.
Properties
Property | Description |
---|---|
Settings | |
Refinement | This property lets you select which kind of refinement you want to apply to the input clusters. Specifics of the instanced module will be available under its inner Settings section, if any. |
Output Edges Only | If enabled, this node will output edges as raw points, without the usually associated cluster. This can be significantly faster and less greedy depending on your need for the output edges. |
Restore Edges that connects to Valid Nodes | If enabled, any removed edge that connects valid nodes will be restored. This happens after the initial refinement and before sanitization. |
Sanitization
The sanitization property lets you enforce some general conditions within the graph. Note that is applied after the refinement.
Note that this is not mutually exclusive with filters: sanitization happens has a post-process after the “raw” refinement is completed.
Sanitization | Description |
---|---|
None | No sanitization. |
Shortest | If a node has no edge left, restore the shortest one. |
Longest | If a node has no edge left, restore the longest one. |
Filters | Use per-point filters to ensure edge preservation. |
Note that the sanitization options offer no guarantee that the initial interconnectivity will be preserved! – It’s more of a “whatever happens, keep those edges” pass.
Available Refining modules
Cluster Output Settings
See Working with Clusters - Cluster Output Settings.
Filters
This node supports a wide variety of filters, but it’s important to keep in mind that only the edge points are processed by the filters.
Both regular point filter & edge filters are supported, node filter are not (because they operate on endpoints specifically, which this node doesn’t work on).
Regular & Sanitization filtering operate on input data, not the modified output. That means if you use filters that rely on intrinsinc properties such as neighbor count, it will be the neighbor count of the input, not the output!
Available Filters
🝖 Compare Nearest (Numeric)
The Numeric Comparison Filter compares the arithmetic value of an attribute against the closest point from another dataset.
🝖 Bool
Performs a simple boolean comparison, converting numeric values to true (> 0) or false (<= 0).
🝖 Modulo Comparison
Compares the modulo of two attributes against a third operand, with configurable comparisons and tolerance.
🝖 Bounds
Checks if a point is inside or outside the provided bounds, with options for bounds types and an epsilon adjustment.
🝖 Bitmask
Checks specific flags in an int64 bitmask attribute with configurable mask types, comparisons, and an option to invert results.
🝖 Mean Value
The Mean Value Filter compares per-point values of an attribute against the mean statistical value of that same attribute.
🝖 Self Compare (Numeric)
Compares the numeric value at one index against the same attribute at another index.
🝖 Self Compare (String)
Compares the string value at one index against the same attribute at another index.