Scanners and platforms
[1]:
import helios
Predefined
HELIOS++ comes with a list of predefined scanners and platforms:
[2]:
helios.list_scanners()
[2]:
['leica_als50',
'leica_als50_ii',
'optech_2033',
'optech_3100',
'optech_galaxy',
'riegl_lms_q560',
'riegl_lms_q780',
'riegl_vq_780i',
'riegl_vux_1uav',
'riegl_vux_1uav22',
'riegl_vux_1ha22',
'riegl_vq_880g',
'riegl_vq_1560i',
'livox_mid70',
'livox_mid100',
'livox_mid100a',
'livox_mid100b',
'livox_mid100c',
'dji_zenmuse_l2_repetitive',
'dji_zenmuse_l2_non_repetitive',
'riegl_vz_400',
'riegl_vz_1000',
'riegl_vz_2000i',
'riegl_vz_600i',
'riegl_vq_450',
'livox_mid40',
'livox_mid70_tls',
'vlp16',
'velodyne_hdl_64e',
'tractor_scanner',
'pano_scanner']
[3]:
helios.list_platforms()
[3]:
['sr22',
'quadcopter',
'copter_linearpath',
'tractor',
'tractor_leftside',
'vehicle_linearpath',
'vmx_450_car_left',
'vmx_450_car_right',
'vmq_1ha_car',
'simple_linearpath',
'tripod']
A scanner and platform can then be selected by name:
[4]:
scanner = helios.scanner_from_name("riegl_vz_600i")
platform = helios.platform_from_name("tripod")
Custom
To use custom scanners and platforms, these have to be defined in an XML file (see Scanners and platforms) and then loaded from this XML. A custom scanner can then be instantiated like this:
[5]:
my_scanner_file = "../data/test/test_scanners.xml"
custom_scanner = helios.Scanner.from_xml(my_scanner_file, scanner_id="livox-mid-100a")