Houdini 20.0 Nodes Geometry nodes

Lidar Import geometry node

Reads a lidar file and imports a point cloud from its data.

On this page
Since 16.0

Note

Currently, this node supports E57, LAS, and LAZ lidar files. Each format assumes the z-axis points upwards, instead of the y-axis. Proximity to the origin is not guaranteed by the supported formats.

This SOP reads a lidar file and imports a point cloud from its data. Several point-attributes may be imported, provided they exist for a particular file. This SOP also provides filtering options to work with large point clouds.

Tip

This node will try to read as little from the provided file as possible to reduce cook times when changing parameters, particularly in the Attributes section. However, with large files, long cook times are unavoidable. It is recommended that you write the point cloud to a .bgeo file once you're satisfied with it, so that you can simply read the .bgeo in the future with the File SOP and get faster cook times.

Tip

To work with the point cloud as a VDB primitive, you can use the Convert VDB Points SOP.

Available position storage types

real32 32 bit float (4 bytes), about 7 decimal digits of precision. Maximum value about 1038
real64 64 bit float (8 bytes), about 15 decimal digits of precision. maximum value about 10308

Parameters

File

The name of the lidar file.

Reload Geometry

Force a reload of the file.

Precision

The storage type for the positions. See available types above.

Load

Lidar files contain metadata in the header that can be loaded without loading the entire file. This is useful for dealing with large data sets.

Point Cloud

Loads the point cloud from the file with the specified Filtering. Imports the requested Attributes that are available.

Info Bounding Box

Builds a single bounding box representing the total extent of the lidar scans. Attaches metadata attributes that can be summed across numerous scans. For scan-independent attributes, see Info.

Info

Creates a point for each scan in the file. Attaches attributes corresponding to the scan metadata and global metadata.

Metadata varies between the file formats. Metadata includes:

bounds

The bounding box of the scan.

pointcount

The total number of points in the file.

scanname

The name of the scan. This data only exists in E57 files.

scanpointcount

The number of points in the scan. This data only exists in E57 files.

transform

The 4×4 matrix associated with the scan. This data only exists in E57 files.

Filtering

Filter Type

The type of filtering used on the point cloud.

None

Do not apply any filtering.

Range

Filter the point cloud by a specified range.

Maximum

Filter the point cloud by setting a maximum number of points.

Tip

The node will be unable to cache its previous output if this parameter is changed. To avoid this, set this parameter before setting File.

Select ___ of ___

When Filter Type is Range, every (number in the left field) points for every (number in the right field) points are read, for each scan in the file.

Tip

Try to keep these numbers small, as otherwise you may lose detail from the point cloud.

Max Number of Points

When Filter Type is Maximum, do not read more points than the specified number. These points will be sampled from the entire file.

Delete Invalid Points

This option deletes every point in an “invalid group”, and applies only to E57 files. Some E57 attributes (such as position) can come with associated data that marks certain points as having “invalid” values. In this case, an “invalid group” will be created that contains all “invalid” points for the attribute.

Note

Enabling this option will restrict the node’s incremental reading capabilities, and can increase subsequent cook times.

Attributes

Several fields are common between the supported formats. Format-specific fields are grouped further below. Attributes are created and populated if the requested field is found in the File.

Color

The origin of color data read from the file.

None

Do not read any color data.

From Point Cloud

Read color data stored with each point. When reading E57 files, an invalid group may be created.

From Images

Read color data from the embedded images. Image-deriven color only exists for E57 files, and not for LAS or LAZ files.

Intensity

Include the intensity of the laser return. When reading E57 files, an invalid group may be created.

Return Data

Include the return index of the point, and the total number of returns that were recorded by the corresponding laser pulse. For E57 files, the return index begins at 0. For LAS/LAZ files, it begins at 1.

Timestamp

Include the time in which each point was recorded. When reading E57 files, an invalid group may be created.

E57

Several E57 toggles are deprecated. It is recommended to use the Scan Index and Scan Name toggles instead of Group Individual Scans. To access rigid transforms and the scan name list, it is recommended import the file with Load as Info.

Surface Normals

Include the surface normals.

Row and Column

Include the row and column indices, for scans that are organized into a grid.

Scan Index

Include the scan index that each point belongs to.

Scan Name

Include the scan name that each point belongs to. If a scan name is not provided in the file, it is set to an empty string.

Group Prefix

The prefix of the created groups and rigid transforms. This parameter is deprecated.

Group Individual Scans

Group the points of each scan. Groups are named with the Group Prefix parameter. This parameter is deprecated.

Rigid Transforms

For E57 files, include the rigid transforms associated with each scan. These are created as matrix4 detail attributes named “<prefix>transform1”, “<prefix>transform2”, etc. where <prefix> is the value specified in the Group Prefix parameter. This parameter is deprecated.

Scan Name List

For E57 files, create the string array global attribute, scannames, that lists the names of the scans in the same order that the groups are numbered. This parameter is deprecated.

LAS and LAZ

Some LAS attributes, noted below, are supported only by the newer point formats defined in version 1.4 of the LAS specification.

LAS has numerous mandatory fields, which if unused, are filled with zeros. These fields include all but Color (i.e. RGB) and Near Infrared (i.e. NIR). Timestamp (i.e. GPS Time) has become a mandatory field only for the LAS 1.4 standard point formats.

Classification Index

Include the classification index.

Classification Name

Include the associated string for the class index. The strings follow the ASPRS LAS 1.4 Standard Point Classes with the following modifications: use underscores instead of spaces, ignore all special characters, and ignore any hints surrounded by parentheses. Class values which fall outside of the standard definition are named “Class_<classindex>”.

Classification Flags

Include the LAS classification flags (synthetic, keypoint, withheld, overlap). The flags are stored as integer attributes, instead of groups. The overlap flag is only available in files that use LAS 1.4 standard point formats.

Scanner Channel

Include the scanner channel field. This attribute is only available in files that use LAS 1.4 standard point formats.

Scan Flags

Include the scan flags (scan direction, edge of flight line). The flags are stored as integer attributes, instead of groups.

User Data

Include the unsigned 8-bit integer field that is reserved for custom use.

Scan Angle

Include the scan angle field.

Point Source ID

Include the point source id that each point belongs to.

Near Infrared

Include the near infrared field (i.e. NIR). This attribute is only available in files that use specific LAS 1.4 standard point formats.

Transform

Transform Order

Order in which transformations occur.

Rotate Order

Order in which rotations occur.

Translate

Amount of translation along xyz axes.

Rotate

Amount of rotation along xyz axes.

Scale

Non-uniform scaling along xyz axes.

Shear

Amount of shearing. The three values represent shearing in the X direction on the XY plane, in the X direction on the XZ plane, and in the Y direction on the YZ plane, respectively.

Uniform Scale

Uniform scaling.

Pivot Translate

The local pivot space’s translation value for transformations.

Pivot Rotation

The local pivot space’s rotation value for transformations.

Centroid

The centroid value used by the “Move” buttons.

Using Metadata Centroid

Use the file metadata bounding box center. Filtered import variations will have an identical centroid value.

Using Calculated Centroid

Compute the bounding box of the imported points, and use its center.

Tip

Using Calculated Centroid is recommended if the file has incorrect bounding box metadata, or if the file contains significant outlier points. Setting Load as Info Bounding Box can help to identify inaccurate bounding box metadata.

Move Centroid to Origin

Move the centroid to the origin. The centroid is set as the bounding box center.

Move Pivot to Centroid

Move the pivot to the centroid. The centroid is set as the bounding box center.

See also

Geometry nodes