0.1.26
Loading...
Searching...
No Matches
pyhelios.wrappers.ULiDARWrapper Namespace Reference

Classes

class  ULiDARcloud
 Opaque structure for LiDARcloud C++ class. More...
 

Functions

 _check_error (result, func, args)
 Automatic error checking for all LiDAR functions.
 
None destroyLiDARcloud (ctypes.POINTER(ULiDARcloud) cloud_ptr)
 Destroy LiDARcloud instance.
 
int addLiDARScan (ctypes.POINTER(ULiDARcloud) cloud_ptr, List[float] origin, int Ntheta, Tuple[float, float] theta_range, int Nphi, Tuple[float, float] phi_range, float exit_diameter, float beam_divergence, Optional[List[str]] column_format=None, float range_noise_stddev=0.0, float angle_noise_stddev=0.0, float scan_tilt_roll=0.0, float scan_tilt_pitch=0.0, float scan_azimuth_offset=0.0)
 Add a LiDAR scan to the point cloud.
 
int addLiDARScanMoving (ctypes.POINTER(ULiDARcloud) cloud_ptr, int Ntheta, Tuple[float, float] theta_range, int Nphi, Tuple[float, float] phi_range, float exit_diameter, float beam_divergence, List[float] traj_t, List[List[float]] traj_pos, List[List[float]] traj_rot, bool rot_is_quaternion, float pulse_rate_hz, Optional[List[float]] lever_arm=None, Optional[List[float]] boresight_rpy=None, Optional[List[str]] column_format=None, float range_noise_stddev=0.0, float angle_noise_stddev=0.0, float t0=0.0)
 Add a moving-platform (mobile/airborne) raster LiDAR scan driven by a 6-DOF pose trajectory.
 
int addLiDARScanSpinning (ctypes.POINTER(ULiDARcloud) cloud_ptr, List[float] beam_elevation_angles, float azimuth_step_rad, float pulse_rate_hz, List[float] traj_t, List[List[float]] traj_pos, List[List[float]] traj_rot, bool rot_is_quaternion, float exit_diameter=0.0, float beam_divergence=0.0, Optional[List[float]] lever_arm=None, Optional[List[float]] boresight_rpy=None, Optional[List[str]] column_format=None, float range_noise_stddev=0.0, float angle_noise_stddev=0.0, float t0=0.0)
 Add a continuously-spinning multibeam scan from physical instrument parameters.
 
int addLiDARScanMovingRaster (ctypes.POINTER(ULiDARcloud) cloud_ptr, int Ntheta, Tuple[float, float] theta_range, int Nphi, Tuple[float, float] phi_range, float pulse_rate_hz, List[float] traj_t, List[List[float]] traj_pos, List[List[float]] traj_quat, float exit_diameter=0.0, float beam_divergence=0.0, Optional[List[float]] lever_arm=None, Optional[List[float]] boresight_rpy=None, Optional[List[str]] column_format=None, float range_noise_stddev=0.0, float angle_noise_stddev=0.0, float t0=0.0)
 Add a moving-platform raster scan: a fixed angular fan swept along a quaternion trajectory.
 
int addLiDARScanRisley (ctypes.POINTER(ULiDARcloud) cloud_ptr, List[List[float]] prisms, float refractive_index_air, float pulse_rate_hz, List[float] traj_t, List[List[float]] traj_pos, List[List[float]] traj_rot, bool rot_is_quaternion, float exit_diameter=0.0, float beam_divergence=0.0, Optional[List[float]] lever_arm=None, Optional[List[float]] boresight_rpy=None, Optional[List[str]] column_format=None, float range_noise_stddev=0.0, float angle_noise_stddev=0.0, float t0=0.0)
 Add a rotating-Risley-prism (Livox-style rosette) scan from physical instrument parameters.
 
int getLiDARScanMode (ctypes.POINTER(ULiDARcloud) cloud_ptr, int scanID)
 Get the acquisition mode (0 = static raster, 1 = moving raster, 2 = spinning, 3 = Risley prism).
 
int getLiDARScanStepsPerRev (ctypes.POINTER(ULiDARcloud) cloud_ptr, int scanID)
 Get the number of azimuth firing steps per revolution (spinning scans; 0 otherwise).
 
float getLiDARScanRotationRate (ctypes.POINTER(ULiDARcloud) cloud_ptr, int scanID)
 Get the sensor-head rotation rate in revolutions/second (spinning scans; 0 otherwise).
 
float getLiDARScanRevolutions (ctypes.POINTER(ULiDARcloud) cloud_ptr, int scanID)
 Get the number of revolutions the sensor head made (spinning scans; 0 otherwise).
 
List[List[float]] getLiDARScanRisleyPrisms (ctypes.POINTER(ULiDARcloud) cloud_ptr, int scanID)
 Get the rotating wedge prisms of a Risley-prism scan.
 
float getLiDARScanRisleyRefractiveIndexAir (ctypes.POINTER(ULiDARcloud) cloud_ptr, int scanID)
 Get the refractive index of the medium surrounding the prisms of a Risley-prism scan (1.0 for non-Risley).
 
int getLiDARScanReturnMode (ctypes.POINTER(ULiDARcloud) cloud_ptr, int scanID)
 Get the return-reporting mode (0 = multi, 1 = single).
 
None setLiDARScanReturnMode (ctypes.POINTER(ULiDARcloud) cloud_ptr, int scanID, int return_mode)
 Set the return-reporting mode (0 = multi, 1 = single).
 
int getLiDARScanSingleReturnSelection (ctypes.POINTER(ULiDARcloud) cloud_ptr, int scanID)
 Get the single/limited-return selection policy (0 = strongest, 1 = first, 2 = last, 3 = strongest+last).
 
None setLiDARScanSingleReturnSelection (ctypes.POINTER(ULiDARcloud) cloud_ptr, int scanID, int selection)
 Set the single/limited-return selection policy (0 = strongest, 1 = first, 2 = last, 3 = strongest+last).
 
int getLiDARScanMaxReturns (ctypes.POINTER(ULiDARcloud) cloud_ptr, int scanID)
 Get the maximum returns per pulse used in single/limited-return mode.
 
None setLiDARScanMaxReturns (ctypes.POINTER(ULiDARcloud) cloud_ptr, int scanID, int max_returns)
 Set the maximum returns per pulse used in single/limited-return mode (must be >= 1).
 
float getLiDARScanPulseWidth (ctypes.POINTER(ULiDARcloud) cloud_ptr, int scanID)
 Get the pulse width / range resolution (meters) of a scan (0 = use syntheticScan argument).
 
None setLiDARScanPulseWidth (ctypes.POINTER(ULiDARcloud) cloud_ptr, int scanID, float pulse_width)
 Set the pulse width / range resolution (meters) of a scan (0 = use syntheticScan argument).
 
float getLiDARScanDetectionThreshold (ctypes.POINTER(ULiDARcloud) cloud_ptr, int scanID)
 Get the detection threshold (energy fraction, noise floor) of a scan.
 
None setLiDARScanDetectionThreshold (ctypes.POINTER(ULiDARcloud) cloud_ptr, int scanID, float detection_threshold)
 Set the detection threshold (energy fraction, noise floor) of a scan.
 
float getLiDARScanTiltRoll (ctypes.POINTER(ULiDARcloud) cloud_ptr, int scanID)
 Get the global scanner tilt roll angle (radians) for a scan.
 
float getLiDARScanTiltPitch (ctypes.POINTER(ULiDARcloud) cloud_ptr, int scanID)
 Get the global scanner tilt pitch angle (radians) for a scan.
 
float getLiDARScanAzimuthOffset (ctypes.POINTER(ULiDARcloud) cloud_ptr, int scanID)
 Get the global scanner azimuth (heading) offset angle (radians) for a scan.
 
int getLiDARScanPattern (ctypes.POINTER(ULiDARcloud) cloud_ptr, int scanID)
 Get the scan pattern (0 = raster, 1 = spinning multibeam).
 
List[float] getLiDARScanBeamZenithAngles (ctypes.POINTER(ULiDARcloud) cloud_ptr, int scanID)
 Get the per-channel beam zenith angles (radians) for a multibeam scan (empty for raster).
 
bool isLiDARHitMiss (ctypes.POINTER(ULiDARcloud) cloud_ptr, int index)
 Return True if the hit is a miss (a transmitted beam that returned nothing).
 
bool lidarHasMisses (ctypes.POINTER(ULiDARcloud) cloud_ptr)
 Return True if the cloud contains at least one miss.
 
float getLiDARMissDistance ()
 Return the LIDAR_MISS_DISTANCE constant (meters).
 
int getLiDARScanCount (ctypes.POINTER(ULiDARcloud) cloud_ptr)
 Get number of scans in the cloud.
 
List[float] getLiDARScanOrigin (ctypes.POINTER(ULiDARcloud) cloud_ptr, int scanID)
 Get origin of a specific scan.
 
