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.

Name
Description of options/Definitions

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 Processing

GNSS Processing 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.

Additionally, APX-15 data can be processed using POSPac UAV Cloud. Please contact info@gryfn.io for more information.

The GNSS processing parameters are not part of the pipeline definition. Because GNSS can be processed outside of the GRYFN Processing Tool (e.g., in POSPac or Qinertia), the GNSS processing parameters are defined at job submission time. Additionally, GRYFN Processing Tool will attempt to detect previously exported trajectories, and allow the user to select a previously generated export for processing. Toggling Force Reprocess in the GNSS Pipeline Summary tab will submit GNSS data for processing, saving the new run in a unique project folder.

After submitting a job to run GNSS processing, respective project files, reports, geodesy information, and more are saved in the GRAW SBG/APX folder. GRYFN format export and event files are also output in the project directory for use in later processing steps, or for review by users.

If users wish to process GNSS data manually in the respective software, they may do so with their desired settings and provide the GRYFN bundler with the saved project folder (with export in GRYFN format).

SBG Qinertia

Processing Mode is chosen from three available solutions: Single Base, Virtual Reference Station, or User-Supplied Base Data. Users may upload their own RINEX data files to serve as base corrections for processing. Users may instead opt for Qinertia to find and use the best CORS base station(s) available for processing by leaving the Base Stations selection blank. When left to Qinertia, the software will automatically determines if a Single Base or Virtual Reference Station is better suited for processing.

Output CRS allows users to specify the Coordinate Reference System for final data product projections from an embedded, searchable list.

Applanix POSPac

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

LiDAR tasks include the reconstruction of point clouds and the generation of derivative products.

LiDAR Processing Configuration

LiDAR point cloud reconstruction requires two key configuration settings: Laser Range and Laser Azimuth.

Laser Range defines the minimum and maximum distances from the LiDAR sensor for reconstructing points. These parameters can exclude points from objects close to the LiDAR sensor (e.g., UAV) or noisy points at extreme distances.

Laser Azimuth specifies the horizontal field-of-view angles for reconstruction. In the standard GRYFN configuration, 0° corresponds to nadir. Typical azimuth values range from 330° to 30°, representing a 60° field of view directly below the sensor. This filter is not currently applied in Ouster processing.

LiDAR Product Configuration

GRYFN currently supports four LiDAR products: Combined Point Cloud, Digital Surface Model (DSM), Digital Terrain Model (DTM), and Height Above Ground (HAG) Point Cloud.

Cover
Product Type

Combined Point Clouds

Description

Aggregates point clouds reconstructed from individual raw LiDAR data. Individual reconstructions are output in the GPRO LiDAR sensor ID folder. The combined product can be saved in a standard LAS or LAZ format.

Parameters
  • Outlier Removal utilizes a statistical approach that begins with computing the average distance of each point to its 8 nearest neighbors. Points beyond the average distance plus a number of times the standard deviation are removed. The standard deviation multiplier is the user-defined variable in the LiDAR product configuration.

Cover
Product Type

Digital Surface Model (DSM)

Description

A raster representation of the "surface", including above-ground features such as vegetation, trees, and buildings, derived from the combined point cloud. The algorithm can be summarized as follows: (1) create 2D grids along the XY plane over the area of interest, (2) assign grid elevation as the N-th percentile height (instead of the maximum) to mitigate noise influence, (3) use the nearest neighbor to fill gaps within a 1m window, and (4) apply a median filter for neighborhood consistency.

Parameters
  • Resolution: Pixel size of the DSM.

  • Median Filter Radius: Size of the filter window. A larger value would yield a smoother DSM.

  • Height Percentile: Percentile height for the grid elevation (e.g., 100% = maximum height).

  • Fill Gaps: Option to fill empty pixels using nearest neighbors.

Cover
Product Type

Digital Terrain Model (DTM)

Description

A raster representation of the "terrain" by filtering out above-ground features using the Cloth Simulation Filter (CSF). The CSF algorithm simulates a cloth falling over the inverted point cloud, with the cloth's final shape representing the terrain.

Parameters
  • Resolution: Grid size of the cloth. We recommend starting with the default value (1m). Increase it if the ground points are sparse (e.g., late-season agricultural fields with dense canopies that limit ground penetration). Avoid using fine grid sizes (e.g., smaller than 0.5m), as they may introduce unwanted noise into the DTM.

  • Steep Slope: Option for post-processing steep slopes. This option is typically disabled for smooth terrains (e.g., agricultural fields).

  • Step Size: Distance that the cloth falls per iteration. The default value (0.65m) is good for most cases.

  • Class Threshold: Distance to the DTM for classifying points as ground (not currently used in GRYFN Processing Tool).

  • Rigidness: Cloth stiffness. Typical values range from 1 to 3. Lower rigidness results in a softer cloth that captures finer terrain details.

  • Number of iterations: Max iterations for terrain simulation. The default value (500) works well for most scenarios. Increase it if the area of interest has a large elevation difference between the highest and lowest points.

  • Outlier Standard Deviation: Standard deviation multiplier for the statistical outlier removal that applied before the CSF.

Cover
Product Type

Height Above Ground (HAG)

Description

