# Changelog

<details>

<summary>1.9.1 - 11/24/25</summary>

* Fixes bug in ELM application where the last flight's ELM coefficients would be applied to all flights.
* Fixes update bug where the uninstaller would silently crash in the background without user notification.

</details>

<details>

<summary>1.9.0 - 10/27/25</summary>

Adds rolling dark radiance corrections for SWIR data.

</details>

<details>

<summary>1.8.7 - 10/13/25</summary>

* Adds finer grain datum control to trajectory export for PosPac.
* Adds ability to override IMU and GNSS lever arms during processing.
* Removes prompt for loading ELM coefficients during GRAW loading.
* Adds quick-link to images with drawn ELM targets.
* Adds ability to navigate images in target drawing modal.
* Fixes draw ELM targets polygon colors not matching chart colors.
* Fixes bug where appending processing extents to a bundle would not do anything.
* Adds delete button for erroneously added flights when bundling.
* Changes internal representation of epoch\_eops to KML instead of GeoJSON.
* Fixes radiocal directory not being searched when radiance files are written out.
* Adds support for using a PTP time source with Ousters.
* Fixes RGB generation not working correctly when RGB previews are not available.
* Removes 98th percent linear stretch during RGB preview generation, increasing exposure target contrast.
* Fixes python script inspection failing when there are spaces in paths.
* Fixes target.yml not syncing with elm\_coefficients.json on last target draw.
* Moves Realtime checkbox in Applanix GNSS processing configuration layout.

</details>

<details>

<summary>1.8.6 - 9/19/25</summary>

* Fixes bug where python wouldn't spawn properly.
* Fixes bug where base stations wouldn't be properly uploaded to PosPacCloud.

</details>

<details>

<summary>1.8.5 - 9/8/25</summary>

* Fixes bug in previous releases PosPacCloud integration.
* Fixes bug where users would be double prompted for updates.

</details>

<details>

<summary>1.8.4 - 8/26/25</summary>

### Bug Fixes

* Fixes Applanix PosPac Cloud server being hard-coded to use staging server.

</details>

<details>

<summary>1.8.3 - 5/20/25</summary>

### Bug Fixes

* Checks Ouster metadata udp\_profile\_lidar field against the actual packet sizes from the pcaps. The packet size will\
  determine which processing mode is used instead of blindly relying on the metadata.
* Fixes 32-bit float radiance files not being written for Headwall data.
* Fixes bug where the real-time trajectory (imu\_gps.txt) would try to be parsed as the native IMU/GPS export format.
* Allows for custom installation locations.
* Fixes CRS selection in SBG processing UI not working correctly.
* Fixes bug where iterative hyperspectral back-projection search would become stuck in local minimum.

</details>

<details>

<summary>1.8.2 - 4/22/25</summary>

### Bug Fixes

* Fixed Ouster Dual Return code in metadata not parsing correctly.
* Fixed bug in parsing SBG events.

</details>

<details>

<summary>1.8.1 - 4/11/25</summary>

### Bug Fixes

* Fixed bug where license entitlements wouldn't be populated from <1.8.0 installations, causing users to be unable to\
  process data or edit pipelines.

</details>

<details>

<summary>1.8.0 - 4/9/25</summary>

### Feature Additions

* Added support for Applanix POSPac UAV Cloud.
* Added better control for GNSS processing and support for pre-processed trajectories.
* Added support for writing radiance files in different byte formats and scales.
* Added a port pool for GRYFN Processing Tool's IPC server to avoid conflicts with port 50051.
* Adds Max Backprojection Error parameter to hyperspectral processing configuration.
* Adds optional IGM files to hyperspectral processing configuration.
* Improves hyperspectral orthorectification by filling in more pixels with initial backprojection guesses.
* Adds support for Ouster Dual Return mode.

### Bug Fixes