int getLiDARScanSizeTheta (ctypes.POINTER(ULiDARcloud) cloud_ptr, int scanID)
 Get number of zenith scan points.
 
int getLiDARScanSizePhi (ctypes.POINTER(ULiDARcloud) cloud_ptr, int scanID)
 Get number of azimuthal scan points.
 
float getLiDARScanRangeNoiseStdDev (ctypes.POINTER(ULiDARcloud) cloud_ptr, int scanID)
 Get the range (along-beam) measurement noise standard deviation for a scan (meters)
 
float getLiDARScanAngleNoiseStdDev (ctypes.POINTER(ULiDARcloud) cloud_ptr, int scanID)
 Get the angular (beam-pointing) jitter standard deviation for a scan (radians)
 
None addLiDARHitPoint (ctypes.POINTER(ULiDARcloud) cloud_ptr, int scanID, List[float] xyz, List[float] direction)
 Add a hit point to the cloud.
 
None addLiDARHitPointRGB (ctypes.POINTER(ULiDARcloud) cloud_ptr, int scanID, List[float] xyz, List[float] direction, List[float] color)
 Add a hit point with color to the cloud.
 
None addLiDARHitPoints (ctypes.POINTER(ULiDARcloud) cloud_ptr, int scanID, xyzs, directions, int count, colors=None)
 Add many hit points to the cloud in a single call (bulk ingestion).
 
None addLiDARHitPointsWithData (ctypes.POINTER(ULiDARcloud) cloud_ptr, int scanID, xyzs, directions, int count, colors=None, labels=None, data_values=None)
 Bulk-ingest hit points carrying a per-hit data map in one call.
 
int getLiDARHitCount (ctypes.POINTER(ULiDARcloud) cloud_ptr)
 Get total number of hit points.
 
List[float] getLiDARHitXYZ (ctypes.POINTER(ULiDARcloud) cloud_ptr, int index)
 Get coordinates of a hit point.
 
List[float] getLiDARHitOrigin (ctypes.POINTER(ULiDARcloud) cloud_ptr, int index)
 Get the (x,y,z) beam-emission origin of a hit point.
 
List[float] getLiDARHitRaydir (ctypes.POINTER(ULiDARcloud) cloud_ptr, int index)
 Get ray direction of a hit point.
 
List[float] getLiDARHitColor (ctypes.POINTER(ULiDARcloud) cloud_ptr, int index)
 Get color of a hit point.
 
int getLiDARHitScanID (ctypes.POINTER(ULiDARcloud) cloud_ptr, int index)
 Get the scan ID a hit point belongs to.
 
bool doesLiDARHitDataExist (ctypes.POINTER(ULiDARcloud) cloud_ptr, int index, str label)
 Check whether a named scalar data value exists for a hit point.
 
float getLiDARHitData (ctypes.POINTER(ULiDARcloud) cloud_ptr, int index, str label)
 Get a named scalar data value for a hit point.
 
List[float] getLiDARHitData_all (ctypes.POINTER(ULiDARcloud) cloud_ptr, str label, int n)
 Bulk-export a named scalar data value for all hit points in one call.
 
Tuple[List[float], List[float]] getLiDARHitsXYZRGB_all (ctypes.POINTER(ULiDARcloud) cloud_ptr, int n)
 Bulk-export XYZ coordinates and RGB colors for all hit points in one call.
 
 getLiDARHitsXYZRGB_all_np (ctypes.POINTER(ULiDARcloud) cloud_ptr, int n)
 Bulk-export XYZ + RGB for all hits as numpy arrays (no per-element Python).
 
 getLiDARHitData_all_np (ctypes.POINTER(ULiDARcloud) cloud_ptr, str label, int n)
 Bulk-export a named scalar field for all hits as an (n,) float32 numpy array (NaN where the label is absent for a hit).
 
List[float] getLiDARHitDataColumn (ctypes.POINTER(ULiDARcloud) cloud_ptr, str label, int n, float absent_value=-9999.0)
 Bulk-export a named scalar column via the native cache-linear columnar path.
 
int getLiDARHitDataColumnIndex (ctypes.POINTER(ULiDARcloud) cloud_ptr, str label)
 Get the internal column slot index for a hit-data label (-1 if never set on any hit).
 
 getLiDARHitDataColumn_np (ctypes.POINTER(ULiDARcloud) cloud_ptr, str label, int n, float absent_value=-9999.0)
 Bulk-export a named scalar column as an (n,) float64 numpy array via the columnar path (absent_value where the label is absent for a hit).
 
 getLiDARHitScanID_all (ctypes.POINTER(ULiDARcloud) cloud_ptr, int n)
 Bulk-export the scan ID of every hit as an (n,) int32 numpy array.
 
 isLiDARHitMiss_all (ctypes.POINTER(ULiDARcloud) cloud_ptr, int n)
 Bulk-export the miss flag of every hit as an (n,) int32 numpy array (1=miss).
 
None deleteLiDARHitPoint (ctypes.POINTER(ULiDARcloud) cloud_ptr, int index)
 Delete a hit point from the cloud.
 
None lidarCoordinateShift (ctypes.POINTER(ULiDARcloud) cloud_ptr, List[float] shift)
 Translate all hit points by a shift vecto.
 
None lidarCoordinateRotation (ctypes.POINTER(ULiDARcloud) cloud_ptr, List[float] rotation)
 Rotate all hit points by spherical rotation angles.
 
None lidarTriangulateHitPoints (ctypes.POINTER(ULiDARcloud) cloud_ptr, float Lmax, float max_aspect_ratio)
 Generate triangle mesh from hit points.
 
int getLiDARTriangleCount (ctypes.POINTER(ULiDARcloud) cloud_ptr)
 Get number of triangles in the mesh.
 
dict getLiDARTriangulationStats (ctypes.POINTER(ULiDARcloud) cloud_ptr)
 Filter diagnostics from the most recent triangulateHitPoints() call.
 
 getLiDARTriangleVertices_all (ctypes.POINTER(ULiDARcloud) cloud_ptr, int tri_count)
 Bulk-export every triangle's vertices (and source scan) in one call.
 
None lidarSetExternalTriangulation (ctypes.POINTER(ULiDARcloud) cloud_ptr, xyz_flat, scan_ids, int tri_count)
 Replace the internal triangulation with an externally-supplied mesh.
 
None lidarDistanceFilter (ctypes.POINTER(ULiDARcloud) cloud_ptr, float maxdistance)
 Filter hit points by maximum distance.
 
None lidarReflectanceFilter (ctypes.POINTER(ULiDARcloud) cloud_ptr, float minreflectance)
 Filter hit points by minimum reflectance.
 
None lidarFirstHitFilter (ctypes.POINTER(ULiDARcloud) cloud_ptr)
 Keep only first return hit points.
 
None lidarLastHitFilter (ctypes.POINTER(ULiDARcloud) cloud_ptr)
 Keep only last return hit points.
 
None exportLiDARPointCloud (ctypes.POINTER(ULiDARcloud) cloud_ptr, str filename, bool write_header=True)
 Export point cloud to ASCII file (optionally with a '#'-prefixed column header)
 
None exportLiDARLeafAreaUncertainty (ctypes.POINTER(ULiDARcloud) cloud_ptr, str filename)
 Export per-voxel leaf-area sampling uncertainty to a self-describing ASCII file.
 
None exportLiDARScans (ctypes.POINTER(ULiDARcloud) cloud_ptr, str filename)
 Export all scans to an XML metadata file plus one ASCII data file per scan.
 
None loadLiDARXML (ctypes.POINTER(ULiDARcloud) cloud_ptr, str filename)
 Load scan metadata from XML file.
 
None lidarDisableMessages (ctypes.POINTER(ULiDARcloud) cloud_ptr)
 Disable console output messages.
 
None lidarEnableMessages (ctypes.POINTER(ULiDARcloud) cloud_ptr)
 Enable console output messages.
 
None addLiDARGrid (ctypes.POINTER(ULiDARcloud) cloud_ptr, List[float] center, List[float] size, List[int] ndiv, float rotation)
 Add a rectangular grid of voxel cells.
 
None addLiDARGridTerrainFollowing (ctypes.POINTER(ULiDARcloud) cloud_ptr, List[float] center, List[float] size, List[int] ndiv, float rotation, List[float] column_z_offsets)
 Add a rectangular grid of voxel cells with per-column vertical offsets.
 
None addLiDARGridCell (ctypes.POINTER(ULiDARcloud) cloud_ptr, List[float] center, List[float] size, float rotation)
 Add a single grid cell.
 
int getLiDARGridCellCount (ctypes.POINTER(ULiDARcloud) cloud_ptr)
 Get number of grid cells.
 
List[float] getLiDARCellCenter (ctypes.POINTER(ULiDARcloud) cloud_ptr, int index)
 Get center position of a grid cell.
 
List[float] getLiDARCellSize (ctypes.POINTER(ULiDARcloud) cloud_ptr, int index)
 Get size of a grid cell.
 
