Skip to content

Releases: 3dgeo-heidelberg/helios

Version 2.0.0

10 Dec 12:45
a3014fb
Compare
Choose a tag to compare

🎁 Christmas release of HELIOS++ 🎄

HELIOS++ is now on conda-forge: https://anaconda.org/conda-forge/helios 🎉

The new recommended way to install HELIOS++ is via the conda or mamba package managers. We recommend mamba or micromamba.

mamba install -c conda-forge helios
or
conda install -c conda-forge helios

Alternatively, you can choose the appropriate standalone installer for your operating system from the assets below. This will install HELIOS++ and add two start menu shortcuts:

  • Helios++ Terminal Session
  • Helios++ Jupyter Session

Changelog:

  • New modernized CMake build system that allows Python packaging
    • Works on Windows, MacOS (not officially supported) and Linux
    • HELIOS++ is on conda-forge and also comes with standalone installers
  • Possibility to specify multiple asset directories to locate both packaged and user supplied XMLs
  • New regression testing framework
  • Extended support for dynamic scenes: swap on repeat. Check out the documentation in the Wiki and example 16 of our gallery.
  • Several bug and memory leak fixes

This release is also published on zenodo with the following DOI:

DOI

Version 1.3.0

31 Oct 13:33
86504c4
Compare
Choose a tag to compare

🦇 Halloween release of HELIOS++

Changelog:

  • HELIOS++ now supports simulation of dynamic scenes. Check out the documentation in the Wiki, example 14 and example 15 of our gallery and our new Blender add-ons to export animations from Blender to HELIOS++.
  • Fix: We solved a wrong line-box check that is now a ray-box check. We also updated the early abort check to consider the intersection time of each single subray instead of using the time of the central ray for each subray.
  • Fix: We improved the performance through dynamic programming to speed-up the subray direction computation. On top of that, we improved the memory handling of two key components: the ray tracing algorithm and the Gaussian fit for the fullwave simulation.
  • Fix: Disabling export to file works now.
  • Fix: helios.py: Conversion of all polygons to triangles for o3d visualisation works now.
  • Fix: Docker image - Compilation is now done using the proper Python version.

The Windows and Ubuntu-binaries include pyhelios files for Python 3.6-3.10. By default, Python 3.8 is activated. To change, you need to replace the _pyhelios.pyd/_pyhelios.so-File in the run folder with the respective file corresponding to your version.

On Ubuntu, the run folder has to be added to your LD_LIBRARY_PATH to tell dynamic link loader where to look for dynamic shared libraries. This can be done with export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"path/to/helios/run". We wrote the necessary commands into a shell script, so you just need to run . ./heliosShell.sh from the helios root folder.

This release is also published on zenodo with the following DOI:

DOI

Version 1.2.0

28 Feb 09:40
1aab8e6
Compare
Choose a tag to compare

New release of HELIOS++

Changelog:

  • Added support for trajectory input. An existing trajectory (incl. attitude) file (ASCII) can be specified, and HELIOS++ will follow this trajectory. See this example notebook or this example survey and the Wiki for more details.
  • Multi-channel Scanners are now supported. Have a look at our example notebooks for the Livox Mid-100 and the Velodyne Puck
  • Documentation: Gallery of examples showcasing features of HELIOS++ and explaining concepts and applications (notebooks, surveys). Find the gallery in the README.md and in the Wiki
  • New parameters verticalResolution_deg and horizontalResolution_deg in the scannerSettings (survey XML) for scanners with "rotating" deflectors (e.g., terrestrial laser scanners by RIEGL). These can be used alternatively to scanFreq_hz and headRotatePerSec_deg and simplify survey configurations.
  • Output directory is now output/[survey_name] by default. (Survey Playback was removed). It can be set to a different path using --output [new_path] on the command line or with the .setOutputDir(outputDir) method of a SimulationBuilder object in pyhelios.
  • Output path can be obtained in pyhelios from the sim.join() function, which now returns an object with measurements, trajectories and, if simBuilder.setFinalOutput(True) was set, outpaths (containing a string vector with the paths to all simulated point clouds) as well as outpath (containing the path to the last simulated point cloud).
  • Improved error message when attempting to load invalid OBJ files: Will now specify the Filename and Triangle ID, omit the offending obj object and resume simulation instead of crashing.
  • Fixed bugs related to --lasOutput and --las10 versions as well as merging of flight strips by setting <leg id="00"> or similar.
  • Solved a few minor bugs
  • Implemented some minor improvements

The Windows and Ubuntu-binaries include pyhelios files for Python 3.6-3.10. By default, Python 3.8 is activated. To change, you need to replace the _pyhelios.pyd/_pyhelios.so-File in the run folder with the respective file corresponding to your version.

On Ubuntu, the run folder has to be added to your LD_LIBRARY_PATH to tell dynamic link loader where to look for dynamic shared libraries. This can be done with export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"path/to/helios/run".

This release is also published on zenodo with the following DOI:

DOI

Version 1.1.0

15 Mar 09:19
0d750ac
Compare
Choose a tag to compare

New release of HELIOS++