* Fixes bug where clearing hyperspectral targets for a flight and sensor would clear all the targets for that flight.
* Adds optional extent for processing back for RGB products (it had been accidentally removed).
* Fixes issue where ELM coefficients exported for inter-mission use are accidentally overwritten.
* Fixes GNSS metadata interaction that would cause issues with GNSS processing.

#### Documentation

* Don't differentiate between Pipeline Runner and GUI in the documentation.

</details>

<details>

<summary>1.7.5 - 12/3/24</summary>

### GUI

**Bug Fixes**

* Fixes bug where old GNSS tasks from previous versions' pipelines would supercede GNSS runtime processing configuration.

</details>

<details>

<summary>1.7.4 - 11/27/24</summary>

### GUI

**Bug Fixes**

* Fixes Applanix integration bug where the posbat file would not be added to the pipeline.

</details>

<details>

<summary>1.7.3 - 11/22/24</summary>

### GUI

**Bug Fixes**

* Fixes GNSS processing configuration missing critical parameters.

### Documentation

* Added more in-depth documentation for Digital Terrain Model generation.

</details>

<details>

<summary>1.7.2 - 11/20/24</summary>

### Pipeline Runner

**Bug Fixes**

* Fixes error during bundle appending where data is only specified for one of multiple flight missions.

### GUI

**Bug Fixes**

* Fixes posbat file generation bug for APX-15 processing.

</details>

<details>

<summary>1.7.1 - 11/14/24</summary>

### Pipeline Runner

**Bug Fixes**

* Fixes sorting error when calculating run order for LiDAR products.

### GUI

**Bug Fixes**

* Fixes hyperspectral target drawing error where a rectangle < 2x2 would cause the cursor to infinitely wait.

</details>

<details>

<summary>1.7.0 - 11/11/24</summary>

### Pipeline Runner

#### Feature Additions

* Removes band nodata definitions from hyperspectral products
* HAG and DTM products implemented
* Adds GOBI direct data download via Query from Sensor option in bundling
* Adds exhaustive search for HSI epoch eops during backprojection refinement

#### Bug Fixes

* Fixes missing data streaks in hyperspectral mosaics
* Fixed image/flight line indexing bug causing flight lines to be mis-indexed
* Fixes a bug where a random hyper cube would be omitted from the orthomosaic
* Fixes build issues
* Fixes issue with hsi\_preprocessing not being added to VNIR task
* Fixes Applanix GNSS processing bombing out in certain situations
* Fixes bugs in Specim .nav file parsing and improves back-projection algorithm
* Fixes data type selection not working in some cases for VNIR/SWIR

### GUI

#### Feature Additions

* Adds support for SBG processing front-end
* Adds EOP search window as a parameter for VNIR processing
* Adds Pitch Acceleration threshold parameter for HSI processing

</details>

<details>

<summary>1.6.7 - 9/16/24</summary>

### Bug Fixes

* Fixes race condition in GPT startup causing machineId to be null occasionally

</details>

<details>

<summary>1.6.6 - 6/11/24</summary>

### Feature Additions

* Adds multi-user installs

</details>

<details>

<summary>1.6.5 - 5/13/24</summary>

### Pipeline Runner

* Adds support for using SBG IMU/GPS trajectory exports

#### Bug Fixes

* Removes OpenCV warnings from ROP runner

</details>

<details>

<summary>1.6.4 - 4/29/24</summary>

### Pipeline Runner

* Fixes a bug in multi-mission processing where only the first mission's gpsMonitor.json extent would be used
* Fixes a bug where multiple polygons in gpsMonitor.json would cause an error. The largest polygon by area is now used

</details>

<details>

<summary>1.6.3 - 4/23/24</summary>

### Pipeline Runner

#### Bug Fixes

* Fixed issue calculating DSM extent when at least one LAS file contains 0 points

</details>

<details>

<summary>1.6.2 - 4/22/24</summary>

### GUI

* Fixed bug where the target selection dialog would be duplicated in multi-mission datasets

</details>

<details>