float getLiDARCellRotation (ctypes.POINTER(ULiDARcloud) cloud_ptr, int index)
 Get azimuthal rotation of a grid cell about the z-axis, in degrees.
 
float getLiDARCellLeafArea (ctypes.POINTER(ULiDARcloud) cloud_ptr, int index)
 Get leaf area of a grid cell.
 
float getLiDARCellLeafAreaDensity (ctypes.POINTER(ULiDARcloud) cloud_ptr, int index)
 Get leaf area density of a grid cell.
 
None calculateLiDARHitGridCell (ctypes.POINTER(ULiDARcloud) cloud_ptr)
 Calculate hit point grid cell assignments.
 
None syntheticLiDARScan (ctypes.POINTER(ULiDARcloud) cloud_ptr, ctypes.POINTER(UContext) context_ptr)
 Perform synthetic discrete-return LiDAR scan.
 
None syntheticLiDARScanAppend (ctypes.POINTER(ULiDARcloud) cloud_ptr, ctypes.POINTER(UContext) context_ptr, bool append)
 Perform synthetic scan with append control.
 
None setLiDARCancelFlag (ctypes.POINTER(ULiDARcloud) cloud_ptr, flag)
 Register an external cancellation flag polled during syntheticScan.
 
None setLiDARSyntheticScanMemoryBudget (ctypes.POINTER(ULiDARcloud) cloud_ptr, int bytes)
 Set the soft memory budget (bytes) for syntheticScan's transient trace buffers.
 
int getLiDARSyntheticScanMemoryBudget (ctypes.POINTER(ULiDARcloud) cloud_ptr)
 Get the soft memory budget (bytes) for syntheticScan's transient buffers.
 
None setLiDARSyntheticScanProgressPointer (ctypes.POINTER(ULiDARcloud) cloud_ptr, ptr)
 Register an external per-scan progress counter polled during syntheticScan.
 
None setLiDARProgressCallback (ctypes.POINTER(ULiDARcloud) cloud_ptr, callback)
 Register a progress callback fired with (progress_fraction, message) during syntheticScan.
 
None syntheticLiDARScanDiscrete (ctypes.POINTER(ULiDARcloud) cloud_ptr, ctypes.POINTER(UContext) context_ptr, bool scan_grid_only, bool record_misses, bool append)
 Perform discrete-return synthetic scan with miss-recording control.
 
None syntheticLiDARScanWaveform (ctypes.POINTER(ULiDARcloud) cloud_ptr, ctypes.POINTER(UContext) context_ptr, int rays_per_pulse, float pulse_distance_threshold)
 Perform synthetic full-waveform LiDAR scan.
 
None syntheticLiDARScanFull (ctypes.POINTER(ULiDARcloud) cloud_ptr, ctypes.POINTER(UContext) context_ptr, int rays_per_pulse, float pulse_distance_threshold, bool scan_grid_only, bool record_misses, bool append)
 Perform synthetic scan with full control.
 
None syntheticLiDARScanReturnMode (ctypes.POINTER(ULiDARcloud) cloud_ptr, ctypes.POINTER(UContext) context_ptr, int rays_per_pulse, float pulse_distance_threshold, int return_mode, bool scan_grid_only=False, bool record_misses=False, bool append=True)
 Perform an analytic-waveform synthetic scan with an explicit return mode.
 
None calculateLiDARLeafArea (ctypes.POINTER(ULiDARcloud) cloud_ptr, ctypes.POINTER(UContext) context_ptr)
 Calculate leaf area for each grid cell.
 
None calculateLiDARLeafAreaMinHits (ctypes.POINTER(ULiDARcloud) cloud_ptr, ctypes.POINTER(UContext) context_ptr, int min_voxel_hits)
 Calculate leaf area with minimum voxel hits threshold.
 
None calculateLiDARLeafAreaUncertainty (ctypes.POINTER(ULiDARcloud) cloud_ptr, ctypes.POINTER(UContext) context_ptr, int min_voxel_hits, float element_width)
 Calculate leaf area plus per-voxel sampling uncertainty (Pimont et al.
 
None calculateLiDARLeafAreaGtheta (ctypes.POINTER(ULiDARcloud) cloud_ptr, ctypes.POINTER(UContext) context_ptr, float Gtheta, int min_voxel_hits, float element_width)
 Calculate leaf area using a caller-supplied G(theta), without requiring triangulation.
 
int getLiDARCellBeamCount (ctypes.POINTER(ULiDARcloud) cloud_ptr, int index)
 Get the beam count N entering a grid cell (-1 if calculateLeafArea not run).
 
float getLiDARCellRelativeDensityIndex (ctypes.POINTER(ULiDARcloud) cloud_ptr, int index)
 Get the relative density index I_rdi for a grid cell.
 
float getLiDARCellMeanPathLength (ctypes.POINTER(ULiDARcloud) cloud_ptr, int index)
 Get the mean beam path length (m) through a grid cell.
 
float getLiDARCellLADVariance (ctypes.POINTER(ULiDARcloud) cloud_ptr, int index)
 Get the per-voxel LAD sampling variance (-1 if unavailable).
 
 getLiDARCellLeafAreaConfidenceInterval (ctypes.POINTER(ULiDARcloud) cloud_ptr, int index, float confidence_level=0.95)
 Single-voxel leaf-area confidence interval.
 
 getLiDARGroupLADConfidenceInterval (ctypes.POINTER(ULiDARcloud) cloud_ptr, List[int] indices, float confidence_level=0.95)
 Group-scale LAD confidence interval over a set of cells (recommended path).
 
None exportLiDARTriangleNormals (ctypes.POINTER(ULiDARcloud) cloud_ptr, str filename)
 Export triangle normal vectors.
 
None exportLiDARTriangleAreas (ctypes.POINTER(ULiDARcloud) cloud_ptr, str filename)
 Export triangle areas.
 
None exportLiDARLeafAreas (ctypes.POINTER(ULiDARcloud) cloud_ptr, str filename)
 Export leaf areas for each grid cell.
 
None exportLiDARLeafAreaDensities (ctypes.POINTER(ULiDARcloud) cloud_ptr, str filename)
 Export leaf area densities for each grid cell.
 
None exportLiDARGtheta (ctypes.POINTER(ULiDARcloud) cloud_ptr, str filename)
 Export G(theta) values for each grid cell.
 
float getLiDARCellGtheta (ctypes.POINTER(ULiDARcloud) cloud_ptr, int index)
 Get G(theta) value for a grid cell.
 
None setLiDARCellGtheta (ctypes.POINTER(ULiDARcloud) cloud_ptr, float Gtheta, int index)
 Set G(theta) value for a grid cell.
 
None gapfillLiDARMisses (ctypes.POINTER(ULiDARcloud) cloud_ptr)
 Gapfill sky/miss points.
 
None calculateSyntheticLiDARLeafArea (ctypes.POINTER(ULiDARcloud) cloud_ptr, ctypes.POINTER(UContext) context_ptr)
 Calculate synthetic leaf area for validation.
 
None calculateSyntheticLiDARGtheta (ctypes.POINTER(ULiDARcloud) cloud_ptr, ctypes.POINTER(UContext) context_ptr)
 Calculate synthetic G(theta) for validation.
 
None addLiDARTrianglesToContext (ctypes.POINTER(ULiDARcloud) cloud_ptr, ctypes.POINTER(UContext) context_ptr)
 Add triangulated mesh to Context as primitives.
 
None initializeLiDARCollisionDetection (ctypes.POINTER(ULiDARcloud) cloud_ptr, ctypes.POINTER(UContext) context_ptr)
 Initialize CollisionDetection for ray tracing.
 
None enableLiDARCDGPUAcceleration (ctypes.POINTER(ULiDARcloud) cloud_ptr)
 Enable GPU acceleration for collision detection.
 
None disableLiDARCDGPUAcceleration (ctypes.POINTER(ULiDARcloud) cloud_ptr)
 Disable GPU acceleration for collision detection.
 
bool isLiDARGPUAvailable (ctypes.POINTER(ULiDARcloud) cloud_ptr)
 Return True if a CUDA-capable GPU is available for collision-detection acceleration.
 
bool isLiDARGPUAccelerationEnabled (ctypes.POINTER(ULiDARcloud) cloud_ptr)
 Return True if GPU acceleration is currently enabled for collision detection.
 
 mock_createLiDARcloud (*args, **kwargs)
 
 mock_lidar_operation (*args, **kwargs)
 

Variables

 LiDARProgressCallback = ctypes.CFUNCTYPE(None, ctypes.c_float, ctypes.c_char_p)
 
 argtypes
 
 restype
 
 errcheck
 
bool _LIDAR_FUNCTIONS_AVAILABLE
 
 createLiDARcloud () = mock_createLiDARcloud
 Create LiDARcloud instance.
 
 addLiDARScan = mock_lidar_operation
 
 addLiDARHitPoint = mock_lidar_operation
 

Function Documentation

◆ _check_error()

pyhelios.wrappers.ULiDARWrapper._check_error ( result,
func,
args )
protected

Automatic error checking for all LiDAR functions.

Definition at line 25 of file ULiDARWrapper.py.

◆ addLiDARGrid()

None pyhelios.wrappers.ULiDARWrapper.addLiDARGrid ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
List[float] center,
List[float] size,
List[int] ndiv,
float rotation )

