跳转至

API 参考

本页列出 LESS 3.0.5 的公开 Python API。日常使用从 import less 开始;以下名称均可从 less 顶层命名空间访问。教程负责说明完整工作流程,本页用于快速查找接口、返回类型和相关章节。

计算功能是否可用取决于安装的平台和原生后端。提交任务前可使用 less.can_use()scene.can_use() 检查;缺少实现时 LESS 会明确报错,不会静默切换到近似算法。

场景、对象与几何

API 用途
less.Scene 持久场景;管理几何、光照、后端和模拟生命周期。
less.InstanceHandle 修改已添加实例的位置、旋转和缩放。
less.Object 由一个或多个几何组件组成的场景对象。
less.Terrain 平坦地面、DEM 或网格地形。
less.Geometry 几何组件基类。
less.Mesh 显式三角网格。
less.TurbidBoundary 统计植被介质的封闭边界。
less.TurbidSampling Turbid resident leaf sample 的质量、预算和随机种子配置。
less.BoundaryValidationReport Turbid 边界验证结果。
less.TurbidBoundaryError Turbid 边界无效时的异常。

Scene 生命周期与常用操作

Scene.simulate(sensor_or_process, **kwargs)
Scene.build()
Scene.rebuild()
Scene.update_instances()
scene = less.Scene(backend="auto", device=0)
product = scene.simulate(sensor_or_process)

scene.build()                 # 可选:提前准备,未变化时复用
scene.rebuild()               # 强制重新读取几何并重建加速结构
scene.update_instances()      # 提交 InstanceHandle 的变换更新

常用公开方法:

方法 说明
Scene.add(obj, positions=..., rotations=..., scales=...) 添加一个或多个对象实例,返回 InstanceHandle
Scene.get_object(name) 按名称获取对象。
Scene.simulate(sensor_or_process, **kwargs) 必要时自动构建,然后执行模拟或过程。
Scene.measure(measurement) 执行非辐射传输的几何测量。
Scene.solve_energy_balance(...) 求解场景能量平衡。
Scene.update_property(path, property) 更新指定场景元素的属性。
Scene.apply_temperatures(product) / Scene.clear_temperatures() 应用或清除温度状态。
Scene.validate_turbid_boundaries() 验证所有 Turbid 边界。
Scene.can_use(feature, explain=False) 检查当前场景与后端是否可执行功能。
Scene.backend_info() 返回实际后端和设备信息。
Scene.inspect_recipe() 模拟成功后返回可直接转为 JSON 的工作流、组件、缓存和原生构件身份,便于诊断与复现实验。
Scene.show(...) 打开交互式场景查看器。
Scene.save(path, pack=True) / Scene.load(path) 保存和加载场景。

对象和地形常用方法包括 Object.add_component()Object.set_property()Object.get_property()Terrain.set_property()Terrain.height_at()

属性

API 用途
less.Property 属性基类。
less.OpticalVegetation 双面植被光学属性基类。
less.Lambertian 朗伯反射属性。
less.Prospect PROSPECT 叶片光学模型。
less.Fluspect 叶片反射、透射与荧光模型。
less.RPV RPV 非朗伯反射模型。
less.WaterSurface 光学深水的风浪方向反射与可选离水项。
less.CoxMunk 由 10 m 风速和风向描述的 Cox–Munk 水面斜率统计。
less.PrescribedRrs 用户给定、已去除耀斑的水面上方遥感反射率。
less.DeepWaterIOP 根据吸收与后向散射系数估算深水离水项。
less.SpectrumDB 从光谱数据库获取属性。
less.ThermalProperty 温度和长波发射率。
less.BiophysicalProperty 生理和能量平衡参数。
less.Farquhar Farquhar 光合作用与气孔导度模型。
less.Microclimate 空气温度、湿度、风速和二氧化碳等环境条件。

空间纹理输入

纹理是具名 Property 参数的空间输入,并不是独立 Property。UV、GeoTIFF、RGB、热红外和序列化的完整示例见空间纹理与属性场

API 用途
less.Texture 公共纹理声明的抽象基类。
less.ScalarTexture 每像素一个标量,例如单位为 K 的温度。
less.SpectralTexture 显式波长或元数据波长网格上的实测值。
less.RGBTexture 带显式经验光谱重建的 RGB 输入。
less.WorldXY 地理 world-X/Y 映射和栅格外策略。
Property.with_field(name, texture) 绑定一个纹理,同时保留 Property 的常量回退值。
Property.with_fields(**textures) 一次绑定多个具名纹理参数。

纹理常用控制包括 mappingfilterwrapnodatamissing_uvoutside_spectral_domainraster_bandsscaleoffsetScalarTextureSpectralTexture 还可用 class_values={类别码: 物理值} 解释土地覆盖等分类栅格。Scene 级驻留数据控制为 Scene.texture_memory_budget_bytesScene.texture_tile_size

微波域属性为 less.MicrowaveSoilless.MicrowaveVegetationless.MicrowaveTrunkless.MicrowaveDiscless.MicrowaveCylinderless.MicrowaveLeafless.MicrowaveNeedleless.MicrowaveBranch。使用前请通过 capability API 检查当前版本和后端支持情况。

光照与大气