A point cloud where the Z value represents height above ground. To derive the HAG point cloud, a DTM that represents ground elevation must be provided. The algorithm can be summarized as follows: (1) use bilinear interpolation to calculate ground elevation from the raster DTM for each point, and (2) compute the height above ground by subtracting ground elevation from the original Z value (ellipsoidal height).

Parameters
  • Digital Terrain Model: A digital terrain model must be produced and selected to generate a Height Above Ground point cloud.


VNIR and SWIR Tasks

Processing configuration for VNIR and SWIR tasks allow adjustment for three 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:

DistanceToScene=HeightflyingHeightgroundDistance To Scene = {Height_{flying} - Height_{ground}}

where_{where}

Heightflying=CameraZHeight_{flying} = Camera_{Z}

Heightground=DSMZHeight_{ground} = DSM_{Z}

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 Headwall Nano 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.

EOP Search Window is the maximum number of adjacent EOPs to search for the best-fit EOP based on back-projection.

Max Backprojection Error is the maximum allowable backprojection error (in pixels) when matching EOPs to the trajectory. This parameter is used to ensure that the EOPs used for orthorectification are of sufficient quality. A smaller value will result in a more accurate orthorectification but may result in fewer EOPs being used, which can lead to gaps in the output mosaic.

Write Radiance Cubes is an option to output radiance cubes in the ENVI format alongside the raw cubes in the GRAW. This is useful for users who wish to perform further analysis or visualization of the radiance data.

  • Radiance scale factor is the value that is used to scale the written radiance data. This can be useful when storing or working with the radiance data as 16-bit integers can be used, halving the data storage requirements. A special field in the ENVI header is added to record the scale factor - ;radiance_scale_factor.

  • Radiance data type is the data type of the radiance cubes that are written to disk.

Write IGM files is an option to output IGM (Image Geometry Model) files for each hyperspectral frame. These files can be used to orthorectify imagery, as the pixel values contain the latitude and longitude mapping for each pixel in the unorthorectified imagery. These IGM files do no use backprojection to calculate the pixel locations, and instead bisect the forward-casted ray until the Z value of the ray end matches the Z value of the DSM.

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.

Cover
Product Type

Orthomosaic

Description

Orthomosaic options can be selected for "stitched" hyperspectral or RGB outputs.

Parameters

ENVI or PNG

  • 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.

ENVI Only

  • 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).

Cover
Product Type

Orthorectified Flight Lines

Description

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.

Parameters

ENVI or PNG

  • 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.

ENVI Only

  • 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).

Cover
Product Type

ENVI

Description

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.

Parameters
Sensor Type
Red
Green
Blue

VNIR

640

550

475

SWIR

1600

1250

1005

Cover
Product Type

PNG

Description

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.

Parameters


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.

    • 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 an integer that specifies the number of nearest neighbors (k) to search for. This parameter is used in feature matching. The algorithm matches every image against its n spatial nearest neighbors.

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.

Cover
Product Type

Orthomosaic

Description

Three band visual raster products of a scene produced from RGB images.

Parameters
  • Resolution: Discretely specify the output resolution in units of centimeters.

  • Digital Surface Model: A required input for orthorectification. Users may choose from a LiDAR product generated in the same pipeline, an Sparse Point Cloud RGB product, a Fixed Value above Ellipsoide, or a surface model file.

  • Exposure Matching

  • Color Balance

Cover
Product Type

Sparse Point Cloud

Description

Point clouds created from un-densified 3D match points created from the photogrammetric process.

Parameters

Cover
Product Type

Colorized Point Cloud

Description

Products assign RGB color values to an input point cloud, most typically the combine LiDAR point cloud.

Parameters
  • Exposure Matching

  • Color Balance

  • Point Cloud: Select the input point cloud to colorize. Either a combine LiDAR point cloud or sparse point cloud RGB product.

Cover
Product Type

EOP Map

Description

Raster products that depict from which images each pixel in orthomosaic products originate from.

Parameters
  • Resolution: Discretely specify the output resolution in units of centimeters.

  • Digital Surface Model: A required input for orthorectification. Users may choose from a LiDAR product generated in the same pipeline, an Sparse Point Cloud RGB product, a Fixed Value above Ellipsoide, or a surface model file.


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, 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.

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.

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 json format with wavelength (nm) and reflectance. Users may select multiple calibration targets of various reflectance at this step. A truncated example of an 11% 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).

{
    "type": "UF200",
    "serial": "24015-11",
    "order": "7324-035",
    "manufacture-date": "20240809",
    "customer": "GRYFN",
    "size": "1.1m x 0.54m",
    "notes": "",
    "dhr": [
        {
            "wavelength_nm": 300,
            "reflectance": 0.048454
        },
        {
            "wavelength_nm": 301,
            "reflectance": 0.048325
        },
        {
            "wavelength_nm": 302,
            "reflectance": 0.048212

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 radiance, RDK, NUC, or raw 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" dropdown 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. If radiance data (or radiometric calibration files) are available, the target selection graph will display radiance values (performing radiance conversion on the fly when calibration files are available).

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, saving time when reprocessing GRAWs.

Submit

After configuration, clicking the "Submit" button will submit the pipeline and GRAW to the Job Queue.

Last updated