Add a rectangular grid of voxel cells.

Definition at line 1902 of file ULiDARWrapper.py.

◆ addLiDARGridCell()

None pyhelios.wrappers.ULiDARWrapper.addLiDARGridCell ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
List[float] center,
List[float] size,
float rotation )

Add a single grid cell.

Definition at line 1950 of file ULiDARWrapper.py.

◆ addLiDARGridTerrainFollowing()

None pyhelios.wrappers.ULiDARWrapper.addLiDARGridTerrainFollowing ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
List[float] center,
List[float] size,
List[int] ndiv,
float rotation,
List[float] column_z_offsets )

Add a rectangular grid of voxel cells with per-column vertical offsets.

Definition at line 1921 of file ULiDARWrapper.py.

◆ addLiDARHitPoint()

None pyhelios.wrappers.ULiDARWrapper.addLiDARHitPoint ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int scanID,
List[float] xyz,
List[float] direction )

Add a hit point to the cloud.

Definition at line 1446 of file ULiDARWrapper.py.

◆ addLiDARHitPointRGB()

None pyhelios.wrappers.ULiDARWrapper.addLiDARHitPointRGB ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int scanID,
List[float] xyz,
List[float] direction,
List[float] color )

Add a hit point with color to the cloud.

Definition at line 1462 of file ULiDARWrapper.py.

◆ addLiDARHitPoints()

None pyhelios.wrappers.ULiDARWrapper.addLiDARHitPoints ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int scanID,
xyzs,
directions,
int count,
colors = None )

Add many hit points to the cloud in a single call (bulk ingestion).

xyzs and directions must be contiguous float32 buffers (e.g. numpy arrays) of shape (count, 3). colors, if given, must be a contiguous float32 buffer of shape (count, 3); pass None to add without color. The buffers are passed straight through to C without per-point Python marshalling.

Definition at line 1487 of file ULiDARWrapper.py.

◆ addLiDARHitPointsWithData()

None pyhelios.wrappers.ULiDARWrapper.addLiDARHitPointsWithData ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int scanID,
xyzs,
directions,
int count,
colors = None,
labels = None,
data_values = None )

Bulk-ingest hit points carrying a per-hit data map in one call.

xyzs/directions (and colors, if given) must be contiguous float32 buffers of shape (count, 3); directions is (radius, elevation, azimuth). labels is a list of data-map key names; data_values must be a contiguous float64 buffer of shape (count, len(labels)). Pass labels=None/empty (and data_values=None) to ingest with an empty data map.

Definition at line 1506 of file ULiDARWrapper.py.

◆ addLiDARScan()

int pyhelios.wrappers.ULiDARWrapper.addLiDARScan ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
List[float] origin,
int Ntheta,
Tuple[float, float] theta_range,
int Nphi,
Tuple[float, float] phi_range,
float exit_diameter,
float beam_divergence,
Optional[List[str]] column_format = None,
float range_noise_stddev = 0.0,
float angle_noise_stddev = 0.0,
float scan_tilt_roll = 0.0,
float scan_tilt_pitch = 0.0,
float scan_azimuth_offset = 0.0 )

Add a LiDAR scan to the point cloud.

Definition at line 898 of file ULiDARWrapper.py.

◆ addLiDARScanMoving()

int pyhelios.wrappers.ULiDARWrapper.addLiDARScanMoving ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int Ntheta,
Tuple[float, float] theta_range,
int Nphi,
Tuple[float, float] phi_range,
float exit_diameter,
float beam_divergence,
List[float] traj_t,
List[List[float]] traj_pos,
List[List[float]] traj_rot,
bool rot_is_quaternion,
float pulse_rate_hz,
Optional[List[float]] lever_arm = None,
Optional[List[float]] boresight_rpy = None,
Optional[List[str]] column_format = None,
float range_noise_stddev = 0.0,
float angle_noise_stddev = 0.0,
float t0 = 0.0 )

Add a moving-platform (mobile/airborne) raster LiDAR scan driven by a 6-DOF pose trajectory.

traj_rot entries are length-4 quaternions (qx,qy,qz,qw) if rot_is_quaternion is True, otherwise length-3 roll/pitch/yaw Euler angles (radians, intrinsic Z-Y-X).

Definition at line 937 of file ULiDARWrapper.py.

◆ addLiDARScanMovingRaster()

int pyhelios.wrappers.ULiDARWrapper.addLiDARScanMovingRaster ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int Ntheta,
Tuple[float, float] theta_range,
int Nphi,
Tuple[float, float] phi_range,
float pulse_rate_hz,
List[float] traj_t,
List[List[float]] traj_pos,
List[List[float]] traj_quat,
float exit_diameter = 0.0,
float beam_divergence = 0.0,
Optional[List[float]] lever_arm = None,
Optional[List[float]] boresight_rpy = None,
Optional[List[str]] column_format = None,
float range_noise_stddev = 0.0,
float angle_noise_stddev = 0.0,
float t0 = 0.0 )

Add a moving-platform raster scan: a fixed angular fan swept along a quaternion trajectory.

traj_quat entries are length-4 quaternions (qx,qy,qz,qw), Hamilton body->world.

Definition at line 1081 of file ULiDARWrapper.py.

◆ addLiDARScanRisley()

int pyhelios.wrappers.ULiDARWrapper.addLiDARScanRisley ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
List[List[float]] prisms,
float refractive_index_air,
float pulse_rate_hz,
List[float] traj_t,
List[List[float]] traj_pos,
List[List[float]] traj_rot,
bool rot_is_quaternion,
float exit_diameter = 0.0,
float beam_divergence = 0.0,
Optional[List[float]] lever_arm = None,
Optional[List[float]] boresight_rpy = None,
Optional[List[str]] column_format = None,
float range_noise_stddev = 0.0,
float angle_noise_stddev = 0.0,
float t0 = 0.0 )

Add a rotating-Risley-prism (Livox-style rosette) scan from physical instrument parameters.

prisms is a list of 4-element [wedge_angle, refractive_index, rotor_rate, phase] entries in beam-traversal order (at least one). traj_rot entries are length-4 quaternions (qx,qy,qz,qw) if rot_is_quaternion is True, otherwise length-3 roll/pitch/yaw Euler angles (radians).

Definition at line 1147 of file ULiDARWrapper.py.

◆ addLiDARScanSpinning()

int pyhelios.wrappers.ULiDARWrapper.addLiDARScanSpinning ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
List[float] beam_elevation_angles,
float azimuth_step_rad,
float pulse_rate_hz,
List[float] traj_t,
List[List[float]] traj_pos,
List[List[float]] traj_rot,
bool rot_is_quaternion,
float exit_diameter = 0.0,
float beam_divergence = 0.0,
Optional[List[float]] lever_arm = None,
Optional[List[float]] boresight_rpy = None,
Optional[List[str]] column_format = None,
float range_noise_stddev = 0.0,
float angle_noise_stddev = 0.0,
float t0 = 0.0 )

Add a continuously-spinning multibeam scan from physical instrument parameters.

beam_elevation_angles are per-channel ELEVATION angles above the horizon (radians), NOT zenith. traj_rot entries are length-4 quaternions (qx,qy,qz,qw) if rot_is_quaternion is True, otherwise length-3 roll/pitch/yaw Euler angles (radians, intrinsic Z-Y-X).

Definition at line 1007 of file ULiDARWrapper.py.

◆ addLiDARTrianglesToContext()

None pyhelios.wrappers.ULiDARWrapper.addLiDARTrianglesToContext ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
ctypes.POINTER(UContext) context_ptr )

Add triangulated mesh to Context as primitives.

Definition at line 2324 of file ULiDARWrapper.py.

◆ calculateLiDARHitGridCell()

None pyhelios.wrappers.ULiDARWrapper.calculateLiDARHitGridCell ( ctypes.POINTER(ULiDARcloud) cloud_ptr)

Calculate hit point grid cell assignments.

Definition at line 2014 of file ULiDARWrapper.py.

◆ calculateLiDARLeafArea()

None pyhelios.wrappers.ULiDARWrapper.calculateLiDARLeafArea ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
ctypes.POINTER(UContext) context_ptr )

Calculate leaf area for each grid cell.

Definition at line 2150 of file ULiDARWrapper.py.

◆ calculateLiDARLeafAreaGtheta()

None pyhelios.wrappers.ULiDARWrapper.calculateLiDARLeafAreaGtheta ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
ctypes.POINTER(UContext) context_ptr,
float Gtheta,
int min_voxel_hits,
float element_width )

