Compute Point Cloud Bounding Box

Functional Description

This operator computes a 3D bounding box for each input point cloud and outputs the geometric information of the bounding box.

Two types of bounding boxes are optional:

  • Axis-Aligned Bounding Box (AABB): The faces of the bounding box are parallel to the X, Y, and Z axes of the coordinate system. Calculation is simple and fast, suitable for situations where the object’s orientation is roughly aligned with the coordinate axes.

  • Oriented Bounding Box (OBB): The orientation of the bounding box is determined by the principal directions of the point cloud itself, allowing it to more tightly enclose arbitrarily oriented objects.

Usage Scenarios

  • Object Size and Position Estimation: Obtain the 3D dimensions and center position of the object represented by the point cloud.

  • Coarse Pose Estimation: OBB can provide orientation information of the object.

  • Spatial Occupancy Analysis: Determine the approximate range occupied by the object in space.

  • ROI Generation: Quickly generate a region enclosing the point cloud for subsequent finer processing.

  • Collision Detection: Use a simple AABB or a tighter OBB for preliminary collision judgment.

Inputs and Outputs

Input Items

Pointcloud: Input point cloud or list of point clouds.

Output Items

Bounding box normal: A list of normal vectors for the calculated bounding box.

Bounding box center point: A list of center points for each calculated bounding box, the calculation method is determined by the Center point type parameter.

Bounding box: A list of detailed information for each bounding box.

Bounding box size: A list of X, Y, Z dimensions for each bounding box along its principal axes.

3D ROI: A list of 3D ROIs generated based on the calculated bounding box, possibly scaled or adjusted.

Parameter Description

This operator has two versions:

  • Compute Point Cloud Bounding Box : Processes point clouds without normal information.

  • Compute Point Cloud Bounding Box(with Normals) : Processes point clouds with normal information.

Both have identical core functionality and parameters, only differing in the type of point cloud data they process.

  • Input: Can process a single point cloud or a list of point clouds. If it is a list, a bounding box will be calculated independently for each point cloud in the list.

  • NaN Value Handling: The operator will internally attempt to remove NaN values from the point cloud before calculation.

Calculation method

Parameter Description

Select the type of bounding box to calculate.

Tuning Description

  • OBB Oriented Bounding Box (OBB, Default): Calculates the minimum volume bounding box with orientation that tightly encloses the point cloud. Suitable for arbitrarily oriented objects, can provide more accurate size and orientation information, but calculation is slightly more complex.

  • AABB Axis-Aligned Bounding Box (AABB): Calculates the minimum bounding box enclosing the point cloud, with faces parallel to the coordinate axes. Calculation is simple and fast, but for tilted objects, its size will be larger than the actual object.

    Choose according to application needs. If accurate object size and orientation are needed, choose OBB; if only a rough range is needed and the object orientation is regular, or if faster speed is required, AABB can be selected.

Center point type

Parameter Description

Selects how the output "Bounding box center point" is calculated.

Tuning Description

  • Bounding box center (Default): Directly uses the geometric center of the calculated AABB or OBB.

  • Point cloud mean : Uses the XYZ coordinate mean of the original point cloud constituting this bounding box.

  • Point cloud median : Uses the XYZ coordinate median of the original point cloud constituting this bounding box, which is more robust to outliers.

Normal Z direction

Parameter Description

Specifies whether the Z-component of the output "Bounding box normal" should be positive or negative. The operator adjusts the calculated normal vector direction based on this setting.

Tuning Description

Used to unify the orientation of the output normal vector. If you want the normal vector to always point in the positive Z-axis direction ("upwards"), select "Positive Z"; if you want it to point in the negative Z-axis direction ("downwards"), select "Negative Z".

Zoom method

Parameter Description

Selects how to adjust (scale/expand) the final output 3D ROI region.

Tuning Description

  • Do not allow zoom (Default): No scaling or expansion is performed; the ROI is consistent with the calculated bounding box.

  • Specified value: Adds or subtracts the absolute values (mm) specified by the "Scale range in X direction"/"Scale range in Y direction"/"Z scaling range" parameters below to/from the min/max coordinates of each axis of the bounding box.

  • Specified ratio: Scales the dimensions of the bounding box according to the "Scale X"/"Scale Y"/"Zoom" parameters below.

Scale range in X direction/Scale range in Y direction/Z scaling range

Parameter Description

Effective when "Zoom method" is set to "Specified value". Specifies the distance to expand outwards (positive value) or shrink inwards (negative value) in the X, Y, and Z directions of the bounding box, respectively (Note: for OBB, this refers to the bounding box’s own coordinate axes).

Tuning Description

Used for precise control of ROI size. For example, X=10 means the ROI is 20mm wider in the bounding box’s own X-axis direction than the original bounding box (10mm added to each side).

Parameter Range

"[-5000, 10000], Default: 0, Unit: mm"

Scale X/Scale Y/Zoom

Parameter Description

Effective when "Zoom method" is set to "Specified ratio". Specifies the scaling factor for the ROI (and possibly the bounding box) in the X, Y, and Z directions (bounding box’s own coordinate axes), respectively.

Tuning Description

A scaling factor of 1 means maintaining the original size, greater than 1 means enlarging, and less than 1 means shrinking. For example, x=1.1 means the size of the ROI in the bounding box’s own X-axis direction becomes 1.1 times the original.

Parameter Range

"[0, 5], Default: 1"