Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

BayesStripAlign Software Updates

3,342 views
Skip to first unread message

André Jalobeanu

unread,
Mar 13, 2016, 6:24:40 PM3/13/16
to bayesm...@googlegroups.com
BayesStripAlign - new versions and builds (change log)
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted

André Jalobeanu

unread,
Mar 17, 2016, 2:45:58 PM3/17/16
to BayesMap software users
Version 1.2 Build 02/10/16 (first build)
  • Improved reliability of swath intersection computation in the calibration module
  • Improved reliability of parameter estimation in certain cases
  • Added -mul_gsd option to multiply automatic GSD by a factor to speed up computations
  • Upgraded calibration algorithm to work with forward/backward looking scanners, e.g. Riegl Q1560
  • Improved automatic projected coordinate detection
  • Rewritten flight line direction filtering algorithm that uses tolerance value to select the dominant group of approx. parallel lines
  • Added -ref_dir option to allow the user to specify which group of parallel swaths to process, in case there are multiple groups
  • Upgraded quality measure for time ordering in LAS files
  • Updated uniform corrections to handle forward/backward looking scanners
  • Improved accuracy of geometric transformations related to IMU/BODY rotations
  • Upgraded calibration algorithm to estimate scan angle scale
  • Added -multi options to distinguish between multichannel and relative corrections
  • Optimized multichannel corrections by integrating rigorous calibration corrections and local corrections in same step
  • Updated relative and multichannel corrections to allow for more inputs than reference swaths, with warning
  • Updated output of calibration algorithm to include parameter correlations
  • Added option -po_weeksec to select GPS timestamp type in position/orientation (week seconds vs. adjusted)
  • Improved indexing efficiency by managing identical file names in different directories
  • X-leverarm estimation can be disabled now in drift calibration, with -x option
  • Improved convergence and reliability of method that computes optimal local corrections from registration parameters, implemented new algorithm
  • Added constraint on sum of rotations to avoid unwanted rotations and over-corrections when insufficient prior information is available
  • Enhanced registration in low-density areas by adding algorithm with fewer parameters
  • Improved reliability of enabling/disabling bias correction (local correction computation)
  • Fixed reliability issues related to special cases in optimization algorithms
  • Fixed issues with GCP absolute accuracy checking when one of the tiles is empty
  • Upgrading local corrections for better accuracy of scan angle scale compensation in non-nadir cases
  • Fixed minor issue in QC reports
  • Improved multi-threading in reading data for absolute calibration, significant speed-up if many intersecting swaths
  • Fixed issue with empty sub-tiles in difficult convergence cases
  • Changed definition of roughness threshold, now defined per GSD unit

André Jalobeanu

unread,
Mar 17, 2016, 2:46:32 PM3/17/16
to BayesMap software users
Version 1.2 Build 02/19/16
  • Increased maximum tolerance bounds for trajectory non-linearity to accommodate less straight flight lines
  • Improved automation: implemented rejection mechanism for trajectories (and related swaths) not passing quality requirements (too curved, not parallel) without stopping
  • Rejected swaths now logged to swaths_rej.log
  • Added accuracy estimate to calibration output (screen display)
  • Added new options to create hill-shaded quality control maps instead of z-differences, use -shade to activate, -shade_ai to set azimuth and incidence of lighting, and -checker to use a checkerboard pattern
  • Improved reliability of file timestamp reading on certain windows systems

André Jalobeanu

unread,
Mar 17, 2016, 2:48:25 PM3/17/16
to BayesMap software users
Version 1.2 Build 02/19/16
  • Added Leica SOL reader (reads Leica IPAS trajectory files)
  • Implemented support for non-metric units (feet), new option -feet to specify the data are in feet, convert input parameters (always metric) accordingly
  • Correct units (feet/miles) shown on screen messages if data are in feet
  • Fixed a bug in the text format trajectory reader that led to incompatible time stamp error messages
  • Fixed crash triggered by rejected trajectory files, now stopping with correct error message

André Jalobeanu

unread,
Mar 17, 2016, 2:49:52 PM3/17/16
to BayesMap software users
Version 1.2 Build 03/15/16
  • Added Terrascan TRJ reader (reads projected trajectory files generated by Leica CloudPro)
  • Added option -e or -exclude to manually remove some swaths from the input data, which was possible before but required complicated user input (list of all input files)
  • Implemented automatic GPS week seconds to adjusted GPS time correction
  • Can now handle different GPS times in LiDAR data and trajectory files and avoid rollover issues
  • New option -gps_date to manually specify the date to force the GPS week for adjusted GPS time conversion from week seconds
  • Optional GPS week determination from date stored in file, for Riegl POF trajectory format
  • Updated local correction computation, fixed parameter estimation issue, better corrections in some cases
  • Updated indexing algorithm to better handle origins and avoid unnecessary reindexing
  • Converted error to warning messages for ignored trajectory files
  • Fixed a bug affecting project origin computation when swaths are rejected
  • Updated timestamp scanning code to throw an error if points are not ordered by time and -t0 option not used
  • Upgraded tiling code to include an adjusted GPS time flag an allow for fast timestamp scanning when tiles exist

André Jalobeanu

unread,
Apr 22, 2016, 1:31:14 AM4/22/16
to BayesMap software users
Version 1.2 Build 04/21/16
  • Fixed a major issue with translation drifts affecting the absolute accuracy of corrected swaths, when running the alignment module on a large numbers of swaths (>10)
  • Now using option -gps_err to enforce GPS accuracy prior and control drifts
  • New option -adj_unc to automatically adjust uncertainties (which can be sometimes underestimated), and thus enforce GPS accuracy prior and avoid drifs (activated by default)
  • Major GPS timestamp upgrade to allow for multiple groups, each with a different GPS week
  • Option -g removed, now using multiple -i to enter different groups
  • Each group should now have a separate option for related PO files (see documentation)
  • Multiple manual GPS dates allowed if only weekseconds are available (LiDAR and PO data), instead of single one for all the data (single is still possible)
  • More flexibility in timestamps (warning instead of error if wrong type is detected)
  • Added automatic interpolation of registration parameter values, when there is not enough data or the quality is insufficient 
  • Outlier filtering to remove suspicious registration parameter values now disabled by default, use with care as it can remove information
  • Improved multicore reliability of output text messages
  • Added warning if no GCP could be read and a file is provided

André Jalobeanu

unread,
Sep 20, 2016, 1:51:35 PM9/20/16
to bayesm...@googlegroups.com
Version 1.3 Build 09/19/16 (first build)

  • New generic internal geometry model that handles sensor non-linearity more effectively and provides significantly more accurate corrections for certain LiDAR scanners
  • Input file format, command line options, and output files related to internal parameters updated accordingly
  • Uniform corrections can now be done with both generic and legacy scan angle and range scale/offset models
  • Removed options -theta_so and -range_so as they are no longer needed, added options -eps -mu -eps_diff -mu_diff for new generic internal parameters
  • Fixed vertical flipping issue in QC maps (z-difference images were upside down), and related world files
  • Division by 0 when .seg files are missing fixed
  • New user-readable absolute quality control reports: summary abs QC, swath list, columns of aqc file, appended aqc file, z-differences added
  • Fixed issue with swath sorting in some cases (irregular flight line segment lengths) affecting swath overlap detection
  • Improved reliability of iterative optimization, avoids stopping execution when convergence fails
  • Automatic weeksecond time rollover correction for trajectory files
  • New option -utm to fix the UTM zone, allowing correct processing across UTM zone boundaries
  • Updated LAS class-based ground filtering to allow the user to specify a custom class list with -D
  • Added LAS class 18 to default -f ground filtering option
  • Fixed error message when projection issues cause apparent GPS time error
  • Added file list capability to address the Windows command line 8191-character limit, user can now specify lists of files (LiDAR, trajectory) instead of file names, or use both
  • New LiDAR file list options: -l for each group of regular inputs, -ref_list for references, -exclude_list for excluded inputs
  • New trajectory file list options: -sbet_list -pof_list -sol_list -trj_list -potxt_list
  • Fixed minor issues: incorrect displayed point density and number of points when ground filtering is enabled, now works fine if tiling is enabled
  • Tiling option is now enabled by default (points are not assumed time-ordered)
  • Trajectory and LiDAR data file matching are now performed independently for each group
  • Fixed GPS week computation error when data and trajectory start different weeks, now automatic weeksecond time correction is more reliable
  • Added multi-channel within single file capability, now reading LAS 1.4 channel information, new options -ch and -ch_ref
  • Now allowing duplicate file names if target and reference channels are different
  • Solved issue with output file extensions -otxt and -olaz not behaving as expected
  • Added built-in color JPEG z-difference map export with option -J, jpeg quality can be set with -Q
  • Color scheme can be set with -K (4 color and 1 grayscale available now)
  • The software exports a JPEG color box (bottom is min, top is max) if JPEG output is enabled
  • TIFF and JPEG QC maps can be used at the same time, and world files can be generated for both (option renamed -owf)
  • Replaced option -dzmap_step with -dzmap_range easier to use
  • Improved LAS 1.4 compatibility for point filtering (channel, class, last returns)
Message has been deleted

André Jalobeanu

unread,
Oct 7, 2016, 2:08:46 PM10/7/16
to BayesMap software users
Version 1.3 Build 10/07/16

  • Now allowing multiple reference groups (fixed point clouds), instead of a single one
  • Fixed error triggering "multiple PO formats" error message when same format, multiple PO files or groups
  • Fixed issue preventing the merging of multiple footprint files into a single one
  • Minor updates in I/O interface to better handle error messages in log files
  • Addressed several issues related to the new LAS 1.4 channel selection capability
  • Fixed ssrp reader bug preventing reading of excluded LAS class list
  • Failure to read LAS data now stops swath correction process faster

André Jalobeanu

unread,
Jan 2, 2018, 2:39:38 PM1/2/18
to BayesMap software users
Version 2.0 beta available for existing clients. Please contact us if you have not received an email with a link. 

André Jalobeanu

unread,
Jan 11, 2018, 10:49:25 PM1/11/18
to BayesMap software users
Version 2.0 beta new build 1/11/2018
- vector prior (for automatic prior not -E) for better stability
- new option -keep_synthetic (default 0) to keep points with synthetic LAS flag

André Jalobeanu

unread,
Feb 5, 2018, 2:36:34 AM2/5/18
to BayesMap software users
Version 2.0 is available now! 
It is now in the Current directory. 

The manual is coming very soon... completed, needs proofreading. Thank you for your patience!

André Jalobeanu

unread,
Feb 16, 2018, 7:50:39 PM2/16/18
to BayesMap software users
Version 2.0 Build 02/16/18

  • Correction string added to GCP report
  • UAV option disables BF/ICS error, replaces with warning due to irregular point density
  • GSD replaced with Grid GSD to avoid confusion with LiDAR GSD
  • New option -ot to update LAS timestamps (default: disabled)
  • New option -oa to reconstruct and update LAS scan angles (default: disabled)
  • Fixed bug related to point filtering and LAS time interval causing loss of points during correction
  • Added full path to PO stat file
  • Updated roughness image range to match roughness filter (2.0) and removed range option
  • Overriding POF time unit and time format (bogus)
  • Now allowing LiDAR file output without geometric correction if time or scan angle update enabled
  • Added support for non-UTM Transverse Mercator trajectory projection using WKT file, added option -wkt 



André Jalobeanu

unread,
Feb 21, 2018, 2:36:50 PM2/21/18
to BayesMap software users
Version 2.0 Build 02/20/18

  • Added support for LAS scan angle repair (keeping internal angle export as another option)
  • Warning/Error messages minor updates
  • Fixing -wkt and -arg options to accept absolute paths
  • Fixed file names referenced in GCP reports
  • Updated correction string to include timestamps and scan angle repair

André Jalobeanu

unread,
Feb 23, 2018, 10:42:42 PM2/23/18
to BayesMap software users
Version 2.0 Build 02/23/18
  • Added new option -olax to create LAS index on the fly in LAX format, faster than running lasindex on corrected files
  • Recompiled LASlib DLL to include lasindex - please update!

André Jalobeanu

unread,
Mar 7, 2018, 2:02:31 PM3/7/18
to BayesMap software users
Version 2.01 Build 3/6/18
  • PO data no longer needed for fixed swath groups: number of PO groups must match number of mobile swath groups
  • Group numbers added to stratified GCP stats, GCP report, GCP list
  • Fixed swaths no longer used for GCP stats
  • New option -gcp_equal (off by default) to treat GCPs equally for stat computation instead of using a roughness-derived weight
  • Group information now exported into ASCII files (footprints, bounding boxes, ICS stats and plots, etc.)
  • Now accepting multiple option files with -opt
  • New option -mean (on by default) to cancel global mean correction vector: uniform shift equivalent of warp
  • Fixed tile boundary artifacts in gridding, visible at -sub 1 and -sub 2 on hill shade and density (and possibly DZ) images
  • Increased internal displacement uncertainty thresholds to prevent loss of registration vectors
  • Added new group overlap small image, shows group extent and overlap, same color code as overlap image
  • Now displaying time resolution, microtile size, UAV setting and subdivision level
  • Fixed missing factor 10 on Z displacement uncertainty

André Jalobeanu