Calculate leaf area using a caller-supplied G(theta), without requiring triangulation.

Suitable for moving-platform scans (which cannot be triangulated). Gtheta must be in (0,1] (0.5 = spherical leaf-angle distribution).

Definition at line 2181 of file ULiDARWrapper.py.

◆ calculateLiDARLeafAreaMinHits()

None pyhelios.wrappers.ULiDARWrapper.calculateLiDARLeafAreaMinHits ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
ctypes.POINTER(UContext) context_ptr,
int min_voxel_hits )

Calculate leaf area with minimum voxel hits threshold.

Definition at line 2158 of file ULiDARWrapper.py.

◆ calculateLiDARLeafAreaUncertainty()

None pyhelios.wrappers.ULiDARWrapper.calculateLiDARLeafAreaUncertainty ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
ctypes.POINTER(UContext) context_ptr,
int min_voxel_hits,
float element_width )

Calculate leaf area plus per-voxel sampling uncertainty (Pimont et al.

2018)

Definition at line 2167 of file ULiDARWrapper.py.

◆ calculateSyntheticLiDARGtheta()

None pyhelios.wrappers.ULiDARWrapper.calculateSyntheticLiDARGtheta ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
ctypes.POINTER(UContext) context_ptr )

Calculate synthetic G(theta) for validation.

Definition at line 2316 of file ULiDARWrapper.py.

◆ calculateSyntheticLiDARLeafArea()

None pyhelios.wrappers.ULiDARWrapper.calculateSyntheticLiDARLeafArea ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
ctypes.POINTER(UContext) context_ptr )

Calculate synthetic leaf area for validation.

Definition at line 2308 of file ULiDARWrapper.py.

◆ deleteLiDARHitPoint()

None pyhelios.wrappers.ULiDARWrapper.deleteLiDARHitPoint ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int index )

Delete a hit point from the cloud.

Definition at line 1710 of file ULiDARWrapper.py.

◆ destroyLiDARcloud()

None pyhelios.wrappers.ULiDARWrapper.destroyLiDARcloud ( ctypes.POINTER(ULiDARcloud) cloud_ptr)

Destroy LiDARcloud instance.

Definition at line 892 of file ULiDARWrapper.py.

◆ disableLiDARCDGPUAcceleration()

None pyhelios.wrappers.ULiDARWrapper.disableLiDARCDGPUAcceleration ( ctypes.POINTER(ULiDARcloud) cloud_ptr)

Disable GPU acceleration for collision detection.

Definition at line 2347 of file ULiDARWrapper.py.

◆ doesLiDARHitDataExist()

bool pyhelios.wrappers.ULiDARWrapper.doesLiDARHitDataExist ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int index,
str label )

Check whether a named scalar data value exists for a hit point.

Definition at line 1588 of file ULiDARWrapper.py.

◆ enableLiDARCDGPUAcceleration()

None pyhelios.wrappers.ULiDARWrapper.enableLiDARCDGPUAcceleration ( ctypes.POINTER(ULiDARcloud) cloud_ptr)

Enable GPU acceleration for collision detection.

Definition at line 2340 of file ULiDARWrapper.py.

◆ exportLiDARGtheta()

None pyhelios.wrappers.ULiDARWrapper.exportLiDARGtheta ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
str filename )

Export G(theta) values for each grid cell.

Definition at line 2280 of file ULiDARWrapper.py.

◆ exportLiDARLeafAreaDensities()

None pyhelios.wrappers.ULiDARWrapper.exportLiDARLeafAreaDensities ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
str filename )

Export leaf area densities for each grid cell.

Definition at line 2273 of file ULiDARWrapper.py.

◆ exportLiDARLeafAreas()

None pyhelios.wrappers.ULiDARWrapper.exportLiDARLeafAreas ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
str filename )

Export leaf areas for each grid cell.

Definition at line 2266 of file ULiDARWrapper.py.

◆ exportLiDARLeafAreaUncertainty()

None pyhelios.wrappers.ULiDARWrapper.exportLiDARLeafAreaUncertainty ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
str filename )

Export per-voxel leaf-area sampling uncertainty to a self-describing ASCII file.

Definition at line 1867 of file ULiDARWrapper.py.

◆ exportLiDARPointCloud()

None pyhelios.wrappers.ULiDARWrapper.exportLiDARPointCloud ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
str filename,
bool write_header = True )

Export point cloud to ASCII file (optionally with a '#'-prefixed column header)

Definition at line 1859 of file ULiDARWrapper.py.

◆ exportLiDARScans()

None pyhelios.wrappers.ULiDARWrapper.exportLiDARScans ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
str filename )

Export all scans to an XML metadata file plus one ASCII data file per scan.

Definition at line 1874 of file ULiDARWrapper.py.

◆ exportLiDARTriangleAreas()

None pyhelios.wrappers.ULiDARWrapper.exportLiDARTriangleAreas ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
str filename )

Export triangle areas.

Definition at line 2259 of file ULiDARWrapper.py.

◆ exportLiDARTriangleNormals()

None pyhelios.wrappers.ULiDARWrapper.exportLiDARTriangleNormals ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
str filename )

Export triangle normal vectors.

Definition at line 2252 of file ULiDARWrapper.py.

◆ gapfillLiDARMisses()

None pyhelios.wrappers.ULiDARWrapper.gapfillLiDARMisses ( ctypes.POINTER(ULiDARcloud) cloud_ptr)

Gapfill sky/miss points.

Definition at line 2301 of file ULiDARWrapper.py.

◆ getLiDARCellBeamCount()

int pyhelios.wrappers.ULiDARWrapper.getLiDARCellBeamCount ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int index )

Get the beam count N entering a grid cell (-1 if calculateLeafArea not run).

Definition at line 2191 of file ULiDARWrapper.py.

◆ getLiDARCellCenter()

List[float] pyhelios.wrappers.ULiDARWrapper.getLiDARCellCenter ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int index )

Get center position of a grid cell.

Definition at line 1973 of file ULiDARWrapper.py.

◆ getLiDARCellGtheta()

float pyhelios.wrappers.ULiDARWrapper.getLiDARCellGtheta ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int index )

Get G(theta) value for a grid cell.

Definition at line 2287 of file ULiDARWrapper.py.

◆ getLiDARCellLADVariance()

float pyhelios.wrappers.ULiDARWrapper.getLiDARCellLADVariance ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int index )

Get the per-voxel LAD sampling variance (-1 if unavailable).

Definition at line 2212 of file ULiDARWrapper.py.

◆ getLiDARCellLeafArea()

float pyhelios.wrappers.ULiDARWrapper.getLiDARCellLeafArea ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int index )

Get leaf area of a grid cell.

Definition at line 2000 of file ULiDARWrapper.py.

◆ getLiDARCellLeafAreaConfidenceInterval()

pyhelios.wrappers.ULiDARWrapper.getLiDARCellLeafAreaConfidenceInterval ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int index,
float confidence_level = 0.95 )

Single-voxel leaf-area confidence interval.

Returns (valid, lower, upper). valid is False when the interval is gated out by the Pimont validity envelope (the bounds are then not trustworthy).

Definition at line 2223 of file ULiDARWrapper.py.

◆ getLiDARCellLeafAreaDensity()

float pyhelios.wrappers.ULiDARWrapper.getLiDARCellLeafAreaDensity ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int index )

Get leaf area density of a grid cell.

Definition at line 2007 of file ULiDARWrapper.py.

◆ getLiDARCellMeanPathLength()

float pyhelios.wrappers.ULiDARWrapper.getLiDARCellMeanPathLength ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int index )

Get the mean beam path length (m) through a grid cell.

Definition at line 2205 of file ULiDARWrapper.py.

◆ getLiDARCellRelativeDensityIndex()

float pyhelios.wrappers.ULiDARWrapper.getLiDARCellRelativeDensityIndex ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int index )

Get the relative density index I_rdi for a grid cell.

Definition at line 2198 of file ULiDARWrapper.py.

◆ getLiDARCellRotation()

float pyhelios.wrappers.ULiDARWrapper.getLiDARCellRotation ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int index )

Get azimuthal rotation of a grid cell about the z-axis, in degrees.

Definition at line 1993 of file ULiDARWrapper.py.

◆ getLiDARCellSize()

List[float] pyhelios.wrappers.ULiDARWrapper.getLiDARCellSize ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int index )

Get size of a grid cell.

Definition at line 1983 of file ULiDARWrapper.py.

◆ getLiDARGridCellCount()

int pyhelios.wrappers.ULiDARWrapper.getLiDARGridCellCount ( ctypes.POINTER(ULiDARcloud) cloud_ptr)

Get number of grid cells.

Definition at line 1966 of file ULiDARWrapper.py.

◆ getLiDARGroupLADConfidenceInterval()

pyhelios.wrappers.ULiDARWrapper.getLiDARGroupLADConfidenceInterval ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
List[int] indices,
float confidence_level = 0.95 )