API 用途
less.Illumination 组合大气层顶辐射源与大气模型。
less.Sun 太阳方向和 TOA 束法向光谱辐照度。
less.NoAtmosphere 真空边界:直射不衰减、无天空散射。
less.PrescribedAtmosphere 用户指定直射束透射率和水平散射透射系数。
less.SimpleSpectralAtmosphere 快速简化光谱大气。
less.HosekWilkieAtmosphere Hosek–Wilkie 方向性天空。
less.SixSAtmosphere 可选 6S 大气模型。
less.Atmosphere LESS 内置分层大气和地表—传感器传播。
less.CloudLayer 1-D 热红外云层(覆盖度混合的平面平行薄层)。
less.AtmosphericProfile 分层大气廓线。
less.AtmosphereDatabase 内置大气、气溶胶和光谱数据库。
less.AtmosphereResult 大气求解结果。
less.LibRadtranRunner 可选 libRadtran 执行器。
less.LibRadtranUnavailableError libRadtran 不可用时的异常。

完整的大气参数和单位见大气模型与地气传输

投影、传感器与仪器

投影

API 用途
less.Orthographic 正射投影。
less.Perspective 透视投影。
less.Fisheye 鱼眼投影。
less.Pushbroom 卫星或航空推扫投影。

成像与非成像传感器

API 返回产品
less.OpticalImager less.ImageProduct
less.ThermalImager less.ImageProduct
less.SIFImager less.ImageProduct
less.BRFSensor less.BRFProduct
less.RadiationFieldSensor less.RadiationFieldProduct
less.IrradianceMapSensor less.IrradianceMapProduct
less.MicrowaveRadiometer 微波辐射测量产品;使用前检查 capability。
less.RadarScatterometer 雷达散射测量产品;使用前检查 capability。
less.Instrument 仪器和多波段响应配置。

过程与测量

API 用途
less.RadiationFieldProcess 计算场景辐射状态。
less.EnergyBalanceProcess 联合求解阳叶/阴叶温度和能量通量。
less.PhotosynthesisProcess 求解光合作用和气孔导度。
less.SIFProcess 求解太阳诱导叶绿素荧光。
less.Measurement 非辐射传输测量基类。
less.LAIMeasurement 计算叶面积指数。
less.CHMMeasurement 生成冠层高度模型。

过程相关结果和错误包括 less.EnergyBalanceResultless.ComponentEnergyBalanceResultless.JointThermoPhysiologySummaryless.ConvergenceErrorless.SolveResult

LiDAR

API 用途
less.Scanner 扫描器配置。
less.Platform 平台基类。
less.Aircraftless.UAV 航空平台。
less.Tripodless.Vehicle 地面平台。
less.Waypointless.ScanPosition 航迹点和扫描位置。
less.LiDARSurvey 组合平台、扫描器和采集任务。
less.PointCloud LiDAR 点云产品。

光谱与卫星波段

API 用途
less.SpectralBands 波段集合基类。
less.DiscreteBands 任意非均匀离散波段。
less.Hyperspectral 均匀高光谱采样。
less.SRFBands 带光谱响应函数的波段。
less.gaussian_bands 由中心波长和 FWHM 构造高斯 SRF。
less.Sentinel2A Sentinel-2A 波段和 SRF。
less.Landsat8_OLI Landsat 8 OLI 波段和 SRF。
less.SpectralProfileless.SpectralBand 光谱响应描述。

产品

所有产品都携带科学数据和实际原生执行信息,并通过自身的 save()/show() 方法完成导出和显示。

API 用途
less.ImageProduct 光学、热红外或 SIF 图像。
less.InstrumentImageProduct 保留仪器波段信息的图像。
less.BRFProduct 多方向 BRF。
less.RadiationFieldProduct 三维辐射场。
less.IrradianceMapProduct 上行/下行辐照度图。
less.EnergyBalanceProduct 温度和能量通量。
less.RadiationFieldProcessProduct 辐射过程状态。
less.PhotosynthesisProcessProduct 光合速率和气孔导度。
less.SIFProcessProduct SIF 过程结果。
less.CHMProduct 冠层高度模型。
less.SceneElementRefless.SceneElementRows Mesh、Turbid 和 Terrain 的统一结果行。

Project、资源与序列化

API 用途
less.Project 管理场景、命名传感器、资源和任务快照。
less.ProjectValidationReportless.ValidationIssue 工程验证结果。
less.SnapshotInfo 远程任务快照信息。
less.ProjectResourceless.ResourceRegistry 工程资源和校验和管理。
less.load_scene 从文件加载场景。

Project 的主要方法包括 create()open()add_sensor()build()simulate()validate()save()pack()export_snapshot()。详见Scene 与 Project

场景生成与辅助工具

API 用途
less.place 网格、随机和泊松盘实例布置。
less.asset_path 按文件名定位随包分发的示例网格。
less.CrownGeneratorless.CrownShapeless.LeafAngle 参数化树冠生成。
less.SunPositionless.compute_sun_positionless.compute_day_of_year 太阳位置计算。
less.SolarSpectrumless.SpectrumLibraryless.MaterialDB 太阳、材料和光谱数据库。

后端、功能检查与异常

API 用途
less.list_backends 列出可发现的后端。
less.list_backend_features 列出功能名称。
less.available_features 列出当前环境可执行的功能。
less.can_use 判断功能是否可执行。
less.feature_status 返回功能状态和原因。
less.backend_capability_matrix 返回后端能力矩阵。
less.BackendFeatureless.BackendFeatureStatusless.BackendInfo 功能和设备信息类型。
less.BackendUnavailableError 请求的后端不可用。
less.BackendFeatureUnavailableError 请求的原生功能不可用且未执行 fallback。

公开 API 边界

本参考只包含用户可直接调用的接口。以下内容属于实现细节,不是公开 API:以下划线开头的名称、_native_optix_native_vulkan_native_embree、native scene manager、GPU buffer、artifact validator 和 debug hook。用户代码不应导入或依赖这些对象。

相关教程