unread,
Mar 8, 2018, 5:59:16 PM3/8/18
to BayesMap software users
Version 2.02 Build 3/8/18
  • Fixed issue: correction crashes if there are fixed swaths and internal calibration is on
  • Removed all references to layers, number of layers and splitting
  • Swath index (_idx.log) backward compatible, registration results from previous versions can be used

André Jalobeanu

unread,
Mar 16, 2018, 2:29:48 PM3/16/18
to BayesMap software users
Version 2.03 Build 03/15/18
  • Fixed a bug occurring with large numbers of options (option files only)
  • Fixed minor version issue (2.0x was understood as 2.x by the license manager)

André Jalobeanu

unread,
Mar 26, 2018, 1:42:54 PM3/26/18
to bayesm...@googlegroups.com
Version 2.04 Build 03/23/18
  • Fixing issue leading to ICS error (false alarm) happening for PO files with rollovers in certain cases
  • This issue may affect other cases and the update is strongly recommended
  • Corrected wrong number of rejected swaths in warning message

André Jalobeanu

unread,
Mar 30, 2018, 2:55:45 PM3/30/18
to BayesMap software users
Version 2.05 Build 03/30/18
  • Inversion step 1 optimized, now much faster in complex cases with large numbers of pairs and parameters
  • Added option -reg_s_max to drop pairs having too high DZ standard deviation
  • Added option -F or -unc_max to filter out displacements having high uncertainty, default 0.2
  • Added option -X or -xg_unc_max to filter out displacements having high uncertainty, different group pairs only, to address temporal changes in flat areas that lead to high horizontal and low vertical uncertainty, yielding inconsistent corrections, default 0.2
  • Changed uncertainty image range to 0.2 horizontal and 0.02 vertical
  • Removed verbose screen output of calibration parameters and corrections (already logged)
  • Improved computation of residual RMS, using weights, now compatible with displacement RMS
  • Fixed wrong number of GCP used

André Jalobeanu

unread,
Apr 10, 2018, 9:29:52 PM4/10/18
to BayesMap software users
Version 2.06 Build 04/10/18
  • New option -B or -gcp_dz_grp to correct group-wise GCP vertical biases, helps improve absolute accuracy for very large projects with weak ties between groups (due to poor data or insufficient overlap), and also helps cancel GCP biases more effectively when fixed groups are present
  • New option -last (default on) to switch between last and first return filtering (during tiling), useful for very thick vegetation when the canopy surface could be used for registration (use with care in general)
  • Fixed a bug affecting the first inversion step, calibration enabled, when one group has only one swath
  • Setting default calibration string to yBI instead of LBI (due to high correlation between x-leverarm and boresight pitch)
  • Removing linear drift model (not used, constant or HF preferred)
  • Fixing ignored equal weighting scheme in global GCP vertical bias computation

André Jalobeanu

unread,
Jun 13, 2018, 1:04:23 PM6/13/18
to BayesMap software users
Version 2.07 Build 6/12/18
  • Fixed DUT reader issue with negative timestamps (before Sept. 2011)
  • Added option -daysec to enable day seconds in LiDAR files (previously only week seconds or adjusted GPS time), at global level, not per group. Needs to be specified along with PO input (not LiDAR input)
  • Added option -dt_max to reject timestamps for microtiles spanning a time interval above the limit. This helps filter out self overlaps that would cause ICS errors and erroneous corrections. New warning message displayed if microtiles affected. Default value 4 seconds
  • Skipping DZ image computation where no correction is available (due to missing or rejected timestamps) for cleaner DZ maps
  • Updated DUT file generation to export more measured displacements, even when timestamps are not available
  • Removed debug information written to current directory during inversion
  • Updated time sync to reject swaths matching more than one PO file. New warning message displayed. This solves geometric issues (BF/ICS errors) when the wrong PO file is used and avoids confusion

André Jalobeanu

unread,
Jun 22, 2018, 3:26:17 PM6/22/18
to BayesMap software users
Beta 2.08b Build 6/20/18

Please update while the official 2.08 is being released!
  • Fixed time sync issue introduced with a new feature in version 2.07
  • Other minor updates to deal with I/O errors (LAS read check and error if I/O error during tiling)
  • Easier to perform relative calibration with two swaths (one fixed) without having to specify -cal_1

André Jalobeanu

unread,
Jul 19, 2018, 5:49:46 PM7/19/18
to BayesMap software users
Version 2.08 Build 07/19/18
  • All the features and improvements of 2.08b plus:
  • Fixed bug in SOL (PO format) reader causing read errors in some cases
  • Improved error reporting for all PO readers
  • Fixed issue causing gridding error when the dataset contains swaths that have no overlap (could be avoided with option -full)
  • Improved messages related to gridding (errors, warnings, etc.) separating cache, skip and failure
  • Added special command -plot_po to export PO files with original AND projected coordinates (binary formats only) to ASCII with decimation. Simple usage with usual PO input options; output files saved along input PO files with extension .txt added, and explicit header row. The bounding box (projected coordinates) and time interval are displayed on screen
  • Added option -po_sub (default 100) to specify the subsampling factor for the new command -plot_po

André Jalobeanu

unread,
Nov 15, 2018, 4:29:52 PM11/15/18
to BayesMap software users
Version 2.09 beta, Build 11/15/18

This beta brings new projection capabilities to support most state planes and parse the unit directly from WKT files.
It also takes advantage of the geoid implementation recently introduced in WavEx 1.1b. 
  • Minor bugs fixed (failed QC due to zero residual) and some useful warnings (-chgrp without channel 0)
  • Lock mechanism to prevent running multiple instances
  • New TM and LCC projections and unit parsing (m/ft), requires user-supplied OGC WKT file; -feet no longer needed with WKT
  • Geoid support requires .bin files (NGS) in "geoids" folder next to the executable, download only needed files from Geoids folder in the BayesTools distribution, or download from www.ngs.noaa.gov/GEOID
  • Manual will be updated soon (currently applies to version 2.05), please check WavEx documentation for geoid usage

André Jalobeanu

unread,
Dec 12, 2018, 2:27:39 PM12/12/18
to BayesMap software users
Version 2.09 beta, Build 12/12/18
  • Fixed a bug preventing inversion in rare cases and leading to abnormal termination (qc, registration and manual correction not affected)

André Jalobeanu

unread,
Apr 30, 2019, 3:52:32 PM4/30/19
to BayesMap software users
Version 2.10, Build 04/29/19

For major updates, please check the updated manual, chapter "What is new in version 2.1"
The release notes will be posted here soon. 

Please update both StripAlign AND LASlib dll! 
  • The Beta folder is now empty and the latest version is in the Current folder
  • The latest LASlib dll (in LASlib/Current) is 190417

Make sure to empty the StripAlign caches (temp. files) with stripalign -c before running the new version. 
DUT files from previous versions can no longer be used, please re-run registration if needed.

André Jalobeanu

unread,
May 9, 2019, 3:16:28 PM5/9/19
to BayesMap software users
Version 2.11, Build 05/09/2019
  • Option -oi (replace scan angle rank with internal angle) was broken, the angles were 0, now fixed 
  • Rare tiling issue fixed. For certain Lambert projections the XY coordinates were outside built-in bounds, bounds are now updated to +/-20M meters for both X and Y
  • Fixed a bug in world files for tiled maps, was only affecting jpeg and tiff maps with multiple tiles

André Jalobeanu

unread,
Aug 6, 2019, 8:53:41 PM8/6/19
to BayesMap software users
Version 2.12, Build 08/06/19
  • PulseWaves pulse files (.pls or .plz) can now be aligned with options -opls and -oplz, if such files are in the same location as the usual LAS/LAZ swaths, are named the same way, and have the same timestamp format. Waveforms are not affected, only pulse files containing georeferencing information are written
  • Static PulseWaves library now included in the executable, based on version 3 rev 11 with minor bug fixes 
  • Adding support for south-oriented Transverse Mercator projections via WKT
  • Fixed tiling issue with _DZreg raster files, now work the same way as _DZ and _DZcorr
  • Updating rejection rule for geometric quality (based on BODY and ICS stats) to account for noise (RMS threshold = 0.25), applies to scan and correction commands
  • Improving trajectory and attitude correction stats (_TA_stat.log): fixing mean, adding min and max to flight line and global stats
  • Fixing rare bug in Zmin/Zmax computation leading to Z_range assert fail
  • Adding 0.1 s buffer around time interval for PO data import for better performance on bounds
  • Removing unnecessary timestamp grid masking, allowing timestamp gridding on swath boundaries and in low density areas, increasing the number of displacement vectors from swath pair registration that can be used for inversion, and improving correction performance on boundaries
  • Saving existing LAS system and software strings as VLRs instead of just replacing them with StripAlign info

André Jalobeanu

unread,
Aug 21, 2019, 12:30:43 PM8/21/19
to BayesMap software users
Version 2.12, Build 08/20/19
  • Improved reliability of swath overwrite protection by detecting case sensitivity of output directory file system, now input and output directories can be the same without risk of overwriting the input LiDAR data
  • Made the geometry check (BODY/ICS) more sensitive and dependent on the -uav flag, now triggers an error in all cases if the AGL or swath width are abnormal
  • Fixed bug in correction stat generation (file _TA_stat.log written at the end of the run, did not affect anything else) 

André Jalobeanu

unread,
Aug 26, 2019, 7:39:09 PM8/26/19
to BayesMap software users
Version 2.12, Build 08/26/19
  • Improved reliability of grid caching for sequential runs with overlapping datasets, when gridding is done for overlaps only. Swaths are now automatically re-gridded if the overlap map has changed, solving issues such as missing pair overlaps and holes in the registration data. 

André Jalobeanu

unread,
Aug 27, 2019, 7:57:04 PM8/27/19
to BayesMap software users
Version 2.12, Build 08/27/19
  • Added option -pof_info (for Riegl POF users only) to take into account the UTC time info flag, which is ignored by default because it is not always reliable. This solves geometry issues due to a time delay between LiDAR and PO data by converting POF UTC time to GPS time (leap seconds subtraction, 18 s today). Use option -scan -ics with both LiDAR and PO inputs to check the data and generate BF/ICS stats. If average attitude angles are suspicious, eg. a high pitch value, it can be due to this time delay and then -pof_info should be used. 

André Jalobeanu

unread,
Sep 3, 2019, 2:50:11 PM9/3/19
to BayesMap software users
Version 2.12, Build 08/29/19
  • Fixed issue causing a crash during correction with LAS index export enabled (option -olax) 
  • Added safeguard for group size mismatch before starting tiling, gridding and registration (command -align); previously the group size was checked only at correction time, requiring the user to re-run registration in some mismatch cases 

André Jalobeanu

unread,
Nov 12, 2019, 10:34:50 PM11/12/19
to BayesMap software users
Version 2.14 Build 11/07/19

New capabilities
  • New projection supported: Albers Equal Area Conic (AEAC) - via WKT - and updated tiling code to allow negative projected coordinates
  • Updated correction without calibration to correct very large IMU errors for certain swaths while preserving absolute accuracy, fully automatic and single-step
  • Improved reliability and performance of inversion step 2 (high frequency corrections)
  • Added time delay correction capability (manual correction command) with new option -t_corr
  • Now allowing to export geospatial files (ASCII world files, footprints, bounding boxes etc.) in the same unit as the LiDAR data; new option -out_metre (enabled by default) to control the output unit
  • Now compatible with circular or elliptical scanners: new option -ics_rms (enabled by default), use 0 to bypass the RMS exceedance error during geometry check that prevented the use of non linear scanning patterns
  • Added GCP-only vertical correction capability (using the manual correction command)
  • Now correcting all swaths including non-overlapping ones, previously rejected (time dependent corrections only for overlapping swaths); use new option -corr_all or -a to correct all swaths (disabled by default)
  • Implemented support for module-based licensing, with modules airborne (default), uav, noreg (registration disabled) and nocorr (corrections disabled)
  • Implemented OBJ format export for ASCII polylines (bounding boxes, footprints and maximum bounding rectangles); use new option -obj (disabled by default)
  • Improved registration initialization for bad data with new option -init (default 1 for compatibility with previous versions), use 0 for large misalignment cases
Improvements and fixes
  • Improved accuracy of GCP computations for large corrections
  • Updated roughness accuracy threshold for GCP stat computation, allowing more GCP to be used
  • Allowing negative AGL up to -100 m for compatibility with mobile mapping
  • Fixed issue related to warp, mean shift subtracted twice in some cases
  • Fixed warning for large boresight angles
  • Improved reliability of tile and grid caching: updated internal data, added grid version checking
  • Improved post-correction DZ map generation for large corrections
  • Optimized internal tile/grid data structures on Windows to save smaller temp. files and speed up I/O limited operations
  • Better compatibility with LAS 1.4 standard (global encoding byte update when correcting LAS timestamps)
  • Fixed issue reading very large DUT (registration data) files
  • Performance improvements writing ASCII files (traj. and swath footprints, exported PO data etc.)
  • Fixed PO footprint point sorting (was not sorted by time)
  • Improved reliability of microtile time interval computation for low point densities
  • Fixed missing GCP outside swath overlap areas (only happened without -full)
  • Improved GCP report in the single point case
  • Improved reliability of post-correction GCP stat computation, rare issues on tile boundaries
  • Adding point count limit (400 Mp) and area limit (4 km2) for the uav module
  • Updated smoothness dependence on time interval and IMU error prior implementation for more consistent HF corrections
  • Improved robustness of IMU prior parameter estimate when several pairs contain large registration vectors due to unusual IMU errors
  • Reduced memory requirements for calibration parameter estimation, useful for large numbers of pairs
  • Optimized implementation of projected trajectory cache
  • Fixed rare microtile timing errors by enforcing swath time interval
  • Added coverage mask to warp raster (was showing data outside swaths)
  • Updated maximum subdivision level (option -x) to 2, use option -uav for higher subdivision levels
  • Improved robustness of WKT parser (spaces, spelling)
  • Now allowing empty grids (instead of stopping after error message) if gridding fails for some swaths
  • Updated tiling code: simplified error messages, added min number of points per tile and swath, min number of microtiles per swath
  • Added warning for dropped registration vectors due to uncertainty above threshold