Group-scale LAD confidence interval over a set of cells (recommended path).

Returns (valid, mean_lad, lower, upper).

Definition at line 2237 of file ULiDARWrapper.py.

◆ getLiDARHitColor()

List[float] pyhelios.wrappers.ULiDARWrapper.getLiDARHitColor ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int index )

Get color of a hit point.

Definition at line 1571 of file ULiDARWrapper.py.

◆ getLiDARHitCount()

int pyhelios.wrappers.ULiDARWrapper.getLiDARHitCount ( ctypes.POINTER(ULiDARcloud) cloud_ptr)

Get total number of hit points.

Definition at line 1530 of file ULiDARWrapper.py.

◆ getLiDARHitData()

float pyhelios.wrappers.ULiDARWrapper.getLiDARHitData ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int index,
str label )

Get a named scalar data value for a hit point.

Definition at line 1595 of file ULiDARWrapper.py.

◆ getLiDARHitData_all()

List[float] pyhelios.wrappers.ULiDARWrapper.getLiDARHitData_all ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
str label,
int n )

Bulk-export a named scalar data value for all hit points in one call.

Definition at line 1602 of file ULiDARWrapper.py.

◆ getLiDARHitData_all_np()

pyhelios.wrappers.ULiDARWrapper.getLiDARHitData_all_np ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
str label,
int n )

Bulk-export a named scalar field for all hits as an (n,) float32 numpy array (NaN where the label is absent for a hit).

Definition at line 1645 of file ULiDARWrapper.py.

◆ getLiDARHitDataColumn()

List[float] pyhelios.wrappers.ULiDARWrapper.getLiDARHitDataColumn ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
str label,
int n,
float absent_value = -9999.0 )

Bulk-export a named scalar column via the native cache-linear columnar path.

Faster than getLiDARHitData_all for whole-field reads (single cache-linear pass over the contiguous native column). Entries are absent_value where the label is absent for a hit. Returns a list of doubles of length min(n, hit count).

Definition at line 1660 of file ULiDARWrapper.py.

◆ getLiDARHitDataColumn_np()

pyhelios.wrappers.ULiDARWrapper.getLiDARHitDataColumn_np ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
str label,
int n,
float absent_value = -9999.0 )

Bulk-export a named scalar column as an (n,) float64 numpy array via the columnar path (absent_value where the label is absent for a hit).

Definition at line 1679 of file ULiDARWrapper.py.

◆ getLiDARHitDataColumnIndex()

int pyhelios.wrappers.ULiDARWrapper.getLiDARHitDataColumnIndex ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
str label )

Get the internal column slot index for a hit-data label (-1 if never set on any hit).

Definition at line 1671 of file ULiDARWrapper.py.

◆ getLiDARHitOrigin()

List[float] pyhelios.wrappers.ULiDARWrapper.getLiDARHitOrigin ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int index )

Get the (x,y,z) beam-emission origin of a hit point.

For moving-platform scans this is the per-pulse origin; for static scans it falls back to the single scan origin of the hit's scan.

Definition at line 1551 of file ULiDARWrapper.py.

◆ getLiDARHitRaydir()

List[float] pyhelios.wrappers.ULiDARWrapper.getLiDARHitRaydir ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int index )

Get ray direction of a hit point.

Definition at line 1561 of file ULiDARWrapper.py.

◆ getLiDARHitScanID()

int pyhelios.wrappers.ULiDARWrapper.getLiDARHitScanID ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int index )

Get the scan ID a hit point belongs to.

Definition at line 1581 of file ULiDARWrapper.py.

◆ getLiDARHitScanID_all()

pyhelios.wrappers.ULiDARWrapper.getLiDARHitScanID_all ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int n )

Bulk-export the scan ID of every hit as an (n,) int32 numpy array.

Definition at line 1690 of file ULiDARWrapper.py.

◆ getLiDARHitsXYZRGB_all()

Tuple[List[float], List[float]] pyhelios.wrappers.ULiDARWrapper.getLiDARHitsXYZRGB_all ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int n )

Bulk-export XYZ coordinates and RGB colors for all hit points in one call.

Returns a tuple (xyz_flat, rgb_flat) of flat 3*n-element lists.

Definition at line 1615 of file ULiDARWrapper.py.

◆ getLiDARHitsXYZRGB_all_np()

pyhelios.wrappers.ULiDARWrapper.getLiDARHitsXYZRGB_all_np ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int n )

Bulk-export XYZ + RGB for all hits as numpy arrays (no per-element Python).

Returns (xyz, rgb), each an (n, 3) float32 array. Much faster than the list-returning variant for million-point clouds — np.frombuffer copies the contiguous ctypes buffer in one shot.

Definition at line 1631 of file ULiDARWrapper.py.

◆ getLiDARHitXYZ()

List[float] pyhelios.wrappers.ULiDARWrapper.getLiDARHitXYZ ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int index )

Get coordinates of a hit point.

Definition at line 1537 of file ULiDARWrapper.py.

◆ getLiDARMissDistance()

float pyhelios.wrappers.ULiDARWrapper.getLiDARMissDistance ( )

Return the LIDAR_MISS_DISTANCE constant (meters).

Definition at line 1394 of file ULiDARWrapper.py.

◆ getLiDARScanAngleNoiseStdDev()

float pyhelios.wrappers.ULiDARWrapper.getLiDARScanAngleNoiseStdDev ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int scanID )

Get the angular (beam-pointing) jitter standard deviation for a scan (radians)

Definition at line 1439 of file ULiDARWrapper.py.

◆ getLiDARScanAzimuthOffset()

float pyhelios.wrappers.ULiDARWrapper.getLiDARScanAzimuthOffset ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int scanID )

Get the global scanner azimuth (heading) offset angle (radians) for a scan.

Definition at line 1354 of file ULiDARWrapper.py.

◆ getLiDARScanBeamZenithAngles()

List[float] pyhelios.wrappers.ULiDARWrapper.getLiDARScanBeamZenithAngles ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int scanID )

Get the per-channel beam zenith angles (radians) for a multibeam scan (empty for raster).

Definition at line 1368 of file ULiDARWrapper.py.

◆ getLiDARScanCount()

int pyhelios.wrappers.ULiDARWrapper.getLiDARScanCount ( ctypes.POINTER(ULiDARcloud) cloud_ptr)

Get number of scans in the cloud.

Definition at line 1401 of file ULiDARWrapper.py.

◆ getLiDARScanDetectionThreshold()

float pyhelios.wrappers.ULiDARWrapper.getLiDARScanDetectionThreshold ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int scanID )

Get the detection threshold (energy fraction, noise floor) of a scan.

Definition at line 1326 of file ULiDARWrapper.py.

◆ getLiDARScanMaxReturns()

int pyhelios.wrappers.ULiDARWrapper.getLiDARScanMaxReturns ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int scanID )

Get the maximum returns per pulse used in single/limited-return mode.

Definition at line 1298 of file ULiDARWrapper.py.

◆ getLiDARScanMode()

int pyhelios.wrappers.ULiDARWrapper.getLiDARScanMode ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int scanID )

Get the acquisition mode (0 = static raster, 1 = moving raster, 2 = spinning, 3 = Risley prism).

Definition at line 1219 of file ULiDARWrapper.py.

◆ getLiDARScanOrigin()

List[float] pyhelios.wrappers.ULiDARWrapper.getLiDARScanOrigin ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int scanID )

Get origin of a specific scan.

Definition at line 1408 of file ULiDARWrapper.py.

◆ getLiDARScanPattern()

int pyhelios.wrappers.ULiDARWrapper.getLiDARScanPattern ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int scanID )

Get the scan pattern (0 = raster, 1 = spinning multibeam).

Definition at line 1361 of file ULiDARWrapper.py.

◆ getLiDARScanPulseWidth()

float pyhelios.wrappers.ULiDARWrapper.getLiDARScanPulseWidth ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int scanID )

Get the pulse width / range resolution (meters) of a scan (0 = use syntheticScan argument).

Definition at line 1312 of file ULiDARWrapper.py.

◆ getLiDARScanRangeNoiseStdDev()

float pyhelios.wrappers.ULiDARWrapper.getLiDARScanRangeNoiseStdDev ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int scanID )

Get the range (along-beam) measurement noise standard deviation for a scan (meters)

Definition at line 1432 of file ULiDARWrapper.py.

◆ getLiDARScanReturnMode()

int pyhelios.wrappers.ULiDARWrapper.getLiDARScanReturnMode ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int scanID )

Get the return-reporting mode (0 = multi, 1 = single).

Definition at line 1270 of file ULiDARWrapper.py.

◆ getLiDARScanRevolutions()

float pyhelios.wrappers.ULiDARWrapper.getLiDARScanRevolutions ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int scanID )

Get the number of revolutions the sensor head made (spinning scans; 0 otherwise).