Changelog:

  • New kD-Tree Options:
    we now support 4 different kD-Tree building strategies with the --kdt command line parameter. The accepted values are: 1 for the simple KDTree based on median balancing, 2 to the SAH (surface area heuristics) based KDTree, 3 for the SAH with best axis criteria, and 4 (the new default) to the fast approximation of SAH. Additional parameters can be tuned depending on the KDTree, depending on the choice of strategy. Note that the results are consistent, only the speed is influenced. You can expect a study on the runtimes in the next months.
  • Fixed an error when providing a fixed seed for the DetailedVoxel model
  • Fixed errors with the python bindings and in docker
  • Cleaned CI build and enabled automatic tests using pytest
  • python scripts reordering; Note that the pyhelios.so/pyd has been moved to the pyhelios directory, which was merged with pyheliostools. From the HELIOS++ root directory, a
    from pyhelios import ... should be used in the future. This namespace collects the C++ bindings (in _pyhelios.so/.pyd), the original pyheliostools (now pyhelios.tools) and utility scripts (pyhelios.util). Example scripts on how to run pyhelios have been moved to example_scripts and example_notebooks, respectively.

The Windows and Ubuntu-binaries include pyhelios files for Python 3.6-3.9. By default, Python 3.8 is activated. To change, you need to replace the _pyhelios.pyd/_pyhelios.so-File in the run folder with the respective file corresponding to your version.

On Ubuntu, the run folder has to be added to your LD_LIBRARY_PATH to tell dynamic link loader where to look for dynamic shared libraries. This can be done with export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"path/to/helios/run".

This release is also published on zenodo with the following DOI:

DOI

Version 1.0.9

12 Oct 14:21
61c0b49
Compare
Choose a tag to compare

New summer release of HELIOS++ 🏖🏝

Changelog:

  • Fullwave files are now written with correct time information. The timespan from first to last bin divided by the number of fullwave bin entries is the bin size in ns.
  • python converter from .txt fullwave to .wdp added. This script requires laspy to be installed.
  • simple primitives demo added, option to compile HELIOS++ with visualizer
  • squashing a number of bugs
  • optimized libraries required/delivered with the executable (download size reduced)
  • windows executables are now digitally signed (Fingerprint f64ce1929f2e63eb8e5103ebac0b649a9fa85eda)

The windows binaries include pyhelios files for Python 3.6-3.9. By default, Python 3.8 is activated. To change, you need to replace the pyhelios.pyd-File in the run folder with the respective file corresponding to your version.

This release is also published on zenodo with the following DOI: DOI

Version 1.0.8

02 Jun 15:15
70b018e
Compare
Choose a tag to compare

New release of HELIOS++

Changelog:

  • Fixed effective point measurement rate with rotating polygon mirrors (#39). Note the changes to the scanner xml files.
  • Changed default LAS version to 1.4 (use --las10 to write v1.0 files as before) (#40)
  • GPSTime is now starting with the start of simulation (as seconds since last Sunday, midnight) and running in simulated time as opposed to real time. This means, trajectory speed can be estimated from the GPSTime and the position in the Trajectory files (#43)

The windows binaries include pyhelios files for Python 3.6-3.9. By default, Python 3.8 is activated. To change, you need to replace the pyhelios.pyd-File in the run folder with the respective file corresponding to your version.

This release is also published on zenodo with the following DOI: DOI

Version 1.0.6

09 Apr 11:49
Compare
Choose a tag to compare

Easter release of HELIOS++!

Changelog:

  • Added slowdownEnabled, smoothTurn and yawAtDeparture (for leg) and template (for scannerSettings) to pyhelios
  • Merged Risley prism scanners (PR from @rockz-lab) used to simulate LiVOX scanners
  • Added Parameter for specifying maximum number of returns per pulse (maxNOR) in scannerSettings
  • Improved error messages when parsing files
  • Added Easter eggs in toyblocks demo scene. Run with run/helios.exe data/surveys/toyblocks/als_toyblocks.xml

The windows binaries include pyhelios files for Python 3.6-3.9. By default, Python 3.8 is activated. To change, you need to replace the pyhelios.pyd-File in the run folder with the respective file corresponding to your version.

This release is also published on zenodo with the following DOI: DOI

Version 1.0.3

03 Feb 15:26
Compare
Choose a tag to compare

New precompiled version of HELIOS++ available

Changelog:

  • Rotations for the Muliticopter turn mode smoothTurn=True updated and corrected
  • efilepath argument can now be used when loading XYZ point clouds (wildcard support)
  • pyhelios simulation copies will now keep the zipOutput flag
  • more settings are now available from pyhelios (trajectoryTimeInterval, verticalAngleMin/Max?)
  • pyhelios now allows loading of GeoTIFFs
  • pyhelios_script.py has been improved and can now handle GeoTIFFs

This release is also published on zenodo with the following DOI: DOI

UPDATE: You can now use pyhelios on Windows precompiled for different 64-bit python versions - just replace the pyhelios.pyd in the run directory with the one corresponding to your python version.

Version 1.0.0

20 Jan 15:58
Compare
Choose a tag to compare

First public release of HELIOS++.

HELIOS++ releases come with a compiled version of the Wiki, available in the "wiki" subfolder. We recommend this as a starting point for new users, or users wanting to adapt existing HELIOS projects to HELIOS++.

For Windows, download and extract "helios-plusplus-win.zip", for Linux download and extract (tar -xzvf helios-plusplus-lin.tar.gz) "helios-plusplus-lin.tar.gz".

This version is also released on zenodo with the following DOI: DOI