André Jalobeanu

unread,
Dec 6, 2019, 7:10:29 PM12/6/19
to bayesm...@googlegroups.com
Version 2.14 Build 12/06/19
  • Extended option -corr_all or -a, now copying swaths that did not sync properly and could not be corrected without PO data (using same format and lasindex options as corrected output), use this option to output all valid swaths (disabled by default)
  • Now checking the XY bounding box during tiling to detect geodetic files or invalid coordinates

André Jalobeanu

unread,
Jan 7, 2020, 3:45:13 PM1/7/20
to BayesMap software users
Version 2.15 Build 01/06/20
  • Added support for standard GPS, UNIX and UTC timestamps to ASCII PO file import; renaming option -A|po_adj -> -A|po_time, unchanged behavior for 0 (week seconds) and 1 (adjusted); new formats are 2 (standard GPS), 3 (UNIX), 4 (UTC)
  • Added "u" to -po_parse string to import separate microseconds column in ASCII PO files, useful for UAV
  • New command -split (useful for multibeam UAV LiDAR and circular and elliptical scanners) to split swaths into multiple channels. Arguments: type ns map, where type is in {sd,ch,sa,ud,id,cl}, ns is the number of splits (2-4) and map an optional channel map file (more details in the manual, chapter Multichannel, p. 45). 
  • Fixed inversion error occurring sometimes with multichannel data in specific cases  
  • Increased max swath width for UAV to avoid BF/ICS error in rare but realistic cases
  • Now displaying auto UTM zone to identify potential issues with used UTM zone
  • Implemented area overflow detection: checking both number of total tiles and max number of tiles in x or y
  • Now DUT reader sends error if no registration data is available for correction (eg. after accurate QC)
  • Updated default calibration parameters to yB1 for UAV, requires -uav option if not using -align
  • Updated auto time interval to TimeRes for UAV to compensate for long time resolution with many-beams scanners
  • New registration uncertainty default thresholds set to 0.5 to avoid loss of DUT data 

André Jalobeanu

unread,
Feb 16, 2020, 10:07:11 PM2/16/20
to BayesMap software users
Version 2.16 Build 02/16/20

License manager update

Starting with version 2.16 StripAlign will use a server-based floating license manager (RLMpe).
A license consists of a user name and password (clients should receive one or more depending on their subscription).
It can be installed on any number of computers and is checked out automatically when StripAlign starts, and checked in when it exits (even for normal crashes). Usually only one license at a time is permitted; in some cases multiple instances are allowed (eg. for cloud containers). 

To use a license on all platforms, environment variables RLMUSER and RLMPW must be set. 

On mac/linux these variables can also be set on the command line as:
RLMUSER=x RLMPW=y stripalign [options]

Please note that existing .lic files are no longer compatible starting with version 2.16. 
Contact us to request a temporary node-locked license key whenever you need to use the software off-line.

André Jalobeanu

unread,
Feb 18, 2020, 10:39:27 PM2/18/20
to BayesMap software users
Version 2.16 Build 02/16/20

New features and upgrades
  • Upgraded license manager (cloud based), see previous post - current manager still available for temporary off-line node-locked licenses
  • New time deviation rasters _dev computed during tiling (time std dev after linear fit, divided by time interval)
  • Improved smoothness prior for areas where registration data is missing
  • Improved displacement RMS computation reliability for auto IMU prior (when the mean displacement is significant)
  • Improved ICS accuracy using new algorithm and by filtering out microtiles with insufficient time data
  • Now checking LAS library version to avoid possible crashes due to mismatched libraries, must be 200101 for this build

New options
  • New option -merge automatically merges back swaths separated with command -split; applies when LAS/LAZ file correction is enabled
  • New option -rms_all to compute displacements RMS from all data (95% confidence interval by default)
  • New option -dev_max replaces -dt_max to filter out microtile timestamps based on deviation (linear fit std dev divided by time interval) instead of time interval, which was penalizing slow scanners or sonar data; default 0.1 airborne and 0.5 UAV
  • New option -dev_range to control time deviation range, default same value as -dev_max
  • New option -mean to cancel global mean vector correction, automatically disables -d_dz and -r_dz (internal z bias cancellation), disabled by default
  • Previous option -mean renamed -drift_mean as it only affects the mean of drift corrections

Bug fixes
  • Fixed bug affecting QC maps larger than 4 Gpixels
  • Fixed minor issue affecting copy of uncorrected swaths ignoring option -nil
  • Fixed broken -plot_po command (since 2.15 with the update of option -A)
  • Updated IMU error prior to fix inversion quality issues in rare cases with high uncertainty registration data
  • Addressed minor issues affecting origin of raster images and some exported ASCII rasters

Minor updates
  • Updated max bounding box to allow 100 km max width UAV (800 km max for airborne)
  • Allowing max 90 deg on roll for ICS geometry consistency check
  • Updated microtile timestamp and overflow issue display: now showing % instead of number (if above 1%)
  • Updated max ICS roughness threshold to 0.1 airborne 0.3 UAV
  • Added time deviation stats to _sw_stat file and screen output
  • Updated -dt_range default for UAV to 10
  • Added RMS columns to DXYZ files for convenience (total using mean and standard deviation)
  • Put drift RMS computation after mean or warp subtraction
  • Now displaying global mean correction applied, if non-zero
  • Disabled group overlap _govr raster if there is only one group
  • Increased default I/O number of threads from 4 to 8 (for option -nthreads_io) to reflect modern SSD performance (LAS) and compression overhead (LAZ)

André Jalobeanu

unread,
Feb 21, 2020, 7:56:07 PM2/21/20
to BayesMap software users
Version 2.16 Build 02/21/20
  • Minor gridding code upgrade to support depths down to 7500 m for sonar data alignment
  • Added a few high level error messages (special cases with EXIT_FAILURE as only message, eg. align with single swath)

André Jalobeanu

unread,
Mar 5, 2020, 12:17:49 PM3/5/20
to BayesMap software users
Version 2.16 Build 03/04/20
  • Important bug fix (only applies to previous build, 02/21/20) - addresses issue affecting GCP height computation after correction, causing an incorrect GCP-derived vertical bias to be applied to the data during correction
  • Fixed an issue preventing the use of GCP in some rare cases (when the GCP is in a swath that does not overlap other ones)

Started transitioning to a failover license server. 

The new build is directly compatible with a new setting allowing a backup server to be used in case the first server fails. During the transition period (from now to 03/15/20) option -rlmswap must be used. Once the failover server is enabled (03/15/20) this option will become obsolete and previous builds will no longer work.

André Jalobeanu

unread,
Mar 9, 2020, 2:23:09 PM3/9/20
to BayesMap software users
Version 2.16 Build 03/07/20
  • Added option -large to deal with large corridor mapping projects (up to 2048x2048 tiles) - default max 256x256 tiles (the tile size is ~1km without the UAV setting and without subdivision)
  • Fixed issue affecting geoid grids across 180 deg W (such as Alaska grid 0)

André Jalobeanu

unread,
Mar 22, 2020, 7:56:22 PM3/22/20
to bayesm...@googlegroups.com
Version 2.16 Build 03/23/20
  • Disabled timestamp processing for reference swaths, keeping only swath time interval computation for logging and stat purposes, so that tiled or merged swaths can be used as references. To use tiled data, for best results please merge them into a single laz file with lasmerge.
  • Fixed grid caching issue that required a second run to work properly (rare cases)
  • Fixed division by 0 in certain cases (eg. 2 control points, time interval 0.5 s) during drift stat file output (correction/alignment commands)
  • Updated handling of LAS system identifier and generating software for compatibility with non 0-terminated strings
  • Added warning for failed registration with reference swaths
  • Fixed incorrect display of % pts lost due to microtile overflow
  • Added summary stats to most swaths and pairs stat files (DZ_stat, DZreg_stat, DZcorr_stat, DXYZreg_stat, DXYZcorr_stat, inv_stat)
  • Added NPts column to vector stat files (DXYZreg_stat, DXYZcorr_stat, inv_stat)

André Jalobeanu

unread,
Mar 30, 2020, 3:27:50 PM3/30/20
to BayesMap software users
Version 2.16 Build 03/30/20
  • Fixed rare concurrency issue affecting gridding of large datasets with many cores
  • Upgraded tiling code to allow for long time intervals within each swath, max 9 hours, for better underwater (sonar) support
  • Added error preventing longer swaths (> 9 hours) from being tiled
  • Fixed minor bug preventing copy of background log file with option -N1
  • Improved reliability of tile caching after disabling time processing for reference swaths
  • Addressed minor issue affecting displayed range for TIFF raster output
  • Added warning for missing timestamps or 0 time interval (for constant or 0 timestamps)
  • Fixed minor % lost microtile points in some cases 

André Jalobeanu

unread,
Apr 3, 2020, 9:21:32 PM4/3/20
to BayesMap software users
Fixed geoid file EGM96.bin - please download new file only if using EGM 96
(shared google drive / Geoids)

André Jalobeanu

unread,
Apr 10, 2020, 9:32:09 PM4/10/20
to BayesMap software users
Version 2.16 Build 04/10/20
  • Added support for ECEF spatial coordinates in ASCII PO files (option -G 2) useful for some UAV scanners
  • Improved time parsing in ASCII PO files by adding h:m:s format for day seconds (option -A with arguments 7 and 9, resp. UTC and GPS)
  • Added new time formats in ASCII PO files: 5 (UTC adjusted), 6-7 (UTC day sec, decimal and h:m:s), 8-9 (GPS day sec, decimal and h:m:s) using option -gps_date to convert to adjusted GPS time for day sec (see updated manual p. 55-56 for more details)
  • Fixed Zmin Zmax overflow in _PO_stat file (for negative heights)
  • Command -scan now automatically enables -ics

André Jalobeanu

unread,
May 19, 2020, 2:17:58 AM5/19/20
to BayesMap software users
Version 2.17 Build 05/18/20

New features and upgrades
  • Automatic channel splitting for multibeam UAV scanners, now split/process/merge in a single command line; options -split (existing) and -splitgrp (new) control how and which groups are split, and -split_mount (new) helps specify the mount files for each split channel
  • 2-step recursive alignment in a single command line, useful for large errors (airborne LiDAR with IMU issues and sonar data), see new option -align2
  • Global shift estimation from reference data (can be disabled, see option -shift_ref) allowing to translate the mobile data uniformly, thus correcting potential CS issues between mobile and reference dataset
  • Merging all reference swaths into a single swath automatically for faster and more reliable registration, allowing to use tiled data as reference; registering reference swaths is no longer possible, and the DZ maps no longer include discrepancies in the reference data (except with fast QC)
  • New raster _fovr showing reference (fixed) data coverage in red, mobile data in blue, overlap in magenta
  • Internal pitch angle export capability (see option -op) helps with multibeam sensors not having the beam number stored in any of the LAS fields
  • NED attitude angle parsing capability added to ASCII PO importer, simply put * at the end of the parse string to switch from ENU (default) to NED convention
  • Using a tiff raster (+worldfile) as a "drop map" to filter out points during tiling; all microtiles having at least one nonzero sample from the drop map are excluded from tiling and any subsequent processing (gridding and registration), which helps remove water bodies or temporal change areas effectively; new raster _drop added to output, showing extent of dropped data
  • More robust solution for data with temporal changes: options -U3 and -U4, iterative method using residuals from inversion to adjust individual displacement uncertainties, extra iteration with -U4
New options
  • New option -splitgrp to specify which mobile groups should be split automatically by option -split; the number of arguments is equal to the number of mobile groups and the arguments are either 0 or 1; default 1 (all groups split)
  • New option -split_mount to specify the mount files for each new channel created by automatic split, the number of arguments is equal to the number of channels created (set by the second argument of option -split), between 2 and 4
  • New option -align2 automatically launches two recursive -align commands, taking care of intermediate results and corrected trajectory export; the output of the final results is controlled by usual options but corrected swaths and trajectories are always written during the first step
  • New option -odir_1 -P specifies the directory for the first (intermediate) step of the recursive -align2 command, the final output directory is still controlled by option -O
  • New options -dz_range_1 -dz16_range_1 and -v_range_1 were added to control the ranges of DZ maps and vector maps for the first (intermediate) step of the recursive -align2 command
  • New option -oposeg enables the user to enable the output of swath-segmented PO files in ASCII format (disabled by default)
  • New option -shift_ref controls the uniform shift model used when reference data is present (enabled by default)
  • New option -op exports internal scanner coordinates pitch into the LAS user data field, in deg, with 90 corresponding to Nadir; use with manual correction
  • New option -ref_unc_max -Y sets the uncertainty threshold for displacements measured with respect to reference swaths; -Y0 disables all registration data with reference swaths and -Y2 does not filter any (default behavior)
  • New option -drop_map enables the use of a raster in tiff (preferably 8-bit) georeferenced with a world file (.tfw) indicating where to drop points from tiling (0 to keep, >0 to drop), works at microtile level during the tiling process; GSD must be less than or equal to the microtile size (default 32 m for airborne data, see manual for details)
