{ "cells": [ { "cell_type": "markdown", "id": "d4d7b13d", "metadata": {}, "source": [ "# Scanners and platforms" ] }, { "cell_type": "code", "execution_count": 1, "id": "3f0de74f", "metadata": {}, "outputs": [], "source": [ "import helios" ] }, { "cell_type": "markdown", "id": "40808524", "metadata": {}, "source": [ "## Predefined\n", "\n", "HELIOS++ comes with a list of predefined scanners and platforms:" ] }, { "cell_type": "code", "execution_count": 2, "id": "59298614", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['leica_als50',\n", " 'leica_als50_ii',\n", " 'optech_2033',\n", " 'optech_3100',\n", " 'optech_galaxy',\n", " 'riegl_lms_q560',\n", " 'riegl_lms_q780',\n", " 'riegl_vq_780i',\n", " 'riegl_vux_1uav',\n", " 'riegl_vux_1uav22',\n", " 'riegl_vux_1ha22',\n", " 'riegl_vq_880g',\n", " 'riegl_vq_1560i',\n", " 'livox_mid70',\n", " 'livox_mid100',\n", " 'livox_mid100a',\n", " 'livox_mid100b',\n", " 'livox_mid100c',\n", " 'dji_zenmuse_l2_repetitive',\n", " 'dji_zenmuse_l2_non_repetitive',\n", " 'riegl_vz_400',\n", " 'riegl_vz_1000',\n", " 'riegl_vz_2000i',\n", " 'riegl_vz_600i',\n", " 'riegl_vq_450',\n", " 'livox_mid40',\n", " 'livox_mid70_tls',\n", " 'vlp16',\n", " 'velodyne_hdl_64e',\n", " 'tractor_scanner',\n", " 'pano_scanner']" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "helios.list_scanners()" ] }, { "cell_type": "code", "execution_count": 3, "id": "3bbf57f4", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['sr22',\n", " 'quadcopter',\n", " 'copter_linearpath',\n", " 'tractor',\n", " 'tractor_leftside',\n", " 'vehicle_linearpath',\n", " 'vmx_450_car_left',\n", " 'vmx_450_car_right',\n", " 'vmq_1ha_car',\n", " 'simple_linearpath',\n", " 'tripod']" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "helios.list_platforms()" ] }, { "cell_type": "markdown", "id": "00fb35d8", "metadata": {}, "source": [ "A scanner and platform can then be selected by name:" ] }, { "cell_type": "code", "execution_count": 4, "id": "4121da73", "metadata": {}, "outputs": [], "source": [ "scanner = helios.scanner_from_name(\"riegl_vz_600i\")\n", "platform = helios.platform_from_name(\"tripod\")" ] }, { "cell_type": "markdown", "id": "5b3169d1", "metadata": {}, "source": [ "## Custom\n", "\n", "To use custom scanners and platforms, these have to be defined in an XML file (see [Scanners and platforms](scanners_platforms.rst)) and then loaded from this XML. A custom scanner can then be instantiated like this:" ] }, { "cell_type": "code", "execution_count": 5, "id": "7de75de7", "metadata": {}, "outputs": [], "source": [ "my_scanner_file = \"../data/test/test_scanners.xml\"\n", "custom_scanner = helios.Scanner.from_xml(my_scanner_file, scanner_id=\"livox-mid-100a\")" ] } ], "metadata": { "kernelspec": { "display_name": "helios-dev-alpha", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.14.2" } }, "nbformat": 4, "nbformat_minor": 5 }