04 01 ExtractTools 3D
04 01 ExtractTools 3D
04 01 ExtractTools 3D
Section 4 | Slide 2
In this section of the In-Sight 3D Standard training we will cover the 3D Extract At the end of this section participants will be able to:
functions. The In-Sight 3D Extract functions allow you to find, analyze and classify Demonstrate how to utilize the ExtractPlane3D function and interpret the
various 3D features in the acquired point cloud. results
Outline how to find blobs that are either positive (above the plane) or negative
The 3D Extract functions that will be covered in this section are: (below the plane)
• ExtractPlane3D Extract edges from the specified region of the point cloud
• ExtractBlob3D Utilize the ExtractSphere3D function to extract one or more spheres from the
• ExtractEdge3D point cloud
• ExtractSphere3D Summarize the steps to extract Cylinder3D structures from the point cloud
• ExtractCylinder3D
The ExtractPlane3D function is used to extract one or more planes from a point cloud in When the ExtractPlane3D function is dropped into the spreadsheet the Property Sheet
a user defined region of interest (ROI). The orientation of the extracted plane is will open.
determined by the ROI.
In this example, we are searching for the Base Plane of the demo part, so the Once all parameters have been set, click the OK button to close the property sheet.
ExtractPlane3D Region3D parameter will reference the Region3D structure of the
MultiBoxRegion function.
Cuboids Cuboids
Middle Cube
Corner Cube
In this example, we are searching for the Cuboids on the demo part, so the External As we saw on the last slide, the region of the ExtractPlane3D function can be set to find
Fixture parameter is directed to the Fixture3D structure of the FindPatMax3D function. the base plane, or it can be set to find a specific plane.
The ExtractPlane3D function returns a Planes3D data structure extracted from the point The ExtractBlob3D function is used to extract the blob(s) relative to a reference
cloud, or #ERR if any of the input parameters are invalid. Plane3D structure. It returns the extracted blob(s) as a Blobs3D structure.
The following functions are automatically inserted into the spreadsheet to create a result The ExtractBlob3D function is found in the Toolbox 3D Vision Tools 3D Extract
table: ExtractBlob3D.
• Num Found returns the number of found planes
• Score returns the score of the extracted plane with the specified index number, as a
value between 0 – 100.
• Relative Tilt returns the tilt angle of the extracted plane specified with the index
number
• Rectangle returns a Rectangle3D structure
• Center returns the center point of the extracted plane’s finite patch (or visually, the
center point of the Rectangel3D structure)
• X returns the X-axis coordinate of the specified patch’s center point on the Fixture3D
X-axis.
• Y returns the Y-axis coordinate of the specified patch’s center point on the Fixture3D
Y-axis
• Z returns the Z-axis coordinate of the specified patch’s center point on the Fixture3D
Z-axis
• Tilt returns the tilt angle of the specified patch on the FIxture3D Z-axis as an integer
• Tilt Direction returns the extracted patch’s direction of tilt (in degrees) from the tool’s
rotated Fixture X-axis, about the tool’s Fixture3D Z-axis. The value is provided as an
integer.
Property Sheet
3D Blob = set of connected 3D pixels with a height value above (or below) a
specified reference plane.
In other words, 3D features that extend above or below a plane.
This slide shows the main concept behind 3D blobs extraction: When the ExtractBlob3D function is dropped into the spreadsheet the Property Sheet
will open.
1. We have a reference plane (on the base plane of the demo part – extracted during
the previous section);
2. The blob extraction criterion is the height (represented by the color of the PointCloud
image and range color scale on the right);
3. 3D blobs are identified with their bounding boxes – the blob with index number 5 is a
negative one, so it extends below the reference plane.
The External Fixture parameter is set manually. It is directed to the Fixture3D structure The External Plane parameter is set manually. It is directed to the Rectangle3D
of the FindPatMax3D function. structure of the ExtractPlane3D structure that found the Base Plane of the demo part.
NOTE: The Plane From Region checkbox must be unchecked for this parameter to
display.
The Plane From Region parameter when checked, the function uses a plane derived
from the configured Region3D region or External Region. This is useful if you need only a
rough reference shape or surface, and do not want to extract or explicitly define a plane.
This setting is disabled (unchecked) by default.
This region is set manually using the Region3D parameter. Notice that the ExtractBlob3D function has only found 5 of the 6 blobs on the demo part.
The Blob Type parameter is set to only find the Positive (above the plane) Blobs.
Plane from Region:
Enable checkbox fits more for presence / absence checks. Not for precise volume
or height measurements.
Disabled checkbox allows the user to choose an external plane for the
measurement. Recommended approach for measurements (volume, height).
When the Blob Type parameter is set to find both the Positive (above the plane) and The ExtractEdge3D function is used to extract edges (as Line3D structures) from the
Negative (below the plane) Blobs, all 6 of the Blobs on the demo part are found. specified region of the point cloud. The edges start at one plane of the specified 3D box
Region of Interest (ROI) and extend to the opposite plane of the box. Each extracted
The following functions are automatically inserted into the spreadsheet to create a result edge is roughly parallel to a specific edge of the box, called the canonical edge.
table:
Num Found returns the number of blobs extracted by the function The extracted edges are classified as either convex or concave, depending on the
Volume returns the volume of the blob surface characteristics along the extraction direction. The extracted edges are returned in
Height returns the height of the blob an Edges3D structure.
Type returns the blob type of the blob as an integer value
Bounding Box returns the bounding box of the blob as a Box3D function The ExtractEdge3D function is found in the Toolbox 3D Vision Tools 3D Extract
ExtractEdge3D.
In this example we will be looking for the 3 edges on the pyramid. When the ExtractEdge3D function is dropped into the spreadsheet the Property Sheet
will open.
The External Fixture parameter is set manually. Similar to the other 3D Extract functions When working with the ExtractEdge3D function there are a few other parameters that will
it is directed to the Fixture3D structure of the FindPatMax3D function. be used to extract your edges.
Number to Extract = the maximum number of edges to extract
Feature Size = sampling quality of the point cloud points and patches that will be used
for edge extraction. It is used to detect noisy or jagged edges.
This region is set manually using the Region3D parameter. The ExtractEdge3D function returns an Edges3D data structure extracted from the point
cloud, or #ERR if any of the input parameters are invalid.
The following functions are automatically inserted into the spreadsheet to create a result
table:
Num Found returns the number of found edges
Transition Type returns the transition type of the edge specified with the index as a text
(convex or concave)
Score returns the score of the edges specified with the index as a value between 0
and 100
Coverage returns the coverage of the edge specified with the index number
Sharpness returns the sharpness of the edge specified with the index (in degrees)
Vertical Angle returns eh vertical angle of the edge specified with the index number
Horizontal Angle returns the horizontal angle of the edge specified with the index
number
Line returns the line of the extracted edge with the specified index as a Line3D
structure
Midpoint returns the midpoint of the specified Line3D structure as a Point3D structure
X0 and X1 return the X-axis coordinate of the specified line’s starting point (when
using index 0) or endpoint (when using index 1) on the Fixture3D X-axis
Y0 and Y1 return the Y-axis coordinate of the specified line’s starting point (when using
index 0) or endpoint (when using index 1) on the Fixture3D Y-axis
Z0 and Z1 return the Z-axis coordinate of the specified line’s starting point (when using
index 0) or endpoint (when using index 1) on the Fixture3D Z-axis
The ExtractSphere3D function is used to extract one or more spheres from a point cloud in In this example we will be looking for the 3-dimensional sphere on the demo part.
a user defined region of interest (ROI).
If no sphere is found by the function with the provided configuration, it returns a result with
zero length shape, inliers, and residuals. Typically, radius range, math singularity or shape
degeneracy can lead to not finding spheres. For example, if all input points are coincident,
then the function cannot extract spheres.
When an ExtractSphere3D function is dropped into the spreadsheet the Property Sheet will The External Fixture parameter is set manually. Similar to the other 3D Extract functions it
display. is directed to the Fixture3D structure of the FindPatMax3D function.
This region is set manually using the Region3D parameter. The ExtractSphere3D function returns a Spheres3D data structure extracted from the point
cloud, or #ERR if any of the input parameters are invalid.
The following functions are automatically inserted into the spreadsheet to create a result
table:
Num Found returns the number of found spheres
Score returns the score of the extracted Sphere3D structure specified with the index
number. The value is a number between 0 – 100.
Center returns the center point of the specified Sphere3D structure as a Point3D
structure.
Radius returns the radius of the specified Sphere3D structure as an integer.
X returns the X-axis coordinate of the specified Sphere3D structure’s center point on the
Fixture3D X-axis.
Y returns the Y-axis coordinate of the specified Sphere3D structure’s center point on the
Fixture3D Y-axis.
Z returns the Z-axis coordinate of the specified Sphere3D structure’s center point on the
Fixture3D Z-axis.
The ExtractCylinder3D function is used to extract multiple Cylinder3D structures from the In this example we will be looking for the 3-dimensional cylinder on the demo part.
point cloud. It returns the extracted 3D cylinders in a Cylinders3D structure.
When an ExtractCylinder3D function is dropped into the spreadsheet the Property Sheet The External Fixture parameter is set manually. Similar to the other 3D Extract functions it
will display. is directed to the Fixture3D structure of the FindPatMax3D function.
This region is set manually using the Region3D parameter. The ExtractCylinder3D function returns a Cylinders3D containing the 3D cylinders
extracted from the point cloud, or #ERR if any of the input parameters are invalid.
The following functions are automatically inserted into the spreadsheet to create a result
table:
Num Found returns the number of found 3D cylinders.
Score returns the score of the extracted Cylinder3D structure between 1 – 100.
Cylinder returns the extracted Cylinder3D structure.