Major bug fixes
  • Solved a potentially serious drift issue affecting corrections using reference swaths, in certain conditions, usually with more than 10 swaths and reference data on one side of the project, yielding too large corrections (largest away from the fixed areas)
  • Fixed a bug in option -B or -gcp_dz_grp (designed to allow independent z bias corrections for each group); this option initially worked correctely but was broken later during one of the updates (probably 2.14)
Minor bug fixes
  • Fixed inconsistent mean correction behavior when calibration is disabled
  • Added merge capability to manual correction command, was missing
  • Updated SBET correction to account for adjusted GPS time (SBET is never adjusted)
  • Fixed minor issue in the HF inversion step improving corrections with missing registration data
  • Fixed ASCII PO import error with hms time format in certain conditions
  • Disabling global mean if reference swaths are present
Minor updates
  • GCP locations shown as white dots on overlap rasters _ovr, _govr and _fovr
  • Default calibration settings for UAV are now yB13 (was yB1) enabling scan angle scale adjustment
  • Added Japan geoid gsigeo2011 (see geoid folders in shared Google drive)
  • Removed option -reg_ref as registration between reference swaths is no longer possible due to the merging of all reference files into a single swath
  • Separate line for fixed data (merged swaths) in _sw_stat.log file
  • Tile and grid caches no longer compatible with previous versions due to reference data merge and drop map features
  • Updated error messages and warnings according to new options and new features

André Jalobeanu

unread,
Oct 5, 2020, 9:58:57 PM10/5/20
to BayesMap software users

Version 2.18 Build 10/01/2020

Improved corrections: new defaults and recommendations

  • Updated default calibration options for correction (-align and -corr): removed lever arm and boresight, updated internals, now for option -C the default string is 23456 for airborne and 23 for UAV
  • External calibration (lever arm and boresight) no longer part of correction process due to correlation (for boresight and attitude corrections, roll cannot be separated, pitch is highly correlated, only yaw could be separated; lever arms are highly correlated with xy trajectory corrections)
  • Boresight calibration during correction may be enabled only if miscalibration errors are known to be significant, in general safer not to enable or use only k (yaw)
  • For corridor projects only, we recommend either -C0 -fill 0 or -C0 -dcc -W, to preserve absolute accuracy by avoiding propagating corrections far away from (sparse) overlapping areas, see below for new options
  • Updated default -int_sw so it is enabled by default (internals are swath dependent) as it seems that many sensors have time-dependent distortions due to temperature changes, atmospheric effects or unstable geometry of undetermined origin
  • Many tests were conducted on large-scale airborne data to validate default options for regular block collects and corridor projects (especially options -C -int_sw -int_gen -int_nob -fill -noz -pitch)

New features and upgrades

  • Redesigned prior model for position/attitude corrections so that the total drift correction mean from both rotations and translations is minimal, and absolute accuracy is preserved
  • Improved calibration prior model to avoid large parameter values in general and unstable behavior in non-overlapping areas for internal distortions and swath-dependent parameters
  • Added support for NavLab BIN PO format for Sonar data

New options

  • New option -abs2rel to manually control the absolute vs. relative accuracy trade-off, default 1, use <1 for higher absolute accuract (smaller corrections) and >1 for higher relative accuracy (smaller z-difference RMS)
  • New option -fill, enabled by default, to control the behavior of the smoothness prior in areas without overlap or registration data; use -fill 0 for corridor mapping to enforce zero correction in areas without data, avoiding propagating corrections far away from overlap areas with potential absolute accuracy degradation
  • New option -dcc, disabled by default, to use a constant correction component per swath (inversion step 1) for cases with a significant slow varying attitude or position drift component; restores a behavior from a previous version that could be useful in some cases
  • New option -pitch, enabled by default, to disable attitude pitch corrections if needed
  • New option -noz, enabled by default for correction, to make inversion more robust to HF displacements (especially step 1)
  • New option -refine, enabled by default, to refine corrections applied to swaths using two steps instead of one (useful for large corrections)

Bug fixes

  • Fixed bug with unix time format missing 0.5 s for leap years
  • Fixed gridding bug causing critical error (missing temp. file) affecting overlap gridding only
  • Fixed post-inversion correction bug (large shifts) happening only when using options -int_nob and -int_gen
  • Fixed slope normalization issue (dependence on GGSD) in hillshade map computation
  • Addressed minor issue caused by incorrect detection of reference data when there are swaths without overlap
  • Fixed inversion bug happening in rare cases and triggering failed inversion error
  • Fixed potential internal error in inversion (in case the reference shift parameter is enabled and fixed swaths are present)
  • Updated code that probably caused minor issue in post-correction DZ map computation
  • Fixed minor issue requiring the user to use option -cal_1 for relative calibration using single swath and reference data

Minor updates and improvements

  • Updated -op option to compute internal pitch correctly based on conical scan and not rotated plane
  • Improved reliability of time format conversion for long time intervals (different deltat beginning/end of file)
  • Improved robustness of std dev estimation for QC and reg using Gaussian fit
  • Added new parameter I7 to generic model for better performance and compatibility with rigorous model
  • Made the I6 internal parameter (misalignment) always unbiased regardless of option -int_nob, to avoid correlation with pitch
  • Updated convergence threshold for inversion step 1 (convergence was not reached in some cases and solution was not optimal)
  • Updated automatic smoothness coefficient computation for HF corrections
  • Option -boost now also applies to inversion, default 2 (no change), use 1 to boost convergence (slower) or 3 to 6 for faster inversion
  • Added correction vector at GCP location to GCP stat file for convenience and absolute QC monitoring
  • Added Swath# Group# at the end of each line to calibration log
  • Extended range of option -init to avoid large registration artifacts with smooth seafloor data (Sonar)
  • Added warning in cases corrections are higher than expected in overlap areas, given measured displacements in the same areas (corrections should not be larger than displacements measured during registration)
  • Removed a few unnecessary warnings related to reference data

André Jalobeanu

unread,
Nov 17, 2020, 10:45:31 PM11/17/20
to BayesMap software users

Version 2.18 Build 11/12/2020

Improved corrections: new defaults and recommendations

  • New calibration string default for airborne is B23456 (boresight and internals); calibration behavior controlled by option -cal_rel; only different from previous build for multichannel groups
  • New calibration string default for UAV is B3 (boresight, internal scan angle scale only), per swath internals disabled for stability (-int_sw 0), can still be enabled if needed; calibration behavior controlled by option -cal_rel
  • Recommended settings for corridor mapping: for single channel -C0 (optional -fill 0) or -C0 -dcc -W (no change); for multichannel -dcc 0 -int_nob

New options

  • New relative calibration option -cal_rel (enabled by default), so that lever arm and boresight calibration is only performed on multichannel groups (all channels except 0), provides more stable corrections (higher absolute accuracy) than by enabling external calibration for all channels or single channel data
  • New option -ich (disabled by default) to ignore channels during correction, and compute independent corrections for each swath, only to use in rare cases when multichannel correction is insufficient and corrected PO data are not needed
  • Changed behavior of -dcc option, improved calibration accuracy and overall performance by canceling the constant per swath component of the drift at the end of inversion step 1, rather than disabling the component; default behavior unchanged (constant component used only when calibration is enabled).

Bug fixes

  • Addressed issue in HF drift inversion affecting the HF component of multichannel corrections (insufficient correction)
  • Fixed bug in -chgrp option, needed arguments for fixed group, now only needs as many arguments as mobile groups (as explained in the manual)
  • Fixed issue affecting multichannel calibration with single parameter
  • Fixed option -X with multichannel so it only applies to different flights and behaves as expected with multichannel data
  • Updated license manager interface to avoid crashes once license has been successfully checked out
  • Improved reliability of multichannel correction to avoid channel mismatch in case of PO sync issue

