New Job
Processing data in the GRYFN Processing Tool follows a pipeline architecture where a bundled GRAW dataset is processed using a predefined set of instructions specifying processing and product configuration. These pipelines are stored in the software for re-use and editing. Pipelines from the GRYFN Processing Tool may also be exported and imported allowing sharing between different users. When processing GRYFN bundled “GRAW” datasets, a processed directory (denoted with a “.gpro” extension) is created. This GPRO contains intermediate processing files as well as a “products” directory containing the final data products generated. Concurrent processing is not currently supported for multiple sensors of the same type.
Pipelines in the GRYFN Processing Tool can be organized into folders via a menu accessible by right clicking pipelines in the "New Job" pipeline selection window.
New Pipeline
Like many GRYFN processing configuration files, pipeline files follow the standard user readable YAML format. Pipelines are organized into individual tasks which contain processing and product configuration settings for each sensor type. Pipelines may be created or imported with the "New Pipeline" option available in the "New Job" tab of the GRYFN Processing Tool.
Many of the configuration settings in pipelines are repeated across different processes and products. A table describing these common parameters is listed below. Further descriptions of settings for each pipeline task are given in the sections below.
Calibration
The system calibration file to be used in processing- File in GRAW or an external file.
Extent
Extent file selection- Do not use extent, use extent included in GRAW, use extent from Headwall gpsMonitor.json, or select external extent file.
Resolution
Level of detail in raster products, determined by the size of individual cells or pixels in the grid.
DSM
The point cloud or raster from which to derive elevation values for output rasters.
Name/Format
The file name and format of the created products. Names should be generic to the output type. GPRO folder name indicating date, location, etc. can be prepended to product names later.
Georeferencing
GRYFN products are output in a reference frame matching that of the trajectory input. The POSPac default is WGS-84 UTM with zone matching trajectory origin, but other datums may be used.
GNSS Tasks
GNSS Processing Tasks can be used to run SBG Qinertia or Applanix POSPac in the background without any user interaction with the respective program's graphical interface. This feature relies on a valid Qinertia or POSPac license and the executable path being properly defined in your settings.
SBG Qinertia
For SBG processing, users have two options for base data corrections: Qinertia will automatically determine whether a Single Base or Virtual Reference Station should be used, or users can upload their own RINEX base data instead. Additionally, users can specify the Coordinate Reference System to project final data products from an embedded list. Prior to job submission, GRYFN Processing Tool will detect whether SBG processing has been run previously through a pipeline. If it has not been run, SBG data will attempt to process at the beginning of job submission. If SBG processing has been run in a pipeline previously, users can choose whether to reprocess SBG data or not with the Force Reprocess toggle in the GNSS pipeline summary tab.
After submitting a job to run GNSS processing, Qinertia project files are saved in the GRAW SBG folder. Users can later open the project for review, view processing reports, base data files, geodesy information, and more. GRYFN format export and event files are also output in the project directory for use in later processing steps, or for review by users.
Applanix POSPac
For Applanix processing, GRYFN has defined three GNSS processing modes that should suit users in most, if not all, normal cases. These processing configurations rely on several default settings of POSPac and only allow the user the ability to change a few key parameters. If more POSPac processing customization is desired, users can run POSPac manually with the desired settings, and provide the POSPac project folder (with export in GRYFN format) to the GRYFN bundler. At job submission, the GRYFN pipeline runner will detect the existing export file in the bundle and no additional GNSS processing will be applied. This behavior is replicated when re-running jobs that operate on a GRAW with an existing POSPac export. Users can override this feature by enabling the "Reprocess GNSS data" option in the pipeline summary tab at Job submission.
The POSPac batch configuration files run by POSPac are saved in the APX GRAW flight folders and have a ".posbat" extension. It is important to note that when running these batch files in POSPac, POSPac will modify these files to include any default settings that were not included in the initial GRYFN-created posbat file. The unmodified GRYFN-created posbat files are stored in a temp directory located at
C:\Users\UserName\AppData\Local\Temp
More information on POSPac and it's batch processing mode can be found in the POSPac manuals directory in your local POSPac installation location. For information on Applanix SmartBase,. see their website.
GNSS Processing Configuration
GNSS Mode allows the user to select between various GNSS base station discovery modes. Users will be prompted to input rover and base data before pipeline submission.
Smart Base has its origin in real‐time GNSS land survey applications where the traditional approach of a single reference station was replaced with a virtual reference station. Based on the Trimble VRS technology, the virtual reference station solution uses a network of continuously operating reference stations (CORS) to compute a set of corrections for the roving receiver anywhere within the network. With Applanix SmartBase, this virtual reference technology has been adapted to work in post-processing and to use longer distances between reference stations to calibrate the atmospheric errors within a network of GNSS receivers.
Smart Single Base differs from Applanix SmartBase in that only one dedicated base station is used as a reference station. Dedicated single base station processing employs deep level of sensor integration and error modeling, significantly reducing the limitations associated with standard single base processing. However, Smart Single Base is only preferred when a reliable CORS base station is within a few (<20) kilometers of the flight area.
User Specified Single Base uses the same IN-Fusion technology as Smart Single Base, but operates using user-provided base station data. This method is best when operating your own GNSS reference station near the flight area or when public correction services are not available.
Datum allows users to select from common UTM datums to use for export trajectory. WGS84 is the default datum use for GRYFN processing.
Realtime enables export of real-time trajectory instead of the smoothed best estimate of trajectory (post-processed trajectory).
LiDAR Tasks
There are two configuration settings unique to LiDAR tasks in GRYFN processing pipelines- Laser Range and Laser Azimuth.
LiDAR Processing Configuration
Laser Range denotes the minimum and maximum range from the LiDAR sensor from which returns will be reconstructed. This minimum and maximum range can be used to exclude points originating from objects very near the sensor- such as the UAV, or from noisy points great distances from the sensor.
Laser Azimuth denotes the minimum and maximum angles within the horizontal field of view of the sensor from which to reconstruct. In the standard GRYFN system configuration, 0 degrees is nadir. Typical start and end laser azimuth values would be 330-30, for a 60-degree horizontal field of view directly below the LiDAR sensor. This filter is not currently applied in Ouster processing as the Ouster is limited to a 60-degree field of view on the hardware.
LiDAR Product Configuration
There are four possible product outputs for GRYFN LiDAR tasks- Combined Point Clouds, Height Above Ground Point Clouds, Surface Models, Elevation Models.
Combined Point Clouds outputs are the combined results of individually reconstructing each raw input PCAP file with the parameters outlined in the processing configuration. Individual PCAP reconstructions are saved in the GPRO LiDAR sensor ID folder. The combined point cloud product may be saved as a standard LAS or LAZ format and may also have an optional outlier removal step performed. The outlier removal step follows a statistical method where for each point, the average distance to its 8 nearest neighbors is calculated as well as a global average and standard deviation of those distances. Points with an average distance to its 8 nearest neighbors greater than the average global distances plus the standard deviation of the point in question multiplied by a user-defined multiplier, are removed. In other words, points are removed if they are a certain number of standard deviations away from the average in terms of the distance to their neighbors. The standard deviation multiplier is a user-defined variable set in the pipeline’s LiDAR product configuration settings.
LiDAR Raster Products (Digital Surface Models [DSMs]/Digital Terrain Models [DTMs]) are a GeoTIFF image representing a rasterization of all available PCAP reconstructions (LAZ files). These 1 band tiff images contain a single height value for each pixel in the image. The rasterized height value is derived using parameters defined in the LiDAR raster product configuration. In addition to resolution and extent options defined earlier in this section, users can set a median filter radius, height percentile, and a enable fill gaps option.
VNIR and SWIR Tasks
Processing configuration for VNIR and SWIR tasks allow adjustment for 3 main settings: DSM, Flight Line Detection/Orthorectification, and Time Delay. A further examination of these parameters is outlined below.
VNIR/SWIR Processing Configuration
Digital Surface Models must be provided as a source of elevation information for orthorectification of VNIR and SWIR data. Users may select both point cloud and raster products from LiDAR tasks in the pipeline as a source for the DSM. Users may also select external LAS/LAZ or GeoTIFF files as a source for the surface model or use a manually defined fixed (flat) value above the Ellipsoid (in meters).
Distance to Scene is the nominal distance between the camera and object space and is used in the orthorectification process. This value can be set to a user defined distance in meters, or estimated automatically. The automatic method analyzes the trajectory using the following equation:
If the DSM contains significant vertical features, then the manual option should be used.
Flight Line Detection Method In order to create high quality orthomosaic outputs for VNIR and SWIR products, GRYFN implements a flight line detection and orthorectification method where hyperspectral data products are created in segments corresponding to sections of trajectory with consistent heading and nominal altitude. There are two methods available for flight line detection- Sum of Cosines and Angular Velocity. In both methods, individual flight lines are extracted from the trajectory file and imagery is orthorectified on a per-flight line basis and later merged into a single mosaic using seamlines that minimize use of pixels at the extent of the image swath. Individual flight line mosaics can optionally be saved as a product in addition to the complete orthomosaic.
The sum of cosines method uses trajectory yaw angles to identify straight flight lines. It calculates the similarity between yaw angles, filters out insignificant data points, and detects flight lines based on transitions between significant points, providing detected flight line segments and residual information. Three intermediate TSV outputs of the sum of cosines flight line detection algorithm are located in the hyperspectral GPRO folder (cosine_means.tsv, residual_cosine_error.tsv, and sorted_cosine_means.tsv).
The angular velocity flight line detection method segments flight lines based on a simple user-defined threshold on the angular acceleration of the trajectory about the yaw axis. Flight lines are trimmed where the raw rate exceeds the threshold.
Manual Time Delay allows the user to apply a time offset (in seconds) to hyperspectral frames with respect to the trajectory. This parameter may be adjusted to account for potential timing issues in high frame rate hyperspectral imaging sensors.
Window is the number of trajectory points to look before and after a particular trajectory point to determine if it's part of the flight-line or part of a turn.
Time Delay Handling offers two options- Constant Interval and Real Interval. With constant interval applied, Headwall hyperspectral image frames are timestamped with a fixed interval PPS recreated from assumptions about the PPS frequency. Real interval uses the true recorded PPS pulses, but will augment the PPS data if there are deficiencies. This setting does not apply to Heaadwall HP or Specim products.
Use Radiometric Correction applies radiometric correction to hyperspectral data. If radiance data is available, or can be calculated from raw data using radiometric calibration files, then radiometrically corrected data will be used in both target selection and orthorectification. If radiance data is unavailable, then raw data will be used. If this selection is toggled, it will not update the displayed target spectra. Targets must be cleared, and then re-drawn.
Write Radiance Cubes will output radiance cubes in 32-bit float ENVI format alongside the raw cubes in the GRAW.
VNIR/SWIR Product Configuration
VNIR and SWIR Products contain two main types: Orthomosaics and Flight Lines. For both product types, the user may specify product name, resolution (GSD), extent, and spectral content (Hyperpectral or false color). For hyperspectral type products, binning, data type, and scale factor configurations are available. A breakdown of each product type is given below.
Orthomosaic options can be selected for "stitched" hyperspectral or RGB outputs.
Flight Line outputs are orthorectified images of a single "pass" of the imager with constant heading. This product is offered for users that would like to view the complete width of a scan line and/or perform custom mosaicking operations.
ENVI products are output in ENVI format and contain continuous hyperspectral data. Additionally, a 3-band GeoTIFF with a *.rgb.tif extension is output for easy visualization. In these 3 band images, spectral content is filtered to only 3 channels. The filter is applied by summing hyperspectral bands that fall within a 10nm wide filter and normalizing the result to an 8-bit max value (across all images). A table denoting the center wavelength for each channel is given below.
VNIR
640
550
475
SWIR
1600
1250
1005
PNG products are generated from *.PNG preview images of the hyperspectral data cubes. These products contain no useful spectral information and their content is generated from the hyperspectral camera or other software tools. These products are intended to evaluate the orthorectification or geometric quality of the data without concern for the true spectral content. As such, orthorectification can be evaluated without large ENVI DN or radiance data cubes.
Resolution of output products can be set manually, or as a percent of theoretical maximum GSD rounded up to nearest 0.5cm. This maximum GSD is calculated from camera calibration, DSM and position information in the same way as the automatic Distance to Scene method. More information on that calculation can be found in VNIR/SWIR Processing Configuration.
Binning dictates a number of consecutive spectral bands to average together for reduced spectral dimensionality.
Scale factor is the value that, when divided into your data, would scale it from 0-1 reflectance. For example, if the value of 10,000 in your data should represent a reflectance value of 1.0, enter a reflectance scale factor of 10,000. This is only applied when a data product is represented in units of reflectance (only when ELM/Target Selection is performed).
RGB Tasks
Configuration of RGB processing tasks allows adjustment of many parameters critical to RGB orthomosaic construction. A description of each parameter is listed below.
RGB Processing Configuration
ROP method allows the user to select between two main schemes for relative orientation parameter estimation- Feature Matching and GNSS Assisted. In full feature matching mode ROPs are estimated only from image pair features while allowing calibration of intrinsic camera properties. In GNSS-Assisted mode, trajectory information is used to reduce image matching ambiguity caused by repetitive image patterns. ROPs are estimated by fixing camera calibration parameters and adding additional information from the GNSS-INS and DSM. GNSS assisted mode should only be used if an orthophoto cannot be reconstructed using the feature matching method. DSM data must be used for GNSS-Assisted method. Users may select both point cloud and raster products from LiDAR tasks in the pipeline as a source for the DSM. Users may also select external LAS/LAZ or GeoTIFF files as a source for the surface model or use a manually defined fixed (flat) value above the Ellipsoid (in meters).
Median Altitude Threshold ignores images and corresponding trajectory events for images taken outside of the median altitude range. A value of 0.9 allows the images at the median altitude +/- 10% to be included in processing.
Feature Matching Ratio is the ratio between closest and second closest descriptors for image matching. Smaller values will result in more accurate, but smaller set of conjugate features. Acceptable values fall between 0 and 1. Recommended values are 0.5 - 0.8.
Flight Overlap is the parameter that affects how much pipelined parallelism can be created in a query plan. This setting should not need adjustment.
Bundle Adjustment Window identifies the number of images that need to be processed before a window-based bundle adjustment is conducted. Bundle adjustment process is aimed at refining the estimated camera positions and XYZ coordinates of conjugate points. Smaller values will result in more accurate results but will take longer to process.
Chi Threshold is a threshold for accepting or rejecting the Chi-squared test. This test is used for removing some outliers from image matching. 4.61 for 90% confidence interval, 5.99 for 95% confidence interval, 7.37 for 97% confidence interval, 9.21 for 99% confidence interval.
Feature Extraction defines which algorithm to use for image matching. SIFT (OpenCV) provides better image point distribution than A-KAZE. A-KAZE usually results in a larger set of conjugate points.
Pyramid Downs rescales images to reduce execution time for the feature extraction step. Larger values decrease the processing time but lead to smaller set of detected features. A default value of 4 was selected based on the resolution of full-frame Sony images.
Maximum MSAT Iterations dictates the maximum number of iterations the MSAT area triangulation algorithm can complete.
MSAT Convergence Threshold is the variance between consecutive MSAT iterations at which convergence is reached.
RGB Product Configuration
RGB products can be any of several types. Like LiDAR products, these can be broken down into raster and point cloud products. All types of products contain the general settings such as name, resolution, DSM, and extent. A brief explanation of product types is provided below.
Orthomosaic products are 3 band visual raster products of a scene produced from RGB images. Users can enable exposure matching and/or color balancing options for RGB orthomosaics.
Elevation Check products are single band rasters depicting the elevation values of each pixel used when creating orthomosaic outputs.
EOP Map products are raster products that depict from which images each pixel in orthomosaic products originate from.
Sparse Point Cloud products are a point clouds created from un-densified 3D match points created from the photogrammetric process.
Colorized Point Cloud products assign RGB color values to an input point cloud.
Select a Pipeline
GRYFN GRAW data bundles are processed as individual jobs submitted to the pipeline runner queue. After selecting a pipeline to process with, users must define a GRAW dataset, GPRO output name and location, and other available options.
Select GRAW Bundle
The "Select GRAW Bundle" option allows users to navigate to individual GRAW bundles to select for processing. Non-GRAW folders should not be selected.
GPRO Output
After GRAW selection, users may opt to produce a new GPRO output or append products to an existing GPRO. If the "Create New GPRO" option is selected, a GPRO output folder name and destination matching the GRAW bundle name will be assigned by default. The user may override these option with a manually entered GPRO name or destination. If a GPRO folder with that name and location already exists, the a small warning will appear acknowledging that products will be appended to the existing GPRO. Selecting the "Select Existing GPRO" option will append resulting products to the selected GPRO folder.
Select Output Destination
When the "Create New GPRO" option is selected, users may select the destination folder to write the GPRO to. The GRAW location is assigned by default.
Pipeline Summary
Expanding the Pipeline Summary option in the pipeline submission page will expose most of the common parameters a user may want to edit at the time of pipeline submission. For a full list of pipeline configuration options see the New Pipeline page.
Users may update any pipeline parameters in the Pipeline Summary as a one-time change for a particular submission. Updating parameters in the Pipeline Summary will only affect the currently viewed job, not the base pipeline file. In addition to updating parameters, users may also remove individual products from submission, or entire sensors.
General Pipeline Settings
Activating the Prepend GPRO Name to Product option will prepend all GPRO products with the GPRO folder name. For this reason it is generally advisable to include generic names such as "LiDAR_DSM" in the pipeline configuration and prepend the more specific GPRO folder name to the products at the time of submission.
Append imagery resolutions to Products will append a resolution value at the end of raster product names.
Append imagery resolutions to Products will append a resolution value at the end of raster product names.
Select Target Files
When a pipeline contains VNIR or SWIR tasks and a VNIR or SWIR dataset is available in a selected GRAW users will be prompted to select target files for reflectance calibration.
Target Files
Target files follow a custom GRYFN txt format with wavelength (nm) and reflectance. Users may select multiple calibration targets of various reflectance at this step. A truncated example of a 50% reflectance target file is given below. If no target files/pixels are selected, the processing pipeline will create an orthomosaic using the radiance, rdk, nuc, or raw data (listed in order of preference).
wavelength targets
338.000000 0.501478
339.400000 0.501411
340.900000 0.502089
342.400000 0.501189
343.800000 0.501511
345.300000 0.502234
346.800000 0.501722
348.300000 0.502067
349.700000 0.501778
351.200000 0.502044
352.700000 0.502456
354.100000 0.502378
355.600000 0.502033
357.100000 0.501700
358.600000 0.502278
360.000000 0.502211
361.500000 0.502422
363.000000 0.502500
364.400000 0.502789
365.900000 0.502833
Reflectance Calibration
Reflectance calibration in the GRYFN processing software follows a standard empirical line method (ELM). ELM forces the remotely sensed spectral data to match known field reflectance spectra. In this model, a linear regression is used for each band to equate input data with reflectance. This reflectance calibration can be performed on raw, radiance, RDK, or NUC data. For VNIR imagery, radiance data is preferred. For SWIR, RDK and radiance converted data is preferred. (denoted by _rdk_rd and _rd extensions, respectively)
Draw Target Bounds
After selecting target files for reflectance calibration, users can navigate through 3-band preview images to determine which cube contains the reflectance targets for each hyperspectral sensor and flight. Clicking the "Draw Target Bounds" option will open a secondary window allowing the user to pan and zoom on the image. Each target selected in the previous step will be available in the "Select Target" drop down box. After selecting a target, click and drag a rectangular region on the image corresponding to the selected target. A graph of the spectra in the region will be presented. Users may select subsequent targets and pixel regions, undo the previous drawing, and clear all selected pixels. After selecting regions corresponding to 3 different reflectance targets, users will be presented with an R 2 graph describing the ELM regression fit at each wavelength. Saving or closing the target select window will store the target select information. Undoing the previous selection or clearing all targets will allow the user to alter the target selection pixels for a better ELM fit if necessary.
Targets may be selected from multiple cubes in a single flight. In this case, field spectra will be averaged across the cubes for that flight and R2 will be updated. For multi-flight datasets, field spectra are assigned from the field measurement nearest in time to each flight. ELM coefficients can also be exported and imported for use in other datasets.
If a GRAW is being resubmitted after previously selecting targets the user will be prompted to reload targets. This allows users to maintain the same ELM configuration and saving time when reprocessing GRAWs.
Submit
After configuration, clicking the "Submit" button will submit the pipeline and GRAW to the Job Queue.
Last updated