<summary>1.6.1 - 4/15/24</summary>

### Pipeline Runner

#### Feature Additions

* Significant improvements to hyperspectral orthorectification
* All GeoJSON outputs now conform to WGS-84 geographic coordinate standard
* More robust extent file handling
* Added per-sensor extent outputs
* Improved GRAW portability and ELM functionality
* Changed expected nHP calibration files from .chd and .cff to .nhd and .ncf

#### Bug Fixes

* Corrected RGB product generation completion %s

### GUI

#### Feature Additions

* Added radiometric calibration path setting
* Re-added NAD83 (2011) GNSS export option to align with CORS reference epoch

#### Bug Fixes

* POSPac batch now exports trajectory with target epoch matching datum epoch instead of mission to avoid misalignments with other data sources not aware of tectonic models.

</details>

<details>

<summary>1.6.0 - 2/6/24</summary>

### Pipeline Runner

#### Feature Additions

* Added stand-alone support for Headwall Nano HP
  * Automatically generates cube PNGs
  * Performs radiance conversion during data processing (radio cal files must be in GRAW)
* Greatly improved Ouster processing speed
* Re-implemented manual distance to scene (flying height) input for line-scan camera processing
* Replaced grayscale SWIR products with false color
* Added KML support for extent files
* Processes LiADR and hyperspectral with Headwall imu\_gps.txt if no POSPac export is found

#### Bug Fixes

* Fixed issue with GPS SoD roll-over
* Fixed rare CRS axis mapping bug
* Fixed RGB-based sparse point cloud product generation

### GUI

#### Feature Additions

* Simplified GNSS pipelines
* Added GSD-based product resolution for HSI products
* Added Headwall gpsMonitor-based product extent trimming
* Added support for KML and SHP extent files

#### Bug Fixes

* Fixed issue causing processing extent "None" selection to be ignored when processing extent is available
* Fixed issue causing POSPac Batch exports to be in default reference frame epoch instead of mission epoch

#### Other

* Renamed "missions" to "flights" in context of multi-flight dataset bundling
* Renamed hyperspectral output types to ENVI and PNG

</details>

<details>

<summary>1.5.5 - 10/25/23</summary>

### Pipeline Runner

#### Feature Additions

* Added Software Change Log to documentation
* Added support for Ouster data processing (single and legacy modes only)
* Added support for Specim AFX radiance conversion and orthorectification
* Added RGB processing exposure matching and color balancing options
* Re-enabled parallelization for RGB GNSS ROP calculations
* Added number of returns and return number fields to Velodyne point cloud outputs
* Added support for any trajectory datums containing "NAD83"
* Replaced hyperspectral "Flying Height" parameter with an automatic per-frame calculation based elevation difference between DSM (or fixed value) and EOP

#### Bug Fixes

* Fixed Velodyne dual-return point duplication
* Fixed missing lever arms in RGB GNSS ROP calculations
* Fixed DSM min-max implementation

#### Other

* Minor changes in RGB GNSS-Assisted matching window and elevation checks
* Large hyperspectral code re-factor
* Disabled the use of HTTP proxies for gRPC
* Now ignores folders containing "dark" for HSI acquisitions

### GUI

#### Feature Additions

* Enabled window re-sizing of User Manual and Quick Start Guide
* Added GNSS processing datum selection
* Added automatic flight folder navigation for GNSS POS file selection
* Added natural sorting for hyperspectral data cubes for target selection
* License structure changed so expired licenses will be valid for software versions predating the expiration

#### Bug Fixes

* Corrected LiDAR azimuth window processing configuration defaults

#### Other

* Major updates to pipeline defaults and exposed parameters including:
  * Removal of VNIR/SWIR "Flying Height" parameter
  * Removal of GNSS multi-exports option
  * Removal of GNSS project name and format selection
  * Addition of manual DSM value selection
* Overhaul of pipeline defaults and templates (please re-create all user pipelines)

</details>