Minor updates and improvements

  • Added z lever arm estimation capability, use z in the calibration string if needed, could be useful for relative calibration (multichannel data)
  • External calibration automatically disabled for entire dataset if relative calibration is on and no multichannel data is found
  • Added pass/fail flag at the end of each line of the _BF_ICS_stat.log file to help identify swaths triggering a geometry error or warning message
  • Option -noz (introduced in previous build) is now disabled by default as it is not compatible with relative calibration
  • Option -rms_all is now enabled by default as it might fail on data that has significant IMU errors or has been previously (mis-) adjusted
  • Improved calibration log output (to avoid displaying the same result multiple times in some cases), and added channel number (Ch#) to the log, and disabled the simple text output if more than one set of calibration parameters
  • Added missing POfile# in PO footprint ASCII file _po_fp.txt
  • Improved time overlap detection for multichannel data to avoid false alarms

On Sunday, March 13, 2016 at 3:24:40 PM UTC-7 André Jalobeanu wrote:
BayesStripAlign - new versions and builds (change log)

André Jalobeanu

unread,
May 27, 2021, 10:15:49 PM5/27/21
to BayesMap software users

Version 2.19 Build 05/20/2021

New features

  • Blend feature (activated with -blend), fixes edge distortions (Optech Galaxy scanners with wide FOV and roll compensation), and also corrects for any residual displacements that cannot be modeled with the rigorous geometric correction model. Can also be used to cancel residual displacements after independent block correction. Not recommended for general use without enabling geometric corrections due to potential discontinuities at overlap boundaries. See related options -blend_ics, -blend_ref, -blend_soft
  • New cut feature for UAV, available as independent command -cut, one optional argument (input LiDAR file), one PO file input required. Cuts a single file into multiple swaths based on trajectory (distance and heading). Cut swaths are defined as consistent trajectory segments between turns. They can be curved and speed does not need to be constant. Default options should work for most UAV. Turn angle and distance tolerances can be set. Data during turns is rejected by default. Accepts a mix of week seconds and adjusted GPS timestamps. Always outputs pos_cut.txt file to help find best parameters (use -cut without LiDAR input and plot this file to check if the trajectory is cut as expected)
  • Extra cuts based on time gaps are done by default (see -cut_gap), whenever time gaps of one second or more are detected, the fight lines are cut again. This ensures final flight lines will have as little self-overlap as possible and will be suitable for registration and correction
  • Full compatibility with both types of feet (WKT parsing, GCP reports, tile format updated, DUT index format updated). Tile cache not backward compatible. DUT (registration data) backward compatible with warning. The difference between us and int. feet mostly matters at low AGL (UAV) for correction purposes
  • Signed DZ maps, with option -dz_mix (default colormap 2 when enabled), if more than two pairs the last pair DZ overwrites previous ones, same behavior as _mix rasters (displacements and residuals)
  • Auto-detect adjusted GPS time (requires -auto_adj for airborne; enabled by default for UAV) for both LiDAR and PO data, with warnings shown when time correction is applied. Automatically differentiates between adjusted and week seconds assuming collection occurred after Sept. 2011 (safe for UAV)
  • Added capability to read WKT info from LAS/LAZ files directly (version 1.4 or WKT VLR required)

Improved corrections: new defaults and recommendations

The calibration component is turned back on by default due to majority of missions with significant residual calibration error, reverts change in version 2.18. Use -cal_rel (now disabled by default) for relative calibration only, to disable calibration for the main channel or completely for single channel data

New options

  • Option -blend to enable new blend feature (disabled by default)
  • Option -blend_ics (use with -blend) to use internal scan angle instead of LAS scan angle (disabled by default)
  • Option -blend_soft (use with -blend) to use a soft blending function instead of a linear function (disabled by default)
  • Option -blend_ref (use with -blend), enable full blending with reference swaths (can cause discontinuities in the correction, disabled by default)
  • Command -cut to run the new cut algorithm, optional argument (LiDAR input file)
  • Option -cut_yaw (use with -cut) to set the turn angle threshold (default 20 deg), increase to accept more curved trajectories
  • Option -cut_dist (use with -cut) to set the minimum distance for a flight line (default 20 m), allows to drop short trajectory segments
  • Option -cut_res (use with -cut) to set the time resolution for trajectory processing (default 0.4 s)
  • Option -keep_turns (use with -cut), keep data during turns (disabled by default) - likely to cause self-overlap, time dependent corrections might be insufficient near turns, but no data points are dropped
  • Option -cut_gap (enabled by default) to control time gap based swath cut, extra step after trajectory-based cut
  • Option -feet_us replaces -feet, and -feet is now used for international feet
  • Option -dz_mix (disabled by default) to control signed DZ maps
  • Option -dpoc to select individual drift correction components using a string with characters from 'xyzwpk' (or T for translation, A for attitude). Examples: -dpoc A for attitude-only, -dpoc zk for height and heading only, -dpoc 0 equivalent to -drift 0 etc. Default TA (all components)
  • Option -fav_att to favor attitude corrections (disabled by default, favor position corrections for compatibility with previous versions)
  • Option -reg_ch (0 skip different channels, 1 normal or use channels, 2 only between different channels) (default 1). Useful for testing without changing input, especially with auto split. Works in combination with -reg_reduce
  • Options -qc_grp -qc_ref -qc_ch (work like -reg_grp, -reg_ref and -reg_ch) to control the DZ map generation after correction, using group, reference and channel information. Helps generate QC maps quickly in a flexible way regardless of which pairs were used for registration. Typical application: generate two DZ maps, one from mobile data (relative accuracy map) and one between mobile and reference only (absolute accuracy map). Other applications include inter-channel correction evaluation, inter or intra group relative accuracy etc.
  • Options -corr_grp -corr_ref (work like -reg_grp and -reg_ref) to compute corrections using only a subset of the registered pairs, without having to re-run registration. For instance, -corr_grp 0 disables inter-group pairs to simulate independent mission correction, -corr_ref 0 corrects without reference data, -corr_ref 2 corrects only with respect to reference data. These new QC and correction options can be used independently
  • Option -auto_adj (default: disabled for airborne, enabled for UAV) to auto-detect adjusted GPS time
  • Options for GCP to better control rejection based on roughness and density (thresholds were hard-coded): -gcp_r_max sets max roughness (default 0.5) and -gcp_d_min sets min density (default 1.0)
  • Option -ggsd_mean to use mean instead of median for automatic GGSD computation from point density (disabled by default), works better with data filtered using LAS classification (large patches of very low density where no point should be left)
  • Option -json (currently only for GCP reports) to export a json version of the GCP reports (disabled by default)
  • Option -osplit to treat swath splitting (option -split) as an independent command, and write split swaths to output directory instead of temp. directory
  • Options -reg_s0 and -reg_j0 to deal with difficult registration cases (very rare), -reg_s0 sets a minimum standard deviation (eg. 0.05) to facilitate convergence (default 0), -reg_j0 sets the minimum level to apply this change (default 1, first coarse level, to keep a robust behavior at finest scale)
  • Option -pof_info (disabled by default) to get the timestamp format (UTC/GPS) from the file header; not all POF files are compatible

Bug fixes

  • Windows only: StripAlign and WavEx can now run simultaneously, same fix also allows multiple instances of the same software installed in separate folders to run concurrently without option -mul
  • Fixed uninitialized parameter issues for secondary channels when using -split option (causing IMU rotation and GPS week to have random values in some cases, leading to unexpected errors further down such as negative AGL and failed geometry test)
  • Fixed issue preventing LiDAR output files with the same file name (from different directories) to be written correctly, now a warning is displayed and a suffix is added when duplicate file names are detected: _g_x_sw_y where x is the Group# and y is the Swath#
  • Fixed issue with auto-split swaths not merged back after correction in some cases
  • Fixed rollover correction issue for PO files in certain conditions (partial file load case)
  • Fixed issue affecting pulsewaves file corrections when warp is enabled
  • Fixed rollover-related time delay issues affecting pulsewaves file correction
  • Fixed issue with GCP not found not handled properly, was causing an error, added warning message
  • Fixed bug affecting AEAC projection (projection type was not intialized)
  • Fixed minor SBET export issue, was using updated instead of original timestamps
  • Updated _TA_stat log file export, min max angles were not converted to degrees
  • Fixed minor bug in computation of overlap area in the presence of GCP
  • Fixed minor issue with single line calibration file output (.txt) missing in certain cases
  • Updated uncertainty scale factor for coarse registration (option -coarse) so that results are now consistent between default and -x1 -coarse 1 (or -x2 -coarse 2)

Updates and improvements

  • TIFF import (for drop maps) improved to accept 8-bit palette images (photometric=3), non-zero values will be dropped regardless of color; also able to import 1-bit binary images, 1 is dropped; most common compression schemes tested
  • Upgraded ASCII PO import to handle GPS week column, letter n, simply add n when using -A 1 to load adjusted time instead of week seconds
  • Added QC with GCP stat capability when only reference data is used as input, so any kind of point cloud can be used, timestamps not required, merged swaths and tiled can be used
  • Updated GCP stats file to include fixed data if no mobile swaths available, so QC can be run on any type of point cloud
  • Improved angle unrolling during PO file import, now applies to 3 attitude angles, for better UAV compatibility (IMU upside down)
  • Implemented a split caching functionality so splitting is done only once as long as temporary files are not deleted
  • Improved multi-channel correction when pairs are skipped to optimize registration time (option -reg_reduce)
  • Updated calibration prior weight to favor calibration bias vs. drifts
  • Improved robustness of WKT parser (spelling of meters and feet)
  • Improved command line input for single files to accept wildcards instead of requiring full file name (useful with WKT), warning issued if multiple files match (first match used)

Minor updates and improvements

  • Updated max bound for mem to 262144
  • BF_ICS ASCII export improvement (with -ascii option only): now body frame and ICS XYZ, followed by both theta and phi (internal scan angles)
  • BF_ICS stat file improvement: FOV instead of theta_max, swath width computation more robust
  • Added blend RMS computation and added blend information display at the end of inversion
  • Added blend flag to LAS system identifier and GCP correction string (w is for blend or swath warp, W is for global warp)
  • Added ASCII PO plot capability (for reprojection purposes)
  • Improved _sw_stat log file global stats (bottom of file): added ngrp, bounding box, total time; fixed data not used to compute auto GGSD and global stats if mobile swaths are available
  • Options -pitch and -att are now deprecated as components can now be selected with -dpoc
  • Added error message to force temp and output directories to be different
  • Updated default -boost to 1 amd -reg_reduce to 1 for single step calibration command (-calib)
  • Improved swath footprint computation adding subsampling to create more points (factor 4)
  • Updated behavior of option -reg_ref, now consistent with -reg_grp (0 skip reference, 1 normal or use reference, 2 use only reference) (default 1)
  • Updated QC and registration stats (_DZ_stat and _DZreg_stat) to replace microtile count with area in km2 (airborne) or m2 (UAV), also using area as weight for global DZ stats
  • Abnormal time differences in PO files now generate warnings instead of errors, for all formats
  • Now displaying a warning if swaths should be merged based on timestamps and group membership (to avoid correction discontinuity if flight lines are over-cut)
  • Added error message during tiling if timestamps are out of expected range in general (2e9 seconds)
  • Added warning if timestamps are out of expected range in for adjusted GPS and might be standard GPS (1e9 seconds)
  • Converted WKT decoding warnings to errors to avoid issues further down
  • Converted error to warning for wrong POF file size if file size larger than expected (no data loss)
  • Updated BF/ICS error message to improve clarity
  • Minor update to std dev computation in DZ stat module to improve accuracy for very small values

André Jalobeanu

unread,
Nov 14, 2021, 12:20:15 AM11/14/21
to BayesMap software users

Version 2.20 Build 11/06/2021

New features

  • GCP Z measurements performed directly from the point clouds, robust to overhead structures and vegetation or nearby buildings. A new robust algorithm replaces the previous one that was based on gridded intermediate products. Upgraded GCP stat files with more accurate roughness and uncertainty estimates, local slope (added info to header and individual GCP rows, stats now stratified by control/check if input provided)
  • Improved, more flexible GCP file input: 'i' (index) now optional; new columns 's' (GCP standard deviation) and 'c' (control or check point)
  • Now using only GCP for QC or manual correction no longer requires gridding. The -scan command can be used to perform GCP QC and output the original data GCP report, which is faster than prpevious versions as only tiling is required
  • Registration cache: stores swath pair results as temp. files (displacement vectors and uncertainties) to avoid recomputing them later (option -cache_reg). Useful to resume after interruption without restarting from the beginning which is time consuming. Very useful to rerun alignment commands very fast (with the same registration parameters) which makes -align as practical as the two-step alignment (-reg and -corr) to fix time sync, group, channel or correction issues
  • Correction undo functionality cancels previously applied geometric correction, and also removes processing info from header. Useful if original files are no longer available. Creates small laz files (5-10% size overhead for laz data) containing point to point corrections, named *_p2p_corr.laz
  • Single pass merge and cut upgrades recently added cut feature (command -cut), now multiple files from the same flight can be used for a clean recut. The new option -cut no longer takes an argument (input file) but LiDAR input options should be used instead (-i or -l). Useful to recut UAV data organized as separate files with a maximum number of points regardless of flight geometry
  • Trajectory segment reconstruction (option -porec) to generate PO segments from LiDAR point clouds when PO data is missing or bad. Use with command -scan. For each swath, a *_PO_seg.txt file is created with the default ASCII column format (txyzwpk) containing two data points corresponding to a linear approximation of the trajectory, with 0 roll and pitch, and a heading given by the direction vector for the flight line. The height is computed using an approximate AGL from LAS scan angles (use option -agl for manual input). Use with -align or -corr as regular ASCII PO files (no -po_parse required but -A might be needed if LiDAR in adjusted GPS)
  • Automatically reject reference data not overlapping mobile data, based on bounding boxes unless option -tile2 is used. This works best with N-S or E-W swaths whose bounding boxes represent the actual footprint accurately, and assuming LAS header information is correct (see new option -tile2 if mobile data bounding boxes not appropriate for swath geometry)
  • Reference data optimization to use only what is needed: 2-step tiling (option -tile2) to perform reference data rejection based on mobile swaths occupancy maps. The first step only tiles mobile data, then computes the occupancy map; the second step rejects reference swaths or tiles using their bounding box, thus reducing the amount of reference data to be processed. Use tiled references for optimal performance
  • Incremental correction optimization: export gridded tiles as compact laz files after correction in addition to corrected files (main option -ogtile_corr, see also -ogtile -ogtile_ref and -ogtile_tiff). Then, instead of using the corrected swaths as references (which requires retiling and regridding), use these grids instead, along with option -tile2, to drop useless tiles based on their bounding box. Gridded tiles are small and their processing (tiling+gridding) is very fast. File naming convention: name contains _sa_gtile_corr_ and SW corner coordinates. Applies to commands -reg and -corr (both) or -align
  • Constant attitude reconstruction (option -attrec), useful in cases with unknown IMU rotation such as the DJI L1. Overrides attitude roll and pitch with 0, and heading with estimate from swath direction vector, constant for each swath
  • Per swath external calibration parameters (boresight, lever arm) instead of per group or global (option -ext_sw). Use with caution, in rare cases when multi-channel scanners are affected by time dependent distortions or inter-channel misalignments captured by these parameters
  • Transect point cloud export (options -trans_x or -trans_y). Use one of these options with command -scan (or -reg or -align) to export a E-W or N-S transect using the input point clouds (filtered during tiling) to a text file named *_trans.txt. Units: X and Y interval inputs and exported transect use same unit as LiDAR data. Column format: X Y Z Swath# Group#

New options

  • New option -gcp_check to set default value for the control column if absent (1 for all check, 0 for all control)
  • New option -gcp_sigma (default value 5 mm or 1 cm 95% CI) to set the default standard deviation of GCP (if the sigma column is not defined in the GCP input file), applies if option not used and sigma column undefined
  • New option -ogcp_pc (disabled by default) to export LiDAR points (filtered during tiling) within a certain distance of each GCP (distance is 2.6xGGSD or 1.3xFWHM, FWHM given in GCP report header). File name suffixes: _GCP_PC.txt (original) _GCP_PC_corr.txt (after correction). Column format: X Y Z Swath# Group#
  • Option -ogcp_pc also exports a GCP Z measurement file when the GCP point cloud is exported with option above. File name suffixes: _GCP_sw.txt (original) _GCP_sw_corr.txt (after correction). Column format: index_sw_# X Y Z_LiDAR sw
  • New option -cache_reg (enabled by default) to control the registration cache feature
  • New option -oundo (enabled by default) to control correction undo data generation (*_p2p_corr.laz files)
  • New option -porec (disabled by default) to enable PO segment reconstruction and export
  • New option -agl to specify mean AGL manually for PO segment reconstruction feature (option above) when scan angles are not present or bogus
  • New option -blend_ch (default 1) to blend depending on channel information, works as other channel-related options (1 no preference, 0 only same channel, 2 only different channels). Can help cancel inter-channel discrepancies using the powerful blend feature with limited impact
  • New options -bbox_x and -bbox_y (arguments: min and max coordinates, same CS as LiDAR, default undefined/disabled) define project bounds to reject any swath (mobile or reference) outside user-defined bounds. Units: bounding box X and Y interval inputs use same unit as LiDAR data
  • New option -rej_ref (enabled by default) to reject reference data not overlapping mobile data
  • New option -ogtile_corr (disabled by default) to export corrected gridded tiles with -align. Overrides option -full. When using -reg and -corr instead, use this option with both commands otherwise only areas with overlaps will be exported
  • New option -ogtile (disabled by default) to export uncorrected gridded tiles for various purposes. Applies to commands -reg or -align or QC (fast or pairwise). Overrides option -full
  • New option -ogtile_ref (disabled by default) to enable the export of reference data, useful if using archived swaths as references for the current run, then planning to use everything as a reference for future alignment tasks. Applies to commands -reg or -align or QC (fast or pairwise)
  • New option -ogtile_tiff (disabled by default) provided as convenience to export TIFF images in addition to laz tiles, only when using one of the options above (use -wf to add georeferencing information). Note that StripAlign is not a gridding software and grids are optimized for registration, and are not ground filtered
  • New option -tile2 to enable 2-step tiling (disabled by default) for reference data optimization
  • New option -cut_buf allows the cutting command (-cut) to remove a specified time buffer (in seconds) at the beginning and end of each segment. Useful to remove bad IMU data before and after sharp turns for some UAV
  • New option -ext_sw (disabled by default) to allow per swath external calibration parameters
  • New option -attrec (disabled by default) for constant attitude reconstruction
  • New options -trans_x or -trans_y (arguments: min and max coordinates, same CS as LiDAR, default undefined/disabled) to export a transect point cloud

Option argument or default updates

  • Command -cut no longer takes an argument, requires LiDAR input options to process data (if input omitted, only pos_cut.txt file is generated)
  • New argument 10 for option -A to support UTC week seconds when importing ASCII PO files and SBET (see updates below)
  • Updated default -max_dev and -dev_range values to 0.2 to avoid dropped timestamps (testing shows no significant impact on correction results)
  • New argument to option -gcp_equal, 0 for full weighting (using point cloud and GCP uncertainty 1/S2+1/U2), 1 for all equal, 2 for GCP accuracy only (1/S2)
  • Updated default values for -gcp_r_max and -gcp_d_min (GCP filtering options) to 2 and 0.1, respectively

Bug fixes

  • Fixed minor issue affecting the blend feature in some cases (different topology from intended usage on edge artifacts)
  • Fixed missing error message if mismatch between global encoding bit and timestamps, likely removed when introducting option -auto_adj
  • Fixed global mean in json output if data in feet
  • Fixed minor issue affecting the INCI95 column of GCP reports if data in feet
  • Fixed a file name collision issue in the split feature, now file names contain a hash if split files are not in the temp directory. Solves case with same file names in different directories
  • Fixed minor issue with disabled geometric corrections causing a crash instead of a clean exit with explicit error message
  • Fixed minor bug with current directory name ending with path separator
  • Fixed missing rollover warning in binary PO file readers if full file is read
  • Fixed minor issue with error message claiming that RMLUSER and RMLPW environment variables are undefined
  • Fixed minor bug affecting options with floating point arguments in rare cases
  • Recovered missing warnings to POF reader, disappeared during previous update

Updates and improvements

  • New version of LASlib 210720, new LASlib.dll required for StripAlign 2.20 executable
  • Major upgrade to reference swath merging. Significant optimization (speed) by avoiding explicit merge step requiring sequential tiling of all reference data in a single thread, that would potentially slow down the tiling process depending on the size and number of reference files used
  • Tiling code upgrade to solve microtile overflow issue for high density point clouds, removed warning. Tile version changed (no longer compatible with older version tile cache)
  • Upgraded WKT parser to support TOWGS84, and implemented required 7-parameter transformation. This allows to use the British Grid as well as other coordinate systems having a significant rotation/tramslation with respect to WGS84
  • Added support for UTC time to SBET reader, useful in some cases (even if SBET should always be GPS time according to spec), use -A 10 to enable
  • UAV-only area limit is now per group, not per project, allowing to align multiple missions
  • UAV-only filtered point count limit is now per group, not per project, allowing to align multiple missions
  • Improved PO data interpolation speed when there are significant time gaps (usually due to merging flight line segmented PO files)
  • Blend weights (for blend feature) are now 1/2 if channels are different, so channel blending is realized by channel averaging
  • Using GCP and reference data at the same time now overrides options -B and -shift_ref to provide optimal corrections
  • Manual corrections (-corr wihtout previous -reg) no longer trigger gridding, no QC maps by default
  • Added support for GCP accuracy column to improve weigthing accuracy. Use 's' in the parse string to specify which column is the GCP standard deviation (option -gcp_parse)
  • Added support for GCP control flag to select which points are control (1) and which ones are check only (0). Only control is used for Z bias correction. Stats are stratified by control/check, not only by group and swath. Use 'c' in the parse string to specify which column is the control flag (option -gcp_parse)
  • Improved GCP input flexibility by making GCP name column optional, now only X Y Z can be used
  • Added DZ min, DZ max, and swath occurrence information to GCP reports; also added info about kernel FWHM (header section)
  • Added new columns to GCP reports: GCP point cloud measurement uncertainty (column label Unc) and local slope (label Slope{X Y}); also added input GCP accuracy and control columns (column labels Sigma and Control)
  • Added column to GCP reports to show initial number of points used for each GCP (label Npts), outlier rate column to show the percentage of points dropped by the new robust algorithm (label Out%)
  • Updated json optional output to match the upgraded GCP reports
  • Added correlation file output to command -calib to show parameter correlations (eg. x lever arm and pitch boresight), file name *_cal_cov.txt. Normalized covariances are provided (values between -1 and +1) to help interpret the results. Warning issued if absolute value exceeds 0.5, and error if exceeds 0.95. The last row of the file shows uncertainties (standard deviations)
  • Improved reliability of cut feature (-cut command) for UAV data
  • Updated LAS header StripAlign processing string, now written as VLR (4001) instead of overwriting LAS system identifier
  • New licensing module 'lite' restricting the use of certain options for limited-feature licenses (disabled: -blend -split -cut -undo -porec -attrec -gcp -trans_x -trans_y; parameter override: -C -D -dpoc)

Minor updates and improvements

  • Index file (_idx.log) version changed due to new parameters and flags, older versions no longer compatible (-corr with registration data)
  • Updated maximum point count for UAV-only license to 500 Mp, added detailed error messages (group area or point count overflow)
  • Updated behavior of option -qc_ch to use in combination with option -ich
  • Now logging full 360 deg heading in swath stat file; replaced column label with Heading
  • Improved calibration output file and runtime text display
  • Minor update to geoid code to force the use of original WGS84 coordinates for geoid interpolation (improves accuracy)
  • Warnings about abnormal time interval in PO file now emitted only if the detected time gaps are affecting used flight lines, so PO files merged from segments can be imported without warning
  • Added warning at the end of run if swaths excluded due to missing PO files (otherwise it might go unnoticed)
  • Updated (more accurate) warnings if failed to find GCP; updated runtime screen display of GCP occurrences
  • Added median Z (Zmed) and scan angle bounds (Amin Amax) to swath stats file
  • Improved directory permission checking when temp or out are undefined; now also checking if input and output directories are different to avoid potential issues with overwritten files
  • Updated option file input (-opt) to add error if no option file specified
  • UTM zone displayed if TM from WKT, not only for explicit UTM projection
  • Improved swath width estimation method for swath stats file when adding -porec feature


André Jalobeanu

unread,
May 6, 2022, 10:07:39 PM5/6/22
to BayesMap software users

Version 2.21 Build 05/02/2022

New features

  • Tagged option file support (option -opt), allowing data input (LiDAR, PO, and all related parameters). This uses a hierarchical, simplified and flexible XML format with tags and attributes/values replacing existing or new options/arguments. Various combinations of flights can be used: single or multi-channel, splits, references. The data are entered in a more user-friendly way than on the command line (avoiding PO duplication, and options such as -chgrp and -splitgrp). See supplementary document tag_opt_file.pdf (same place as the manual)
  • Scatter plot export (enabled by default, see options -plot, -p_range, -p_size, p_inv to customize) to display xy yz xz projections of vector data. Applies to registration, correction and residual vectors. Plots are saved as jpeg or tiff depending on QC options and the range is encoded in the file name. See supplementary document new_plots.pdf (same place as the manual)
  • DZ histogram export (enabled by default, see options -plot, -h_range, -h_size, -h_log, p_inv to customize) to display DZ histograms. Applies to initial DZ, after registration DZ, and after correction DZ. Showing linear or log of counts. Plots are saved as jpeg or tiff depending on QC options and the range is encoded in the file name. See supplementary document new_plots.pdf (same place as the manual)
  • Initial and post-correction reports, synthetic and easy to read text files named *_QC.log and *_QCcorr.log. The initial QC report shows information about software, input data stats, summary QC stats (initial and registration DZ, registration DXYZ). The post-correction report shows information about used data, PO data and projection, enabled corrections, summary QC stats (final DZ, total and component corrections DXYZ, residuals DXYZ), corrected files and extra output
  • Transect image export with options -xzview or -yzview (use with options -trans_x or -trans_y introduced in version 2.20). Extends the new feature introduced in 2.20 (transect point cloud export) by generating an image instead of a point cloud, jpeg or tiff depending on QC options. The GSD is either the GGSD from gridding, or manual with option -vgsd

New options

  • New options -xzview or -yzview (exclusive) to generate a transect image (options -trans_x or -trans_y required), disabled by default
  • New option -vgsd to set the resolution of transect images (default auto, equal to the grid GSD)
  • New option -d_color to control the colormap of density maps, density rasters and transect images, default 8
  • New option -plot to enable or disable all new xy yz xz scatter plots and DZ histograms, enabled by default
  • New option -p_size to set the number of pixels corresponding to the range (image size will be 2*size+1), default 100
  • New option -p_range to set the range (in meters), default 0.5 m
  • New option -h_size same as -p_size for DZ histograms
  • New option -h_range same as -p_range for DZ histograms
  • New option -h_log to compute log histograms (y = log count), disabled by default (y = count)
  • New option -p_inv for inverse plots (white background), disabled by default (dark background). Note: also affects background of DZ maps for colormaps 4 and 9 (solid colors)
  • New option -po_att replaces previous option -attrec, argument required (0 disabled, 1 to override attitude as with previous option -attrec, 2 to keep attitude but ignore sbet wander angle instead), disabled by default
  • New options -RLMUSER and -RLMPW to enter license user name and password on the command line or via parameter files

Option argument or default updates

  • Option -oundo is now disabled by default due to user preference (use persistent option file to enable for every run)
  • Now -opt only accepts a single option file as argument, that can be a simple or a new xml-like tagged option file
  • Replacing option -attrec with -po_att 1 (see above)

Bug fixes

  • Fixed conversion issue when importing ASCII PO files in geodetic coordinates and radians (only attitude was converted correctly)
  • Fixed issue causing a crash during correction with warp in some cases
  • Fixed issue affecting blend corrections due to bad data in DUT files in some cases, now works with both old and new registration data
  • Fixed issue with scan angle export (option -oa) when using a mount with nonzero angles
  • Fixed conversion issue with -porec option (PO segment reconstruction introduced recently) for data in feet
  • Fixed path parsing issues with .\ and ..\ that were not interpreted correctly, now they are relative to the current directory and are not affected by -I
  • Fixed command line issue related to -chgrp when using normal and split swaths at the same time (using the new tagged option file is recommended now)
  • WavEx compatible text calibration file *_cal.txt now only has 6 internal parameters as expected
  • Fixed minor, rare time conversion issue in ASCII PO file reader so the week second column is read before UTC time correction
  • Fixed issue affecting combinations of split and non-split flights, causing loss of boresight angles, channel info and possibly GPS date (using the new tagged option file is recommended now)
  • Fixed issue with georeferencing info of large DZ image tiles in fast QC (was only affecting fast QC tiled DZ maps)
  • Fixed minor bug affecting PO data interpolation accuracy in some cases
  • Fixed minor bug affecting recently introducted bounding box based swath rejection in some cases
  • Fixed minor issue affecting the accuracy of Z estimates on tile boundaries and causing loss of registration data
  • Fixed minor issue causing wrong error message "coordinates look geodetic" for PO files with negative coordinates in some cases

Updates and improvements

  • New option to ignore wander angle in binary sbet PO files, use option -po_att 2. Allows DJI L1 users to use actual attitude information (instead of override with 0 0 constant_heading), IMU rotation 0 90 0 must also be used for this sensor
  • Improved robustness of tiling and swath correction code to allow incomplete swaths, displaying warning (missing points) instead of error, so that truncated files are no longer dropped and can also be fully corrected
  • Automatically exporting options to a *_opt.xml file into 3 sections: tagged options, command line options, and persistent options. This allows the user to re-run a specific command easily without having to dig into the log file to retrieve the command line arguments
  • Improved support for sub-directories in option -I through better detection of absolute paths. Example: -I dir -i sub\*.laz will take *.laz from dir\sub but -i \absdir\*.laz will use the absolute path \absdir
  • Added support for LAS "beam id" standard extra byte, now splitting can be done with new type 'bi' to use this extra byte info, useful for calibrating or aligning multibeam UAV sensors
  • Computing and displaying the PO bounding box, and adding check to automatically warn the user if the data and PO bounding boxes don't match
  • Improved implementation of -las_read_check command, better stat display (Mp, MB, time, estimated speeds)
  • Deprecated support for LiDAR data in ASCII format, removed option -iparse, use txt2las if need to convert

Minor updates and improvements

  • Added options to enter license info on the command line or using the persistent option file (see option file example, same place as the manual). This either replaces or overrides environment variables RLMUSER and RLMPW. It also allows software dependent licenses. Passwords are not saved to log or option files
  • Updated per flight UAV limits to 1 G pts and 10 km2 for compatibility with recent UAV scanners (such as DJI L1)
  • Optimizations to avoid processing duplicate PO files for multichannel flights, improved internal consistency checks
  • Minor updates to PO sync log files to show more consistent PO file info for multichannel flights
  • Auto export binary registration vectors DUT file to ASCII if -ascii is used, so there is no need to run a separate -export_dut command
  • Minor updates to tiling code to better handle Z bounding boxes
  • Added simple las header reader to report bounding boxes and number of points, now displaying data size immediately, before tiling
  • Improved bad option error reporting for option files
  • Individual PO bounding boxes added to PO log (previously only Z was logged)
  • Improved geometry error reporting (BF/ICS) using a large error counter. Added warning for large discrepancies to help spot projection and unit issues
  • Map input for channel split updated, now channels start at 0 instead of 1 for consistency with various software outputs
  • Adding build date to software name written to LAS headers and QC reports
  • Updated UAV limit-related error messages for clarity, and point count check done now before tiling


André Jalobeanu

unread,
May 10, 2022, 10:56:04 PM5/10/22
to BayesMap software users

Version 2.21 Build 05/10/2022

Bug fixes

  • Fixed bug introduced in latest build preventing the ASCII PO reader from using the GPS date from the command line with option -gps_date (GPS dates in the tagged option file were processed correctly)
  • Fixed failed gridding issue only affecting gridding reference swaths with spaces in file names or paths

Minor updates and improvements

  • Output directory written to QC and GCP reports is now an absolute path
  • Added current directory logging to exported xml option file as global option [dir=...] (info only, ignored by option file parser). Helps reproduce a command entirely from the option file even when the paths are relative to the current directory used during run

Known issue

Sometimes, crashes occurring in a background thread exit directly without license checkin and end of log info

  

More info about new features in version 2.21 on BayesMap website blog: bayesmap.com/blog

André Jalobeanu

unread,
Jul 7, 2022, 1:06:31 PM7/7/22
to BayesMap software users

Version 2.21 Build 07/07/2022

Bug fixes

  • Fixed ASSERT error due to undetected group size mismatch in PO synchronization code. Now group size incompatibility between registration (swaths) and correction (PO files) will be detected when using the two step alignment (bug did not affect single step alignment with -align)
  • Fixed issue in channel consistency test (for multichannel data only). An error was triggered by an incorrect verification in some cases even with correct input

Minor updates and improvements

  • Updated shading code for incidence below 30 deg (option -shading) to implement a rigorous Lambert shading


André Jalobeanu

unread,
Feb 22, 2023, 5:03:52 AM2/22/23
to BayesMap software users

Version 2.22 Build 02/21/2023

New documentation

Short pdf about DJI L1 alignment procedure (DJI_L1_info.pdf) - how to cut each single-file mission las file and then align the produced laz flight lines. Includes specific options due to the 90 deg mounting angle of the IMU and possible sbet format issues

New features

  • Robust GCP statistics (see option -out_gcp): when enabled, this automatically removes outliers or abnormal z-differences when computing GCP statistics and the global z-bias correction. Even if the GCP measurements are robust to noise and vegetation and objects above the ground, robust statistics are essential when some of the points are unreliable, exhibiting a gross error due to the presence of objects during collection (cars on parking lot) or due to horizontal error (point on the roof ending up on the ground). Added separate 99% outlier counter and 99% confidence interval as well as separate INCI99 (in 99% confidence interval) to GCP reports. Requires at least 4 GCP in each group for robust statsitics, otherwise regular statistics are used
  • Attitude angle transformation using IMU rotation (see option -att_imu) to avoid gimbal lock during inversion, which causes difficulties in correction computation in certain situations (eg. DJI L1 which has a 90 deg rotation). Only affects internal computations and not exported corrected trajectory
  • Beam calibration during correction without split, for scanners with multiple lasers affected by relative beam misalignment. See options -beam_calib_corr and -beam_param to specify how beams are encoded, and to provide calibration corrections for each beam. Performs relative beam calibration correction efficiently during an alignment procedure on the fly (without splitting the files then merging them back together)
  • Support for two new projections: Hotine_Oblique_Mercator and Oblique_Stereographic (via WKT)
  • Support for Lambert_Conformal_Conic_1SP added (updated parser to handle both 1 and 2 standard parallel cases, projection code was already compatible)

New options

  • New option -out_gcp disabled by default, when enabled (no argument) the GCP statistics become robust to outliers (see explanation above), which helps the entire correction become more robust to obstructed or displaced GCP
  • New option -ics_err enabled by default, when disabled (argument 0) any body frame or ICS errors during the geometry check become warnings and the correction can go on (not recommended in general, but can help with turbulent flights or asymmetric or incomplete flight lines)
  • New option -beam_calib_corr defines how beams are encoded in LAS files, has the same arguments and syntax as option -split but without explicitly splitting the data into multiple files. It defines which LAS field should be used and how many beams there are, and optionally if a map file is needed to translate the LAS field into beam numbers. Example: argument 'ud 16' will consider 16 beams encoded in the LAS user data. Beam numbers are 0 to n-1 for n beams. Requires next option and enables multibeam calibration corrections, either as a manual correction step or at no extra cost during the automatic alignment
  • New option -beam_param specifies the file containing the calibration corrections for each beam. This file is usually produced by StripAlign during calibration or correction and the default name is out_cal.log. When using parameters from other sources, the format needs to be the same or the file will be rejected, see end of manual for more info. Required by previous option, cannot work separately
  • New option -same_datum disabled by default, when enabled it forces the software to use the same ellipsoid defined by the WKT as the input datum instead of WGS84 (default for GPS)
  • New option -att_imu disabled by default, when enabled the attitude angles are transformed internally to avoid incomplete corrections. Useful with scanners such as the DJI L1 having a 90-deg rotated IMU. The exported PO data with option -opo (such as sbet files) is not affected by the rotation, but the PO plots are
  • New options/commands -test_proj2 and -test_proj3 are helpfuk to project individual points, both work with WKT, geoid and other projection-related inputs. They have 2 and 3 arguments lon lat and lon lat h, respectively

Bug fixes

  • Corrected 32-bit index overflow affecting very large drop maps
  • Improved hash computation to avoid collisions, fixing a minor issue (renaming of output laz files even if there are no duplicates) and possibly other issues
  • Subsampling intervals for QC maps (option -sub) different from a power of 2 were causing empty QC rasters in fast QC (not affecting accurate or pairwise QC)
  • Fixed issue other subsampling bug, with some very high density datasets the QC map export failed except for -sub 1
  • Fixed issue with TRJ files with rollovers, the initial time interval compatibility check did not take into account rollover correction so it was displaying the incompatible timestamps message even in normal situations
  • Degenerate MBR geometry was not detected, now displaying error message if detecting a faulty MBR due to small, unusable swath (eg. extremely short flight line)
  • Rare issue affecting large registration DUT files (32 GB) is likely fixed
  • Addressed an issue occurring with -align2, PO parse string and time type were discarded after the first step so ASCII PO files were not properly imported during the second step
  • Fixed other issue specific to -align2 this time with 2-channel data (eg. 1560), only the channel 0 PO file names were updated
  • Fixed PO interpolation error for attitude angles outside PO time interval, position was extrapolated correctly but attitude was not
  • Addressed rare issue caused by a . in the install path of the software, causing issues with the log path and displaying error messages, mostly on linux

Updates and improvements

  • Increased maximum number of channels to 32, very useful for splitting multibeam scanner data for multibeam calibration and correction purposes
  • Improved consistency of correction fields produced with -blend when using drop maps, now holes due to dropped data are filled in to avoid potential correction discontinuties that were causing artifacts in some situations with high residuals
  • UAV area limit now only applies to data to be aligned, not to reference data. This way large references can be used (eg. 3DEP tiles, existing DEMs or airborne scans)
  • Now allowing duplication between mobile and refrence swaths, so that data can be split and registered with respect to the non-split data, useful for multibeam  calibration relative to the average beam geometry
  • Datum transformation is now enabled if there is only a difference in ellipsoid in the WKT string (previously it required TOWGS84), see new option -same_datum to skit that transformation and assume the source and target ellipsoids are identical, and revert to previous behavior
  • The PO plot command now records the updated attitude angles if the new option -att_imu is used

Minor updates and improvements

  • Improved stability of blend feature if some special cases, when two swaths become fixed (they can no longer be corrected due to trajectory sync issues)
  • Added bounding box mismatch detection (between LiDAR data and trajectory) with error message. Helps to spot projection input errors or las/PO file mismatch immediately
  • Added XY bounding boxes to swath stat file, as well as bounding boxes to PO sync stat file for each segment
  • Fixed minor QC report and display issues when only reference data is used (for QC)
  • Added GCP DZ adjustment to out_QCcorr log file
  • Improved robustness of persistent option file parser so that comments are fully supported (including the template provided). Use [ ] or // for comments. Now '=' is also robust to spaces, eg. a = b can be used
  • Improved cutting feature (command -cut) to avoid gaps of one time interval not shown in file pos_cut.txt but applied to data, for better consistency between the text file and cut lines
  • Fixed false memory warnings related to DZ map sizes for subdivision greater than 1
  • Channel LAS 1.4 verification (used for splitting) was done for wrong type, fixed now
  • Fixed minor log issue affecting PO sync log, dates were not displayed correctly when using -gps_date option
  • Updated 0 bounding boxes for non-main channels also affecting PO sync log
  • Extra commamnd line arguments are now treated as errors instead of warnings, to avoid issues with missing '-' in front of commands that could lead to unwanted behavior (such as running the default command which is accurate QC and not align)
  • Exported PO segments were not starting and ending exactly like the corresponding flight lines due to internal subsampling, now the export code makes sure the swath time interval is always included in the PO time interval
  • Split names updated to start at 0
  • Added error message if there are illegal line endings in the XML option file (unusual mix of 0D and 0A could trigger parse errors)
  • In the XML option file, tags are now case insensitive, eg. <PO IMU=0,90,0> and <input> are both accepted
  • Updated correction string added to las files (VLR) to include 'M' for the new multibeam calibration corrections
  • Minor improvement to registration speed due to forgotten debug code


André Jalobeanu

unread,
Feb 25, 2023, 12:53:23 PM2/25/23
to BayesMap software users
Version 2.22 Build 02/24/2023

Bug fix

Fixed an issue introduced in 2.22 with the robust GCP statistics feature (even when disabled). The issue was only affecting two cases with GCP bias correction enabled: GCP with reference data, or GCP with option -B (independent group bias removal). The bug was in the initial per group statistics computation and was not taking into account groups so the final biases were all equal, which affected the computed corrections and prevented the correct elimination of GCP biases. 
For projects already processed, to address the issue, simply shift the data using the displayed GCP bias (showin in the post-QC correction report). If possible, rerun with the new build (caches should shorten run time considerably). 

André Jalobeanu

unread,
Jun 10, 2023, 12:50:50 PM6/10/23
to BayesMap software users

Version 2.23 Build 06/06/2023

New documentation

Short 2-page pdf about new XYZ GCP feature and existing Z GCP feature (GCP_info.pdf), with example input file, up to date option lists for both features, and a few notes

New features

  • Support for XYZ GCP, allows to constrain the horizontal absolute accuracy. Requires manual measurements for control points in each swath. Works the same way as the GCP support already available, by canceling the global (or per group) bias, and providing before and after correction reports. Fully compatible with existing Z GCP feature. The XYZ bias correction is applied before the automatic Z GCP measurement to reduce the effects of horizontal error (see pdf for more info)
  • Automatic fix for dropped channel 0 data (rejected during tiling or missing from the input), applies to multichannel datasets from certain sensors (eg. Chiroptera) that may have insufficient data in some channels, not necessarily the secondary channel (which would not be an issue). Use option -fix_ch0 when getting the channel inconsistency error message and automatically reassign the main channel to the remaining available swath in the same flight line

New options

  • New option -xyz_gcp to specify the XYZ GCP input file (ASCII) and enable the XYZ GCP feature at the same time. Compared to previously supported GCP files, the XYZ GCP files require 4 extra columns for each point: the XYZ measurements in a specific swath, and a string that uniquely identifies that swath (usually a substring of the file name that contains the timestamp)
  • New option -xyz_gcp_corr enabled by default, controls the XYZ GCP bias correction (only uses points flagged as control)
  • New option -xyz_gcp_parse to specify the column format of the XYZ GCP input file. The default parse string is ifxyzXYZ with respective columns: index, swath id string (no spaces), collected point coordinates, measured point coordinates in the swath. The index is optional. Other optional columns are h for horizontal accuracy, v for vertical accuracy and c for control flag (same meaning as related Z GCP options but horizontal and vertical accuracies are separate). Use . or # to ignore a column, same syntax as option -gcp_parse
  • New option -xyz_gcp_check disabled by default, treats all XYZ GCP as check points instead of control points if enabled, and if the control column is missing or ignored
  • New option -xyz_gcp_sxy sets the horizontal accuracy of XYZ GCP measurements when the respective column is missing or ignored (default 0.02)
  • New option -xyz_gcp_sz sets the vertical accuracy of XYZ GCP measurements when the respective column is missing or ignored (default 0.02)
  • New option -xyz_gcp_equal disabled by default, uses equal weights for all XYZ GCP when computing stats (by default points are inverse variance weighted)
  • New option -fix_ch0 disabled by default, to allow automatic fixing of missing channel 0 swaths and avoid the inconsistency error displayed when such swaths are dropped for any reason

Option updates

  • Option -po_tol (updated existing option) now also works for time sync, use if sync fails due to PO data starting late or ending early. The argument is the tolerance time interval in seconds, increase interval to solve difficult cases (default 1 s)
  • Option -fav_att (updated existing option to accept argument 2 to select a balanced prior)
  • Option -gcp_grp replaces -gcp_dz_grp (the short version is still -B) for both Z and XYZ GCP per group bias cancellation

Bug fixes

  • Addressed an issue in the Hotine_Oblique_Mercator (HOM) projection added in version 2.22 (sign error in special cases with azimuth=90), now HD72 works on both sides of the longitude of center
  • For multichannel data, trajectory corrections were applied multiple times (multiplied by the number of channels) in the exported corrected trajectory files (enabled with -opo), this should no longer happen
  • Fixed radian lon lat export bug in the exported corrected trajectory files (-opo)
  • Fixed issue specific to -align2 and multi-channel data
  • Fixed issue specific to -align2 with reference data
  • Corrected unit conversion error (with data in feet) in LAS bounding box readers, may have affected bounding box based swath rejection
  • Fixed minor issue with GCP weighting scheme, case 2 of option -gcp_equal was not handled (was treated as 1)
  • Fixed issue affecting certain low density datasets and triggering an "empty time table" error
  • Special case of alignment with global shift only (all other corrections disabled) was not supported, even if it worked using the manual correction mode (-corr without argument), and the case with all corrections disabled was not detected on time; both situations led to a crash which is now addressed (error message if all corrections disabled)
  • Fixed ASSERT error in PO plot with TRJ format
  • Corrected test for projected coordinates detection in input swaths during tiling, and edited message (more explicit) after invalid coordinate error message display

Updates and improvements

  • New prior model variant (select with -fav_att 2) offers a balanced alternative to favor-position or favor-attitude corrections previously available (the default variant is still 0, favor position corrections); use with caution, may require additional drift testing for large datasets
  • More robust timestamp filtering method during the tiling step, to avoid getting wrong timestamps for very irregular or low density data in some cases (circular/elliptical scan patters or multiple channels in the same file)
  • Ability to apply per group GCP bias corrections (option -B) in manual correction mode (command -corr with GCP only), this option was only working for automatic alignment in previous versions
  • Added tile bound check during tiling to avoid crash due to overflow caused by XY coordinate range out of bounds (different projections or too far apart). Bounds depend on -large option. (Existing area overflow was checked after the tiling step and could not catch this issue)
  • Added test based on LAS bounding boxes to avoid tiling overflow when input contains incompatible datasets (different projections or too far apart)

Minor updates and improvements

  • Added warning if less than 20% of the points are left after filtering, during the tiling step
  • Using unit for segmented PO output as well, not only for correction plot exports (with option -out_metre 0)
  • Fixed unit applied to geodetic height in PO plotting (-po_plot), now the unit only applies to the projected XYZ
  • Added explicit error for incompatible temp. tile files to avoid possible confusion with I/O errors
  • Detecting if groups are left empty after swath rejection, and stopping with error message to avoid possible inconsistencies
  • Improved robustness of WKT parser to different spellings of international feet
  • Blend fields for each swath (option -blend) can now be exported with option -ascii
  • Week second GPS time formatting improved in various logs, showing GPS D X (day of the week) instead of 0000-00-0X, making it clear that it is GPS time, while adjusted GPS time is displayed as a date followed by UTC time
  • Main channel info added to various logs (_idx.log, _sw_stat.log, _PO_sync_stat.log, _BF_ICS.log)
  • Minor formatting issues and some reporting errors fixed in _ch_stat.log, _sw_stat.log, _PO_stat.log, _PO_sync_stat.log

Known issues

  • Swaths rejected during tiling (logged to _rej.log) are ignored even if option -a (correct all data) is used. Use a manual correction step if required (input list from _rej.log and calibration correction parameters from _cal.log). Usually rejected swaths contain no usable data, unless rejection is due to filtering (class-based or drop map)
  • Using GCP with reference data may not fully cancel the GCP bias depending on several factors (IMU error prior, distance between GCP and reference area, etc.). Use option -E to set a higher IMU error prior to find the best compromise between absolute and relative accuracy. Option -abs2rel can be used as well. In a future version, support for adaptive GCP will be added to deal with this limitation and allow more flexibility in the GCP-based correction

André Jalobeanu

unread,
Apr 17, 2024, 8:05:42 AM4/17/24
to BayesMap software users

Version 2.24 Build 03/25/2024

New/updated documentation (BayesMapPackages/StripAlign shared google drive folder)

  • Updated DJI L1/L2 pdf tutorial (DJI_L1_L2_info.pdf)
  • Updated GCP pdf tutorial (GCP_info.pdf)

New features

  • ASPRS compliant GCP report using TIN for height measurement. A list of GCP indices and coordinates, along with the vertices of the triangle containing the GCP and the DZ from triangle interpolation, is added at the end of the existing GCP reports (when using option -ogcp_tin). The GCP computations (various stats, including the DZ bias possibly applied to the data) are not affected. The list is extra information appended to the reports for compliance and is optional
  • Maximum distance cutting with option -cut_dist_max. The argument is the maximum distance for cut flight line segments; this option complements option -cut_dist which sets the minimum distance for cutting. For example -cut_dist_max 1000 will produce files with a trajectory length of max. 1 km. Use with caution as alignment works best with non-segmented flight lines. Feature disabled by default
  • Updated tile index check code to allow reusing the tile cache for reference data without retiling all the reference swaths. Only applies when using reference data for alignment. Running a preliminary QC step (fast or accurate pairwise) on the reference data (input as mobile swaths) to check the relative accuracy before the alignment step will avoid retiling the reference data, and will treat references as regular swaths (while references are merged into a single entity)

New options

  • New option -ogcp_tin (disabled by default) controls the additional GCP list in GCP reports, with extra list of DZ measurements based on TIN for ASPRS compliance
  • New option -cut_dist_max (disabled by default) for cutting flight lines with a maximum trajectory distance per file
  • New option -keep_class or -f for class filtering, complementary of -drop_class or -d. For example -f 40 will filter out all LAS classes except 40, which would require a long list of arguments using existing option -d
  • New option -empty (disabled by default) to save all tiles for large QC images even if the tiles are empty. Default behavior: empty tile images are dropped

Updated default arguments or option behavior

  • Option -dz_all is now enabled by default. The DZ map displays vertical discrepancies from ALL pairs in multichannel cases, so that uncorrected or insufficiently corrected pairs can be visible in the DZcorr map (and in the computed stats), and the initial DZ map accounts for all relative errors in the dataset. With this option disabled, some pairs are missing due to pair optimization to speed up registration (see option -reg_reduce)
  • Updated options -nthreads (or -N) and -nthreads_io upper bounds to 256 instead of the library-detected number of hardware threads, which can be wrong on Windows for some recent processors. If the auto number of threads is smaller than expected, use these options to set manually
  • Updated upper bound for -reg_s_max option to 10 for difficult registration cases with high noise, very rough or complex terrain
  • Setting default uncertainty filter thresholds for registration vector filtering to 1 (instead of 0.5) for options -F -X -Y to conserve more registration data. Setting upper bound to 5 (instead of 2)

Bug fixes

  • Fixed issue causing a significant fraction of registration vectors to be dropped even when using opton -F2, only for low density airborne data, due to a missing GGSD scale factor. Did not affect UAV data due to the usual high density. Caused some loss of data in certain collects below 2 pts/m2
  • Fixed issue in the blend feature (option -blend) that was only affecting correction using reference data, in certain situations when swaths were rejected
  • Fixed 32-bit counter overflow causing incorrect global stat values during QC for very large projects (both during registration and correction). Individual pairwise stats were correct, but global stats reported in the _QC.log or _QCcorr.log files were affected for very large number of points (>4G grid cells)
  • Fixed false warning showing an incorrect number of excluded swaths in some situations
  • Fixed wrong error message reporting insufficient overlap when it was actually an insufficient memory case, now a warning reports the number of pairs running out of memory instead of falsely reporting overlap errors
  • Fixed minor issue preventing the program from stopping after a wrong geometry error message

Updates and improvements

  • Added two columns to GCP reports (occurrence list), new flags In and InGrp between DZ and InCI95, equal to 1 if the GCP was used in the robust stat computation and 0 if the GCP was dropped. The two columns correspond to global and group stats, respectively. New columns are always present and show 1 if robust GCP stats are not enabled with option -gcp_out
  • Option -corr_ref implementation upgraded for compatibility with the blend feature (when using option -blend, the blending behaves the same way as directed by -corr_ref)
  • Improved detection of geometric errors such as negative AGL, now an extra warning is generated if the computed AGL is suspicious, to help detect georeferencing errors due to incorrect projection, geoid, or time delays
  • Now triggering and error and stopping if geometry test (ICS stats) fail, to bypass use -ics_err 0

Minor updates and improvements

  • Added global outlier count to GCP reports before Nout95, only shown if the robust GCP stat option is used (-gcp_out)
  • Updated GCP measurement algorithm to compute a flag equal to 1 if a LiDAR point was used for the GCP measurement (robust plane fit), only if the point clouds around each GCP are exported with option -ogcp_pc. The new flag is written as a new column
  • Added obj export when both -ogcp_tin and -ogcp_pc options are used, so that the triangle used for height interpolation is exported for each GCP occurrence
  • Minor improvements to robust GCP height measurement algorithm
  • Added two new spellings of international feet ("intl") for better WKT parsing robustness
  • Updated internal QC histogram size for accurate QC and registration to allow for large Z discrepancies (100 m)
  • Changed behavior of attitude angle unwrapping during trajectory correction. Now the correcteed trajectory angles are the same as the original angles plus the correction (without discontinuity correction or unwrapping)
  • Adding a warning if merge is requested (with option -merge) but no files are merged

André Jalobeanu

unread,
Jun 25, 2024, 7:02:17 AM6/25/24
to BayesMap software users
Version 2.24 Build 06/24/2024

Bug fixes
  • Addressed an issue preventing the export of corrected PO files in sbet format due to forgotten debug code (likely introduced in version 2.24), the extension was .out but the exported format was actually ASCII. This would cause -align2 to fail if the PO data was in sbet format
Minor updates and improvements
  • Fixed a Windows-specific problem occurring when getting the DUT file size after registration (issue only with large files)
  • GCP measurements are now possible for vertical differences up to 50 m (previously limited by the GGSD, especially for dense UAV data)

André Jalobeanu

unread,
Dec 5, 2024, 6:42:12 AM12/5/24
to BayesMap software users
Version 2.25 Build 12/03/2023

New/updated documentation (BayesMapPackages/StripAlign shared google drive folder)
  • Updated GCP pdf tutorial (GCP_info.pdf)
New features
  • Auto z GCP measurements can now distinguish between top and bottom surfaces (building rooftop vs. ground). The user can specify for each GCP if the point lies on a first (top) or last (ground) surface by using an extra optional column in the GCP input file, and the new parse code is f. For example -gcp_parse ixyzf adds a 5th column which is the first surface flag. Use 1 for first and 0 for last. Use option -gcp_last to set the global default when the optional column is not defined
New options
  • New option -cache_mt_chk (enabled by default) to check the input files timestamp. Use 0 to bypass the check and avoid retiling/regridding etc. when reapplying the same corrections on new files without recomputing everything from the beginning (corrections will be based on the old files, which is ok in some situations)
  • New option -gcp_last (enabled by default) to set the global default for the first/last GCP surface flag if the optional column f in the GCP input file is not defined, for example -gcp_last 0 if all GCP are on rooftops
Updated default arguments or option behavior
  • Option -dz_all now behaves the same way with post-correction QC as it did with registration and QC, bypassing all the pair filters exactly the same way
Updates and improvements
  • Now computing swath bounding boxes for the geometry check without point filtering (return or LAS class filters), so that large filtered areas would not cause false alarms by triggering geometry errors. Scan without any kind of filtering is still recommended for fine geometry checking (internal attitude, FOV etc.). Displayed bounding boxes not affected
  • Updated exit codes to give more explicit info about type of error, now 128+code instead of 0 in case of failure. All platforms: ABRT FPE ILL INT SEGV TERM. Linux only: TRAP QUIT SYS BUS
Bug fixes
  • Addressed a problem with IMU attitude rotation (option -att_imu) applied multiple times and causing geometry errors and possibly correction issues. This was only happening in some cases with high time resolution values (eg. 10 seconds) occurring for certain types of UAV scanners and scan patterns (L1/L2 non repetitive) and without cutting data during turns. Same issue affected -po_att 1 (constant attitude override) but with less serious consequences
  • Fixed issue limited to manual time delay correction module (option -t_corr), affecting correction rasters and correction logs as well as the displayed global corretion mean, for time delays above 0.1 seconds
  • Command-line version of split feature for channel split case (-split ch) was only working with 4 channels, now works with fewer channels if needed. Only command-line -split option affected, not XML option file split input
  • Updated the threshold for projected PO coordinate detection in PO readers to 3 deg (~300 km) and in tiling module to 2 deg (~200 km) to avoid false alarms (coordinate type errors) with long trajectories or long swaths
  • Fixed bug related to tiff tile corruption for very large maps (same issue had been fixed in a previous version for jpeg but not tiff output)
Minor updates and improvements
  • Dumping the WKT info to the main log for easier debugging and support
  • Better discrimination between WGS 84 and GRS 80 ellipsoids in the WKT parser

André Jalobeanu

unread,
Mar 25, 2025, 3:22:59 PMMar 25
to BayesMap software users
Version 2.26 Build 03/23/2025

All the release notes are now on the documentation website (restricted access, for clients and demo users):
Reply all
Reply to author
Forward
This conversation is locked
You cannot reply and perform actions on locked conversations.
0 new messages