Definition at line 1240 of file ULiDARWrapper.py.

◆ getLiDARScanRisleyPrisms()

List[List[float]] pyhelios.wrappers.ULiDARWrapper.getLiDARScanRisleyPrisms ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int scanID )

Get the rotating wedge prisms of a Risley-prism scan.

Returns a list of [wedge_angle, refractive_index, rotor_rate, phase] entries in beam-traversal order (empty for scans that are not Risley-prism).

Definition at line 1250 of file ULiDARWrapper.py.

◆ getLiDARScanRisleyRefractiveIndexAir()

float pyhelios.wrappers.ULiDARWrapper.getLiDARScanRisleyRefractiveIndexAir ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int scanID )

Get the refractive index of the medium surrounding the prisms of a Risley-prism scan (1.0 for non-Risley).

Definition at line 1263 of file ULiDARWrapper.py.

◆ getLiDARScanRotationRate()

float pyhelios.wrappers.ULiDARWrapper.getLiDARScanRotationRate ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int scanID )

Get the sensor-head rotation rate in revolutions/second (spinning scans; 0 otherwise).

Definition at line 1233 of file ULiDARWrapper.py.

◆ getLiDARScanSingleReturnSelection()

int pyhelios.wrappers.ULiDARWrapper.getLiDARScanSingleReturnSelection ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int scanID )

Get the single/limited-return selection policy (0 = strongest, 1 = first, 2 = last, 3 = strongest+last).

Definition at line 1284 of file ULiDARWrapper.py.

◆ getLiDARScanSizePhi()

int pyhelios.wrappers.ULiDARWrapper.getLiDARScanSizePhi ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int scanID )

Get number of azimuthal scan points.

Definition at line 1425 of file ULiDARWrapper.py.

◆ getLiDARScanSizeTheta()

int pyhelios.wrappers.ULiDARWrapper.getLiDARScanSizeTheta ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int scanID )

Get number of zenith scan points.

Definition at line 1418 of file ULiDARWrapper.py.

◆ getLiDARScanStepsPerRev()

int pyhelios.wrappers.ULiDARWrapper.getLiDARScanStepsPerRev ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int scanID )

Get the number of azimuth firing steps per revolution (spinning scans; 0 otherwise).

Definition at line 1226 of file ULiDARWrapper.py.

◆ getLiDARScanTiltPitch()

float pyhelios.wrappers.ULiDARWrapper.getLiDARScanTiltPitch ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int scanID )

Get the global scanner tilt pitch angle (radians) for a scan.

Definition at line 1347 of file ULiDARWrapper.py.

◆ getLiDARScanTiltRoll()

float pyhelios.wrappers.ULiDARWrapper.getLiDARScanTiltRoll ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int scanID )

Get the global scanner tilt roll angle (radians) for a scan.

Definition at line 1340 of file ULiDARWrapper.py.

◆ getLiDARSyntheticScanMemoryBudget()

int pyhelios.wrappers.ULiDARWrapper.getLiDARSyntheticScanMemoryBudget ( ctypes.POINTER(ULiDARcloud) cloud_ptr)

Get the soft memory budget (bytes) for syntheticScan's transient buffers.

Returns the explicitly configured budget, or 0 if using the automatic path-dependent default (4 GiB CPU / 8 GiB GPU).

Definition at line 2063 of file ULiDARWrapper.py.

◆ getLiDARTriangleCount()

int pyhelios.wrappers.ULiDARWrapper.getLiDARTriangleCount ( ctypes.POINTER(ULiDARcloud) cloud_ptr)

Get number of triangles in the mesh.

Definition at line 1749 of file ULiDARWrapper.py.

◆ getLiDARTriangleVertices_all()

pyhelios.wrappers.ULiDARWrapper.getLiDARTriangleVertices_all ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int tri_count )

Bulk-export every triangle's vertices (and source scan) in one call.

Returns (xyz_flat, scan_ids) as numpy arrays: xyz_flat is (tri_count*9,) float32 laid out [v0x,v0y,v0z, v1x,v1y,v1z, v2x,v2y,v2z] per triangle, and scan_ids is (tri_count,) int32. Returns empty arrays when tri_count is 0.

Definition at line 1782 of file ULiDARWrapper.py.

◆ getLiDARTriangulationStats()

dict pyhelios.wrappers.ULiDARWrapper.getLiDARTriangulationStats ( ctypes.POINTER(ULiDARcloud) cloud_ptr)

Filter diagnostics from the most recent triangulateHitPoints() call.

Returns a dict with candidate/dropped counts. Each dropped triangle is attributed to one primary reason, so: candidates == kept + dropped_lmax + dropped_aspect + dropped_degenerate where kept equals getLiDARTriangleCount(). All zero if triangulation has not been run.

Definition at line 1763 of file ULiDARWrapper.py.

◆ initializeLiDARCollisionDetection()

None pyhelios.wrappers.ULiDARWrapper.initializeLiDARCollisionDetection ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
ctypes.POINTER(UContext) context_ptr )

Initialize CollisionDetection for ray tracing.

Definition at line 2332 of file ULiDARWrapper.py.

◆ isLiDARGPUAccelerationEnabled()

bool pyhelios.wrappers.ULiDARWrapper.isLiDARGPUAccelerationEnabled ( ctypes.POINTER(ULiDARcloud) cloud_ptr)

Return True if GPU acceleration is currently enabled for collision detection.

Definition at line 2361 of file ULiDARWrapper.py.

◆ isLiDARGPUAvailable()

bool pyhelios.wrappers.ULiDARWrapper.isLiDARGPUAvailable ( ctypes.POINTER(ULiDARcloud) cloud_ptr)

Return True if a CUDA-capable GPU is available for collision-detection acceleration.

Definition at line 2354 of file ULiDARWrapper.py.

◆ isLiDARHitMiss()

bool pyhelios.wrappers.ULiDARWrapper.isLiDARHitMiss ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int index )

Return True if the hit is a miss (a transmitted beam that returned nothing).

Definition at line 1380 of file ULiDARWrapper.py.

◆ isLiDARHitMiss_all()

pyhelios.wrappers.ULiDARWrapper.isLiDARHitMiss_all ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int n )

Bulk-export the miss flag of every hit as an (n,) int32 numpy array (1=miss).

Definition at line 1700 of file ULiDARWrapper.py.

◆ lidarCoordinateRotation()

None pyhelios.wrappers.ULiDARWrapper.lidarCoordinateRotation ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
List[float] rotation )

Rotate all hit points by spherical rotation angles.

Definition at line 1729 of file ULiDARWrapper.py.

◆ lidarCoordinateShift()

None pyhelios.wrappers.ULiDARWrapper.lidarCoordinateShift ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
List[float] shift )

Translate all hit points by a shift vecto.

Definition at line 1717 of file ULiDARWrapper.py.

◆ lidarDisableMessages()

None pyhelios.wrappers.ULiDARWrapper.lidarDisableMessages ( ctypes.POINTER(ULiDARcloud) cloud_ptr)

Disable console output messages.

Definition at line 1888 of file ULiDARWrapper.py.

◆ lidarDistanceFilter()

None pyhelios.wrappers.ULiDARWrapper.lidarDistanceFilter ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
float maxdistance )

Filter hit points by maximum distance.

Definition at line 1831 of file ULiDARWrapper.py.

◆ lidarEnableMessages()

None pyhelios.wrappers.ULiDARWrapper.lidarEnableMessages ( ctypes.POINTER(ULiDARcloud) cloud_ptr)

Enable console output messages.

Definition at line 1895 of file ULiDARWrapper.py.

◆ lidarFirstHitFilter()

None pyhelios.wrappers.ULiDARWrapper.lidarFirstHitFilter ( ctypes.POINTER(ULiDARcloud) cloud_ptr)

Keep only first return hit points.

Definition at line 1845 of file ULiDARWrapper.py.

◆ lidarHasMisses()

bool pyhelios.wrappers.ULiDARWrapper.lidarHasMisses ( ctypes.POINTER(ULiDARcloud) cloud_ptr)

Return True if the cloud contains at least one miss.

Definition at line 1387 of file ULiDARWrapper.py.

◆ lidarLastHitFilter()

None pyhelios.wrappers.ULiDARWrapper.lidarLastHitFilter ( ctypes.POINTER(ULiDARcloud) cloud_ptr)

Keep only last return hit points.

Definition at line 1852 of file ULiDARWrapper.py.

◆ lidarReflectanceFilter()

None pyhelios.wrappers.ULiDARWrapper.lidarReflectanceFilter ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
float minreflectance )

Filter hit points by minimum reflectance.

Definition at line 1838 of file ULiDARWrapper.py.

◆ lidarSetExternalTriangulation()

None pyhelios.wrappers.ULiDARWrapper.lidarSetExternalTriangulation ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
xyz_flat,
scan_ids,
int tri_count )

Replace the internal triangulation with an externally-supplied mesh.

