Releases: 3dgeo-heidelberg/helios
Version 2.0.2
Changelog
- Fixed a bug where no echoes were returned on faces of an input mesh which were too tiny (decimal precision issue)
Non-code changes
- Remove
dev
branch and makemain
the default (moving from sth. like GitFlow to sth. closer to GitHub Flow) - Add CONTRIBUTING.md
- Add coverage testing
This release is also published on zenodo with the following DOI:
SHA256 Checksums
3c1049450b4b3f82eb2585e26d3327e87b2731e81129d2048b2d917a0064f507 helios-2.0.2-Windows-x86_64.exe
e0b7ac5870b64e890ae4e1b0ba15d4660d54fd2e8810deabbbec01fe47fdd249 helios-2.0.2-Linux-x86_64.sh
212426390439e75a32fea37490a987fce1c0aab3188df9e018b1bdda77d4c2df helios-2.0.2-MacOSX-x86_64.sh
5d455ad0d8d3ad5e03589c8bb9f34ee8b397136df734e2262ee43dc2009d62c5 helios-2.0.2-MacOSX-arm64.sh
Version 2.0.1
Changelog
- Fixed a bug where scene parts were not loaded when an absolute rather than a relative file path was specified
- New warning for
helios-live
ifnumpy
v2 is mixed withopen3d
- New Dockerfile and publication mechanism (automated in CI)
This release is also published on zenodo with the following DOI:
SHA256 Checksums
ab6d16e8036bd40a4565f920029261ccf6f06ec60f83222f8d639cf792b8ffd7 helios-2.0.1-Windows-x86_64.exe
5043d37fd15e96d320ec3647353a02a7430578b60c779b654bdf3483a346831a helios-2.0.1-Linux-x86_64.sh
fde2011cdaed75c2880e3d20c4256a939b328711afacab07c3347bb043f921e1 helios-2.0.1-MacOSX-x86_64.sh
9f86f05bfdbf51185c45c7d4e2eefdb1c3f2dba3921639bb20a7252bdd9d556f helios-2.0.1-MacOSX-arm64.sh
Version 2.0.0
🎁 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:
Version 1.3.0
🦇 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:
Version 1.2.0
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
andhorizontalResolution_deg
in thescannerSettings
(survey XML) for scanners with "rotating" deflectors (e.g., terrestrial laser scanners by RIEGL). These can be used alternatively toscanFreq_hz
andheadRotatePerSec_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 aSimulationBuilder
object in pyhelios. - Output path can be obtained in pyhelios from the
sim.join()
function, which now returns an object withmeasurements
,trajectories
and, ifsimBuilder.setFinalOutput(True)
was set,outpaths
(containing a string vector with the paths to all simulated point clouds) as well asoutpath
(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:
Version 1.1.0
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, and4
(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 thepyhelios
directory, which was merged withpyheliostools
. 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 originalpyheliostools
(nowpyhelios.tools
) and utility scripts (pyhelios.util
). Example scripts on how to runpyhelios
have been moved toexample_scripts
andexample_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:
Version 1.0.9
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:
Version 1.0.8
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:
Version 1.0.6
Easter release of HELIOS++!
Changelog:
- Added
slowdownEnabled
,smoothTurn
andyawAtDeparture
(forleg
) andtemplate
(forscannerSettings
) 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
) inscannerSettings
- Improved error messages when parsing files
- Added Easter eggs in
toyblocks
demo scene. Run withrun/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:
Version 1.0.3
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:
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.