AMAPVox.readme 10.80 KiB
========================
AMAPVox changes history
========================
Git commit $BUILD_NUMBER
===========
AMAPVox 1.4
Replaced internal math library by vecmath. New launcher. New Visualization tool.
# 1.4.4, 2019-10-28, TM & PhV
* Bug fixes on 3D visualisation tool
# 1.4.3, 2019-10-22, PhV
* Mixed approach for numerical estimation of the transmittance: unrestricted accuracy by default (requires to store every ray crossing a voxel) and fallback mode when memory cost is too high with limited precision.
* Updated calculation of the bias correction factor of the attenuation coefficient.
# 1.4.2, 2019-10-21, TM
* New 3D visualisation tool.
# 1.4.1, 2019-10-21, PhV
* Updated VoxtoObj export tool.
# 1.4.0, 2019-09-06, PhV
* Removed points, vectors and matrix related classes from commons-math library and replaced by vecmath library. Change not noticeable for end user.
===========
AMAPVox 1.3
New propagation algorithm that estimates directly the attenuation coefficient following F. Pimont's method. New GUI layout.
# 1.3.5, 2019-07-30, PhV
* Experimental feature: numerical estimation of the transmittance with fixed set of values from scractch. Accurate, low on memory usage, high on computational power, limited fraction digits. Big toll on computational power for limited numerical precision may lead to abandon this approach (provided that we find a better one).
# 1.3.4, 2019-07-30, TM & PhV
* Bug fixing: Profile drawing was broken since GUI update. Improved voxel file parsing error handling
* New feature: added drag and drop of voxel files for the chart drawing component.
# 1.3.3, 2019-07-25, PhV
* Experimental feature: numerical estimation of the transmittance can be splitted in intermediary estimations. Reasonnable memory usage (depends on parameters though), low computational power, unlimited fraction digits, poor accuracy. Poor accuracy will lead to abandon this approach.
# 1.3.2, 2019-07-23, PhV
* Rewrote entirely LAS/LAZ shot creation process.
# 1.3.1, 2019-07-15, TM & PhV
* New GUI layout.
# 1.3.0, 2019-07-08, PhV
* Rewrote voxelization algorithm to be fully consistent with F. Pimont's method for computing the attenuation coefficient.
===========
AMAPVox 1.2
New propagation algorithm. Improved approximated computation of the transmittance and numerical estimation of the transmittance.
# 1.2.21, 2019-07-15, PhV
* Upated inner organization of the maven project.
# 1.2.20, 2019-07-08, PhV
* New feature: shot consistency filter allows to discard shot with blank echo(es).
# 1.2.19, 2019-07-06, PhV
* New feature: new automatic merge mode - weighted mean (nSampling as weight) - set for output variables angleMean, distLaser, sdLength, attenuation and attenuation_biasCorr.
# 1.2.18, 2019-07-06, PhV
* New feature: exploration rate handled by vox file merging.
* Bug fixing: output variable bsPotential (free propagation) was not set to zero for below ground voxel.
# 1.2.17, 2019-06-27, PhV
* New output variable: exploration rate (ranging 0, 1) quantifies the sampling intensity at sub voxel scale. New user defined parameter sub voxel division.
# 1.2.16, 2019-06-27, PhV
* Bug fixing: got rid of +Inf values in attenuation output variable
* Bug fixing: output variable distLaser returned inconsistent values (too big).
# 1.2.15, 2019-06-19, PhV
* New output variables: attenuation coefficient from F. Pimont. Variable attenuation is the biased estimation. Variable attenuation_biasCorr is the correction factor. Bias corrected attenuation = attenuation - attenution_biasCorr
# 1.2.14, 2019-06-25, PhV
* Internal reorganizations. Moved AMAPVox Launcher into separate module. Updated AMAPVox packaging as AMAPVox-1.#.#.zip.
# 1.2.14, 2019-06-21, TM
* New GUI layout, with toolbar, menu, log panel, etc.
# 1.2.13, 2019-06-20, TM
* Bug fixing: the 3D visualization frame can be closed correctly, without crashing the application.
# 1.2.12, 2019-06-19, PhV
* Bug fixing: numerical estimation of the transmittance was always computed (with critical memory cost) even when the output variable was disabled.
# 1.2.11, 2019-06-18, PhV
* New output variable: mean distance to laser, the averaged distance of voxel centre to shot origin.
* New output variable: the standard deviation of the ray length distribution inside a voxel.
# 1.2.10, 2019-05-29, PhV
* Bug fixing: float precision issues in the voxelization that lead to NAN transmittance when bsEntering==bsIntercepted instead of zero.
* New feature: number of fraction digits in voxel file is user defined
# 1.2.9, 2019-05-28, PhV
* Added NetCDF3 output format for voxel file.
# 1.2.8, 2019-05-17, PhV
* Updated Voxel file merging to handle properly NaN values.
# 1.2.7, 2019-05-06, PhV
* Upated the RSP scan selector so that is handles RSP project without MON scan.
# 1.2.6, 2019-05-03, PhV
* Bug fixing: output variables angleMean, lMeanTotal, transmittance, PadBVTotal were set to zero instead of NaN in unsampled voxels. Now set to NaN.
# 1.2.5, 2019-05-03, TM & PhV
* Added feature: optional output variables.
# 1.2.4, 2019-04-12, TM
* Renamed output variables "beam volume *" into "beam surface *" (e.g. bsEntering, bsIntercepted, bsPotential).
# 1.2.3, 2019-04-05, PhV
* Fixed a bug in the computation of the output variable bvPotential, the potential beam fraction.
# 1.2.2, 2019-03-08, PhV
* Fixed command line launcher so that JavaFX is not called at all when running the application without GUI.
# 1.2.1, 2019-02-14, PhV
* Fixed command line launcher so that the application exits correctly when all task have completed.
# 1.2.0, 2018-11-16, PhV
* Rewrote entirely how a shot is propagated through the voxel space. It should not change the result from AMAPVox 1.1 in most cases but it fixes known issues for some special cases (shots with filtered, weighted or blank echoes).
===========
AMAPVox 1.1
Adressed issues in the voxelization algorithm and added new filters.
# 1.1.9, 2019-04-24, PhV
* Handled RSP project without MON file
# 1.1.8, 2019-04-24, PhV
* Renamed beam_volume_* output variables into beam_surface_*
# 1.1.7, 2019-02-14, PhV
* Updated command line launcher to exit correctly when all tasks have completed
# 1.1.6, 2019-02-13
* Secured the echo filter from CSV file to make sure that number of echoes in the shot matched the number of echoes in the CSV file and discard shot otherwise.
* Added new shot integrity filter that discards any shot whose echoes are not located at increasing distance from the source (hence discard shots with interlaid blank echoes).
# 1.1.5, 2019-01-22, PhV
* Added new output variable trNumEstim which is a numerical estimation of the transmittance with default 1E-4 precision. Feature controlled in the GUI under "Other" tab.
# 1.1.4, 2018-11-21, PhV
* The shot decimation filter from 1.1.0 induced unwanted spatial patterns. Replaced it with a random decimation, with a single parameter the decimation rate.
* Added a free propagation algorithm that propagates the shots ignoring the echoes (thus the vegetation) and saving this potential beam section in the .vox file as bvPotential variable.
# 1.1.3, 2018-11-20, PhV
* Updated the voxelisation algorithm. In version <= 1.1.2 the length of the optical ray in the voxel containing the last echo was extended until the edge of the voxel, which may lead to a sligh overestimation of the transmittance. In this version the ray stops at last echo.
# 1.1.2, 2018-11-13, PhV
* Fixed a bug in the calculation of the shot angle (some angles where NaN) and an other in the calculation of the beam section at a given distance from the source.
# 1.1.1, 2018-11-11, PhV
* Updated the transmittance approximation. The approximated transmittance was biased in AMAPVox <= 1.1.0 (not independant from voxel size) and AMAPVox 1.1.1 intents to fix this bias.
In the XML configuration file the following elements are now deprecated:
<transmittance mode="1/2" />
<path-length mode="A/B" />
* Compulsary changes in the configuration file compared to AMAPVox 1.0.2 (manual update for now)
1.0.2: <ponderation mode="0/1">
1.1.0: <ponderation byrank="false/true">
# 1.1.0, 2018-11-07, PhV
* Added new shot decimation option for the voxelisation (both ALS and TLS). Downsample any scan by an integer factor M, the decimation factor, that is, keep only every Mth shot, starting from shot index I, the offset (zero by default). Replicating voxelisations with different offset prevents from downsampling biais.
* Echo filtering by shot index and echo rank. Details below.
For single RXP scans:
AMAPVoxGUI > Voxelisation tab > Filters > Echo > By shot index and echo rank
The user can provide a CSV file (tab separator) with the following format
shotID rnk1 rnk2 rnk3 etc.
156230 1 0 0
184500 0
etc.
shotID must be an integer
Each line lists every echo and tag them with either a zero or a one.
The user sets the behavior of the filter, either "Discard" or "Retain"
In "Discard" mode 1 == discarded echo and 0 == retained echo
In "Retain" mode 1 == retained echo and 0 == discarded echo
Shots that are not listed in the CSV file are handled as usual.
For RSP projects: refert to section echo filtering and echo energy attenuation for RSP projects lower down.
* Echo energy attenuation from CSV file for the voxelisation. Details below.
For single RXP scans:
AMAPVoxGUI > Voxelisation tab > Weighting > Echo weighting from CSV file
The user can provide a CSV file (tab separator) with the following format
shotID weight
156230 0.5
173400 2.0
shotID must be an integer
The weighting factor is applied to every echo of a given shot.
This option can be enabled concurently to the "Echo weighting by rank". Both weighting options are multiplicative.
Shots not listed in the CSV file are given an attenuation factor of one (no attenuation) for this option. But the final attenuation depends on whether the "weighting by rank" option is enabled.
For RSP projects: refer to following section echo filtering and echo energy attenuation for RSP projects.
Echo filtering and echo energy attenuation for RSP projects
Both options work for RSP projects. The CSV files have a different format though:
RXP_ID CSV_File
850215_182429 850215_182429_weighting.csv
750213_181051 750213_181051_weighting.csv
750209_181255 750209_181255_weighting.csv
etc.
RXP_ID is a String, the unique file prefix of a RXP scan
CSV_FILE is the path of the echo filtering or echo weighting CSV file. Their is no naming convention for CSV_FILE. The CSV_FILE path is either absolute or relative to the CSV file.
===========
AMAPVox 1.0
First releases by Julien Heurtebize
# 1.0.2, 2018-05-04, PhV
* Minor modifications from Philippe Verley. Moved the sources back to amap-dev.cirad.fr and gathers all the dependencies into a single Maven project with multiple modules. Fixed the JOGL library for some AMD graphic cards on Linux.
# 1.0.1, 2016-05-12, JH
* First public release
# EOF