xyz_flat is (tri_count*9,) float32 laid out [v0x,v0y,v0z, v1x,v1y,v1z, v2x,v2y,v2z] per triangle (the same layout getLiDARTriangleVertices_all exports). scan_ids is (tri_count,) int32, one required source scan per triangle. No-op when tri_count is 0.

Definition at line 1807 of file ULiDARWrapper.py.

◆ lidarTriangulateHitPoints()

None pyhelios.wrappers.ULiDARWrapper.lidarTriangulateHitPoints ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
float Lmax,
float max_aspect_ratio )

Generate triangle mesh from hit points.

Definition at line 1741 of file ULiDARWrapper.py.

◆ loadLiDARXML()

None pyhelios.wrappers.ULiDARWrapper.loadLiDARXML ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
str filename )

Load scan metadata from XML file.

Definition at line 1881 of file ULiDARWrapper.py.

◆ mock_createLiDARcloud()

pyhelios.wrappers.ULiDARWrapper.mock_createLiDARcloud ( * args,
** kwargs )

Definition at line 2369 of file ULiDARWrapper.py.

◆ mock_lidar_operation()

pyhelios.wrappers.ULiDARWrapper.mock_lidar_operation ( * args,
** kwargs )

Definition at line 2375 of file ULiDARWrapper.py.

◆ setLiDARCancelFlag()

None pyhelios.wrappers.ULiDARWrapper.setLiDARCancelFlag ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
flag )

Register an external cancellation flag polled during syntheticScan.

flag is a ctypes.c_int (pass by ref) that, when set non-zero from another thread, aborts the scan's ray loop mid-trace. Pass None to clear.

Definition at line 2041 of file ULiDARWrapper.py.

◆ setLiDARCellGtheta()

None pyhelios.wrappers.ULiDARWrapper.setLiDARCellGtheta ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
float Gtheta,
int index )

Set G(theta) value for a grid cell.

Definition at line 2294 of file ULiDARWrapper.py.

◆ setLiDARProgressCallback()

None pyhelios.wrappers.ULiDARWrapper.setLiDARProgressCallback ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
callback )

Register a progress callback fired with (progress_fraction, message) during syntheticScan.

callback must be a LiDARProgressCallback ctypes instance (or None to clear). The caller is responsible for keeping the LiDARProgressCallback alive for as long as it is registered (ctypes does not hold a reference).

Definition at line 2086 of file ULiDARWrapper.py.

◆ setLiDARScanDetectionThreshold()

None pyhelios.wrappers.ULiDARWrapper.setLiDARScanDetectionThreshold ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int scanID,
float detection_threshold )

Set the detection threshold (energy fraction, noise floor) of a scan.

Definition at line 1333 of file ULiDARWrapper.py.

◆ setLiDARScanMaxReturns()

None pyhelios.wrappers.ULiDARWrapper.setLiDARScanMaxReturns ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int scanID,
int max_returns )

Set the maximum returns per pulse used in single/limited-return mode (must be >= 1).

Definition at line 1305 of file ULiDARWrapper.py.

◆ setLiDARScanPulseWidth()

None pyhelios.wrappers.ULiDARWrapper.setLiDARScanPulseWidth ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int scanID,
float pulse_width )

Set the pulse width / range resolution (meters) of a scan (0 = use syntheticScan argument).

Definition at line 1319 of file ULiDARWrapper.py.

◆ setLiDARScanReturnMode()

None pyhelios.wrappers.ULiDARWrapper.setLiDARScanReturnMode ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int scanID,
int return_mode )

Set the return-reporting mode (0 = multi, 1 = single).

Definition at line 1277 of file ULiDARWrapper.py.

◆ setLiDARScanSingleReturnSelection()

None pyhelios.wrappers.ULiDARWrapper.setLiDARScanSingleReturnSelection ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int scanID,
int selection )

Set the single/limited-return selection policy (0 = strongest, 1 = first, 2 = last, 3 = strongest+last).

Definition at line 1291 of file ULiDARWrapper.py.

◆ setLiDARSyntheticScanMemoryBudget()

None pyhelios.wrappers.ULiDARWrapper.setLiDARSyntheticScanMemoryBudget ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
int bytes )

Set the soft memory budget (bytes) for syntheticScan's transient trace buffers.

Bounds the live ray-tracing scratch buffers so large scans are chunked rather than traced in one OOM-prone batch. bytes must be > 0; if never set, Helios uses an automatic path-dependent default (4 GiB CPU / 8 GiB GPU).

Definition at line 2053 of file ULiDARWrapper.py.

◆ setLiDARSyntheticScanProgressPointer()

None pyhelios.wrappers.ULiDARWrapper.setLiDARSyntheticScanProgressPointer ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
ptr )

Register an external per-scan progress counter polled during syntheticScan.

ptr is a ctypes.c_int (pass by ref) into which syntheticScan writes the 0-based index of the scan currently being ray-traced, set to getScanCount() when finished. Pass None to clear.

Definition at line 2074 of file ULiDARWrapper.py.

◆ syntheticLiDARScan()

None pyhelios.wrappers.ULiDARWrapper.syntheticLiDARScan ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
ctypes.POINTER(UContext) context_ptr )

Perform synthetic discrete-return LiDAR scan.

Definition at line 2021 of file ULiDARWrapper.py.

◆ syntheticLiDARScanAppend()

None pyhelios.wrappers.ULiDARWrapper.syntheticLiDARScanAppend ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
ctypes.POINTER(UContext) context_ptr,
bool append )

Perform synthetic scan with append control.

Definition at line 2029 of file ULiDARWrapper.py.

◆ syntheticLiDARScanDiscrete()

None pyhelios.wrappers.ULiDARWrapper.syntheticLiDARScanDiscrete ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
ctypes.POINTER(UContext) context_ptr,
bool scan_grid_only,
bool record_misses,
bool append )

Perform discrete-return synthetic scan with miss-recording control.

Definition at line 2096 of file ULiDARWrapper.py.

◆ syntheticLiDARScanFull()

None pyhelios.wrappers.ULiDARWrapper.syntheticLiDARScanFull ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
ctypes.POINTER(UContext) context_ptr,
int rays_per_pulse,
float pulse_distance_threshold,
bool scan_grid_only,
bool record_misses,
bool append )

Perform synthetic scan with full control.

Definition at line 2115 of file ULiDARWrapper.py.

◆ syntheticLiDARScanReturnMode()

None pyhelios.wrappers.ULiDARWrapper.syntheticLiDARScanReturnMode ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
ctypes.POINTER(UContext) context_ptr,
int rays_per_pulse,
float pulse_distance_threshold,
int return_mode,
bool scan_grid_only = False,
bool record_misses = False,
bool append = True )

Perform an analytic-waveform synthetic scan with an explicit return mode.

return_mode is 0 (multi) or 1 (single); it overrides each scan's stored returnMode for this call only. In single mode up to each scan's maxReturns returns per pulse are reported.

Definition at line 2134 of file ULiDARWrapper.py.

◆ syntheticLiDARScanWaveform()

None pyhelios.wrappers.ULiDARWrapper.syntheticLiDARScanWaveform ( ctypes.POINTER(ULiDARcloud) cloud_ptr,
ctypes.POINTER(UContext) context_ptr,
int rays_per_pulse,
float pulse_distance_threshold )

Perform synthetic full-waveform LiDAR scan.

Definition at line 2105 of file ULiDARWrapper.py.

Variable Documentation

◆ _LIDAR_FUNCTIONS_AVAILABLE

bool pyhelios.wrappers.ULiDARWrapper._LIDAR_FUNCTIONS_AVAILABLE
protected

Definition at line 871 of file ULiDARWrapper.py.

◆ addLiDARHitPoint

pyhelios.wrappers.ULiDARWrapper.addLiDARHitPoint = mock_lidar_operation

Definition at line 2384 of file ULiDARWrapper.py.

◆ addLiDARScan

pyhelios.wrappers.ULiDARWrapper.addLiDARScan = mock_lidar_operation

Definition at line 2383 of file ULiDARWrapper.py.

◆ argtypes

pyhelios.wrappers.ULiDARWrapper.argtypes

Definition at line 37 of file ULiDARWrapper.py.

◆ createLiDARcloud

pyhelios.wrappers.ULiDARWrapper.createLiDARcloud = mock_createLiDARcloud

Create LiDARcloud instance.

Definition at line 2382 of file ULiDARWrapper.py.

◆ errcheck

pyhelios.wrappers.ULiDARWrapper.errcheck

Definition at line 39 of file ULiDARWrapper.py.

◆ LiDARProgressCallback

pyhelios.wrappers.ULiDARWrapper.LiDARProgressCallback = ctypes.CFUNCTYPE(None, ctypes.c_float, ctypes.c_char_p)

Definition at line 31 of file ULiDARWrapper.py.

◆ restype

pyhelios.wrappers.ULiDARWrapper.restype

Definition at line 38 of file ULiDARWrapper.py.