Computer system and method for autonomous synthetic aperture radar image quality validation

An autonomous SAR image quality validation system addresses the inefficiencies of human-dependent SAR image analysis by using a control module and analysis modules to perform automated checks, enhancing throughput and accuracy in image quality validation.

WO2026137077A1PCT designated stage Publication Date: 2026-07-02MDA SYST LTD

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
MDA SYST LTD
Filing Date
2025-12-23
Publication Date
2026-07-02

Smart Images

  • Figure CA2025051749_02072026_PF_FP_ABST
    Figure CA2025051749_02072026_PF_FP_ABST
Patent Text Reader

Abstract

A system and method for autonomous SAR image quality validation is provided. The system includes a control module and a set of analysis modules. The analysis modules include a metadata analysis module, an image analysis module, a spectral analysis module, and a calibration analysis module. The control module orchestrates analysis runs on SAR image products that use the analysis modules, routes messages between the analysis modules, and generates an analysis run report containing information specific to the analysis run. The analysis run report may include diagnostics generated by one or more of the analysis modules during analysis of the SAR image product. The control module may send the analysis run report to a graphical user interface module for display to a user.
Need to check novelty before this filing date? Find Prior Art

Description

COMPUTER SYSTEM AND METHOD FOR AUTONOMOUS SYNTHETIC APERTURE RADAR IMAGE QUALITY VALIDATIONTechnical Field

[0001] The following relates generally to synthetic aperture radar (SAR) image processing, and more particularly to systems and methods for validating quality of SAR images.Introduction

[0002] Each year SAR missions generate hundreds of thousands of scenes, and the overall volume of data for future radar systems is expected to continue growing.

[0003] Currently, SAR image quality analysis, monitoring, calibration, and trending are strongly reliant on human interaction to manually view images, to initiate and run analysis, and to interpret results. This limits the scope of image quality analysis both in terms of number of images analyzed and which analysis are applied, and products with image quality issues may be accidentally delivered to the end users.

[0004] Only routine, simple checks are performed on images generated by SAR systems to maintain quality. A complete characterization of the image quality is limited to a smaller subset of images (i.e., calibration images) or when users report irregularities.

[0005] Accordingly, there is a need for an improved system and method for validating quality of SAR imagery that overcomes at least some of the disadvantages of existing systems and methods.Summary

[0006] A system and method for autonomous SAR image quality validation is provided. The system includes a control module and a set of analysis modules. The analysis modules include a metadata analysis module, an image analysis module, a spectral analysis module, and a calibration analysis module. The control module orchestrates analysis runs on SAR image products that use the analysis modules, routes messages between the analysis modules, and generates an analysis run report containing information specific to the analysis run. The analysis run report may includediagnostics generated by one or more of the analysis modules during analysis of the SAR image product. The control module may send the analysis run report to a graphical user interface module for display to a user.

[0007] The metadata analysis module may extract and validate product metadata from the SAR image product.

[0008] The image analysis module may perform image analysis on the SAR image product including checking and mapping ambiguities by consulting a digital elevation model, global radar backscatter model data, and antenna model pattern data. The image analysis module may use an ambiguity model and an ambiguity mapping submodule.

[0009] The spectral analysis module may validate spectral content of Stripmap or Spotlight SLC data in the SAR image product.

[0010] The calibration analysis module may perform calibration analysis on the SAR image product using known calibration targets. The calibration analysis module may raise diagnostics where calibration results exceed one or more configurable thresholds.

[0011] A system for autonomous synthetic aperture radar (“SAR”) image quality validation is provided. The system includes: a data storage device storing a SAR image product; and one or more processors in communication with the data storage device. The one or more processors are configured to execute: a control module configured to orchestrate an autonomous quality validation process on the SAR image product including a validation run and generate a validation run report for the validation run, wherein the validation run includes executing: an image analysis module configured to perform image analysis on the SAR image product including checking and mapping ambiguities using a digital elevation model (“DEM”) and a global backscatter model; and a metadata analysis module configured to extract and validate metadata from the SAR image product.

[0012] In some embodiments, the validation run further includes executing a spectral analysis module configured to validate spectral content of image data in the SAR image product.

[0013] In some embodiments, the spectral analysis module validates spectral content of Stripmap or Spotlight single look complex SAR data in the SAR image product.

[0014] In some embodiments, the spectral analysis module raises diagnostics when a spectral profile of the image data deviates above a configurable threshold.

[0015] In some embodiments, the spectral analysis module performs validation checks on shape of azimuth and range spectra in the SAR image product.

[0016] In some embodiments, the one or more processors are further configured to execute a calibration analysis module configured to perform calibration analysis on the SAR image product using a known calibration target.

[0017] In some embodiments, the known calibration target includes any one or more of a point target for point target analysis, a distributed target for radiometric analysis, and a dark target for noise analysis.

[0018] In some embodiments, the calibration analysis module raises diagnostics where calibration results generated by the calibration analysis exceed one or more configurable thresholds.

[0019] In some embodiments, the image analysis module uses configuration parameters for the image analysis including an azimuth ambiguity ratio threshold and a range ambiguity threshold.

[0020] In some embodiments, the metadata analysis module uses an ambiguity model submodule executed by the one or more processors, the ambiguity model submodule configured to compute ambiguity ratios from the metadata.

[0021] In some embodiments, the ambiguity model submodule receives the metadata and antenna model pattern data as input and outputs a range ambiguity ratio and an azimuth ambiguity ratio.

[0022] In some embodiments, the validation run further includes executing an ambiguity mapping submodule configured to generate an ambiguity map for the SAR image product using the range ambiguity ratio and azimuth ambiguity.

[0023] In some embodiments, the global backscatter model is used by the image analysis module to predict expected backscatter and estimate ambiguity.

[0024] In some embodiments, the image analysis module uses antenna model pattern data to calculate ambiguity ratios during the validation run.

[0025] In some embodiments, the metadata analysis module extracts first Doppler centroid frequencies from the metadata and compares the first Doppler centroid frequencies with second Doppler centroid frequencies derived from geometry using orbit and altitude information parsed from the metadata.

[0026] In some embodiments, the metadata analysis module flags instances where a Doppler centroid frequencies confidence parsed from the metadata is lower than a threshold.

[0027] In some embodiments, the one or more processors are further configured to generate statistics for trending for a series of SAR image products including the SAR image product by beam mode and time period.

[0028] A method of autonomously validating synthetic aperture radar (“SAR”) image quality is also provided. The method includes: storing, in a data storage device, a SAR image product; orchestrating, by a control module executed by one or more processors in communication with the data storage device, an autonomous quality validation process on the SAR image product including a validation run;and executing the validation run, including: performing image analysis on the SAR image product including checking and mapping ambiguities using a digital elevation model (“DEM”) and a global backscatter model; and extracting and validating metadata from the SAR image product.

[0029] In some embodiments, executing the validation run further includes validating spectral content of image data in the SAR image product using a spectral analysis module.

[0030] In some embodiments, the validating includes validating the spectral content of Stripmap or Spotlight single look complex SAR data in the SAR image product.

[0031] In some embodiments, the validating includes raising diagnostics when a spectral profile of the image data deviates above a configurable threshold.

[0032] In some embodiments, the validating includes performing validation checks on shape of azimuth and range spectra in the SAR image product.

[0033] In some embodiments, executing the validation run further includes performing, by a calibration analysis module, a calibration analysis on the SAR image product using a known calibration target.

[0034] In some embodiments, the known calibration target includes any one or more of a point target for point target analysis, a distributed target for radiometric analysis, and a dark target for noise analysis.

[0035] In some embodiments, the method further includes raising diagnostics where calibration results generated by the calibration analysis exceed one or more configurable thresholds.

[0036] In some embodiments, the image analysis uses configuration parameters including an azimuth ambiguity ratio threshold and a range ambiguity threshold.

[0037] In some embodiments, executing the validation run further includes computing ambiguity ratios from the metadata.

[0038] In some embodiments, the ambiguity ratios include a range ambiguity ratio and an azimuth ambiguity ratio.

[0039] In some embodiments, executing the validation run further includes generating an ambiguity map for the SAR image product using the range ambiguity ratio and the azimuth ambiguity ratio.

[0040] In some embodiments, the global backscatter model is used to predict expected backscatter and estimate ambiguity.

[0041] In some embodiments, the image analysis includes using antenna model pattern data to calculate ambiguity ratios during the validation run.

[0042] In some embodiments, extracting and validating the metadata includes extracting first Doppler centroid frequencies from the metadata and comparing the first Doppler centroid frequencies with second Doppler centroid frequencies derived from geometry using orbit and altitude information parsed from the metadata.

[0043] In some embodiments, the method further includes flagging instances where a Doppler centroid frequencies confidence parsed from the metadata is lower than a threshold.

[0044] In some embodiments, executing the validation run further includes generating statistics for trending for a series of SAR image products including the SAR image product by beam mode and time period.

[0045] Other aspects and features will become apparent, to those ordinarily skilled in the art, upon review of the following description of some exemplary embodiments.Brief Description of the Drawings

[0046] The drawings included herewith are for illustrating various examples of articles, methods, and apparatuses of the present specification. In the drawings:

[0047] Figure 1 is a schematic diagram of a system for validating quality of SAR imagery, according to an embodiment;

[0048] Figure 2 is a block diagram of an autonomous SAR image quality validation system, according to an embodiment;

[0049] Figure 3 is a block diagram of the autonomous SAR image quality validation system of Figure 2 in further detail, according to an embodiment; and

[0050] Figure 4 is a flowchart illustrating a process flow executed by the AIQV system of Figures 2-3 for ordering and downloading image products from a list, according to an embodiment;

[0051] Figure 5 is a flowchart illustrating a process flow executed by the AIQV system of Figures 2-3 for downloading pre-ordered image products, according to an embodiment; and

[0052] Figure 6 is a flowchart illustrating a process flow executed by the AIQV system of Figures 2-3 for autonomous image quality validation, according to an embodiment.Detailed Description

[0053] Various apparatuses or processes will be described below to provide an example of each claimed embodiment. No embodiment described below limits any claimed embodiment and any claimed embodiment may cover processes or apparatuses that differ from those described below. The claimed embodiments are not limited to apparatuses or processes having all of the features of any one apparatus or process described below or to features common to multiple or all of the apparatuses described below.

[0054] One or more systems described herein may be implemented in computer programs executing on programmable computers, each comprising at least one processor, a data storage system (including volatile and non-volatile memory and / or storage elements), at least one input device, and at least one output device. For example, and without limitation, the programmable computer may be a programmable logic unit, a mainframe computer, server, and personal computer, cloud-based program or system, laptop, personal data assistance, cellular telephone, smartphone, or tablet device.

[0055] Each program is preferably implemented in a high-level procedural or object-oriented programming and / or scripting language to communicate with a computer system. However, the programs can be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language. Each such computer program is preferably stored on a storage media or a device readable by a general or special purpose programmable computer for configuring and operating the computer when the storage media or device is read by the computer to perform the procedures described herein.

[0056] A description of an embodiment with several components in communication with each other does not imply that all such components are required. On the contrary, a variety of optional components are described to illustrate the wide variety of possible embodiments of the present invention.

[0057] Further, although process steps, method steps, algorithms or the like may be described (in the disclosure and I or in the claims) in a sequential order, such processes, methods and algorithms may be configured to work in alternate orders. In other words, any sequence or order of steps that may be described does not necessarilyindicate a requirement that the steps be performed in that order. The steps of processes described herein may be performed in any order that is practical. Further, some steps may be performed simultaneously.

[0058] When a single device or article is described herein, it will be readily apparent that more than one device / article (whether or not they cooperate) may be used in place of a single device / article. Similarly, where more than one device or article is described herein (whether or not they cooperate), it will be readily apparent that a single device / article may be used in place of the more than one device or article.

[0059] The following relates generally to synthetic aperture radar (SAR) image processing, and more particularly to systems and methods for validating quality of SAR images.

[0060] While reference is made throughout the present disclosure to certain SAR missions, such as RADARSAT-2 and RCM, and their respective SAR image products, such reference is nonlimiting and the systems and methods described herein may be applied to any SAR image products from any current or future SAR mission.

[0061] Referring now to Figure 1, shown therein is a system 100 for validating quality of SAR imagery, according to an embodiment.

[0062] The system 100 includes a SAR data management system server 106. The SAR data management system server 106 runs a SAR data management software application 108 for managing the processing and storage of SAR image products 110.

[0063] A SAR image product 110 is a collection of information that includes focused SAR image data and associated metadata. In some cases, the information in a SAR image product may be layered including a base layer that describes the source(s) of the raw information and additional layers appended to the base layer that incorporate information describing various aspects of the product such as the location and format of the image pixel data, the geometric and radiometric aspects of the imagery, and the results of applying various processing steps. In variations, the pixel information may be stored in any suitable image format. In an embodiment, the SAR image product includesan image pixel data file (e.g., in GeoTIFF format) and associated metadata including source attributes, image generation parameters, and image attributes.

[0064] The SAR image products 110 may include single look complex (SLC) SAR image products and / or higher level products derived from the SLC, including detected and multi-looked products. For SLC products, each image data sample is represented by a complex number and is not processed with multi-looking. Higher level products derived from a SLC may still include complex data, for example a multi-looked polarimetric covariance matrix.

[0065] It should be noted that the SAR image products 110 may be transformed or further processed throughout system 100 by one or more value-added processing systems (e.g., by applications 108 or 124, described below), such as through the application of subsequent image processing steps, and such additional information incorporated into the image product 110.

[0066] The SAR data management software application 108 stores the SAR image products 110 in an image product data store 112 (e.g., database or archive stored in a data storage device) accessible to the SAR data management system server 106. In an embodiment, the SAR data management system server 106 may be Canada’s Earth Observation Data Management System (EODMS). The database 112 may be considered an external SAR image product data source (external to application 124, described below).

[0067] The system 100 includes an auxiliary data source 114 stored on a data storage device. In variations, the system 100 may include multiple auxiliary data sources 114. The auxiliary data source 114 stores auxiliary data 116. The auxiliary data 116 is used to support SAR image quality analysis performed by the system 100. Auxiliary data 116 may include digital elevation model (DEM) data, global radar backscatter model data, and antenna model pattern data. The auxiliary data 116 may include public domain datasets. In some embodiments, the auxiliary data source 114 is managed by a network-accessible auxiliary data service.

[0068] The system 100 includes an autonomous SAR image quality validation (AIQV) server system 118 and a user device 120. While a single server computer 118and a single user device 120 are shown in Figure 1, the number of servers 118 and user devices 120 may vary (multiple) and the number is not particularly limited.

[0069] The AIQV server 118 communicates with the user device 120 via a communication network 122. The network 122 may be a wide area network, such as the Internet. Communication in this context may include sending and receiving data.

[0070] The AIQV server 118 also communicates with the SAR data management system server 106 and the auxiliary data source 114 via network 122. In some embodiments, the auxiliary data source 114 may be a local data storage or a remote data storage (e.g., accessed through network 122 or other remote connection). In some embodiments, AIQV server 118 may request access to download external data (e.g., external SAR image products 110) through an application programming interface (API) or the like.

[0071] The AIQV server 118 runs an autonomous SAR image quality validation (AIQV) software application 124. The user device 120 communicates with the AIQV server system 118 over the network 122 and provides a user interface of the AIQV application 124 for a user to provide input commands to the AIQV application 124 and review outputs generated by the AIQV application 124.

[0072] According to various embodiments, the AIQV application 124 is hosted by the AIQV server system 118, or is installed locally on the user device 120, or runs on both the AIQV server system 118 and the user device 120.

[0073] The user device is configured to receive input from a user and display data generated by the AIQV server 118. The input data received from a user may be used to request certain data generated and stored by the AIQV server 118. The user device 120 is configured to display a graphical user interface that allows a user to interact with the AIQV server 118. The user interface may include a series of user interface screens for receiving user input and displaying output data generated by the AIQV server 118.

[0074] The AIQV application 124 stores and manages a database 126 of SAR image products 110. The SAR image products 110 may include externally downloaded SAR image products that are downloaded by the AIQV server 118 from the SAR datamanagement system server 106 through network 122 and user- or manually-uploaded SAR image products (which may be uploaded through user interaction with the AIQV application 124 at user device 120). The SAR image products 110 are processed into a common format by the AIQV application 124.

[0075] The AIQV application 124 implements an autonomous SAR image quality validation system for validating SAR image products 110. The AIQV application 124 performs image quality analysis on the SAR image products 110 and generates validation results. Validation results may be reported to the user through a graphical user interface on user device 120. Validation results may be generated and reported on an image-by-image basis and their statistics may be stored in a way that allows trends over a series of SAR image products to be analyzed (e.g., by beam mode and by time period). The AIQV server 118 may store validation results in the database 114 or other data store accessible to the AIQV server 118.

[0076] To facilitate SAR image quality analysis by the AIQV application 124, the AIQV server 118 may acquire or use external data sources accessed through network 122, such as external SAR image products 110 and auxiliary data 116. Such data may then be used as inputs to one or more functions or processes of the AIQV application 124.

[0077] It should be noted that, in other embodiments, an instance of the AIQV application 124, or a portion or subset thereof, may be implemented onboard a SAR satellite. The satellite includes an onboard processor that generates SAR image products from raw SAR data and runs the AIQV application 124. The onboard AIQV application can be used to monitor the quality of the SAR image products generated onboard without having to download the image products to ground. In other embodiments, the system 100 may further include an onboard processing simulator (e.g., at a hardware server) for generating SAR image products from raw SAR data as would be done onboard the SAR satellite. That is, the SAR image product generated by the simulator simulates an image product generated onboard the satellite. The AIQV application 124 may then be used to determine and compare image quality of the ground-processed SAR image products (i.e., as is done traditionally) and the simulated onboard-processed SAR image products.

[0078] Referring now to Figure 2, shown therein is a system 200 for validating SAR image quality, according to an embodiment. The system 200 may be implemented by the system 100 of Figure 1.

[0079] The system 200 includes an autonomous SAR image quality validation (AIQV) system 202. The AIQV system 202 may be the AIQV software application 124 of Figure 1, or some portion thereof. The AIQV system 202 may be implemented by server 118 of Figure 1.

[0080] The system 200 also includes a user 204. The user 204 interacts with the AIQV system 202 through a user device 205. The user device 205 may be the user device 120 of Figure 1.

[0081] The AIQV system 202 is configured to automatically request access to download external data source through an Application Programming Interface (API), ingest SAR image products and perform the required image quality analysis, report the results on an image-by-image basis, and store statistics for trending purposes for a series of images by beam mode and by time period. Beam mode and time period are just two examples of independent variables for which dependent image quality validation statistics resulting from the analysis can be trended.

[0082] The AIQV system 202 receives external inputs including user commands 206, external downloaded SAR image products 210, other SAR image products 212, configuration parameters 214, antenna model patterns 216, and a calibration target list 218.

[0083] The user commands 206 are provided by user 204 and received by the AIQV system 202 via user device 205.

[0084] The external downloaded SAR image products 210 are obtained from an external, network-accessible SAR image product data source, such as SAR image produce data source 112 of Figure 1. The external downloaded SAR image products 210 may be downloaded by the AIQV system 202 through an API or the like.

[0085] The external downloaded SAR image products 210 may be RCM EODMS SAR image products and the API may be an EODMS API. RCM products 210 may beobtained from EODMS based on either a user-specified list of products to order and download, or a set of products already ordered and made available for download, by a vetted user directly in EODMS (see Figures 4 and 5, respectively). In the latter case, the products 210 may be based on search criteria specified using the EODMS web interface, such as filtering by beam mode(s) over a certain time period, for example.

[0086] The external downloaded SAR image products 210 are stored in candidate SAR image product folders 220 (“candidate product folders”). The candidate product folders 220 are generated and stored by the AIQV system 202.

[0087] A candidate product folder 220 may be manually created by a user 204. Each candidate product folder 220 is a file folder (e.g., Windows file folder) that may contain one or more RCM and / or RADARSAT-2 products 210, 212, for input to autonomous validation runs. The candidate product folders 220 are populated by the user 204, either via the AIQV system 202 to download RCM products 210 from EODMS per above, or externally to the AIQV system 202 by manually copying products 212 into the folder 220. In a more autonomous embodiment, the AIQV system 202 does not require manual action by a user and receives products to analyze automatically within a production chain (e.g., via drop box).

[0088] Other SAR image products 212 include SAR image products provided to the AIQV system 202 other than as externally downloaded SAR image products 210. Other SAR image products 212 may include, for example, SAR image products uploaded or selected manually by the user 204 through user device 206. In an example embodiment, other SAR image products 212 include RCM products and RADARSAT-2 products.

[0089] The candidate product folders 220 may be generated automatically by the AIQV system 202 (e.g., upon downloading external SAR products 210) or may be generated manually by the user 204.

[0090] The candidate product folders 220 are input to validation runs executed by the AIQV system 202 on the SAR image products contained in the candidate product folders 220.

[0091] Configuration parameters 214 may be created or edited by the user 204 through user device 206. Configuration parameters 214 are used during each validation run.

[0092] Configuration parameters 214 include autonomous validation parameters, such as tolerances and thresholds, for each type of supported validation analysis, and for each supported mission (e.g., RADARSAT-2, RCM).

[0093] Initial configuration parameters 214 with factory settings may be provided with the system 202, and by default these parameters are used during validation runs.

[0094] Configuration parameters 214 may optionally be modified by a user 204 and stored in a separate file, for subsequent use as input to different validation runs.

[0095] Configuration parameters 214 may be designed so as to be expandable to include additional missions and additional validation functions. Adding a new mission may require adding new software functions to identify the mission based on its product contents.

[0096] Antenna model patterns 216 are used during each validation run.

[0097] Antenna model patterns 216 include extended 2-way elevation and azimuth pattern gains for all beams and receive steps used in RCM and RADARSAT-2 products 210, 212. The antenna model patterns 216 may be generated externally to the AIQV system 202 using mission specific antenna models. The antenna model patterns 216 may be used to calculate ambiguity ratios during validation runs.

[0098] Initial antenna model patterns 216 may be provided with the system 202. Such initial antenna model patterns 216 may, by default, be used during validation runs. The user 204 may optionally modify any such initial antenna model patterns 216 or expand them to include additional new beams in the future.

[0099] Antenna model patterns may be designed to be expandable to include additional missions.

[0100] It should be noted that, antenna model patters 216 may not be used in some embodiments. Absence of antenna model patterns 216 would reduce the amount of validation analysis that can be done.

[0101] Calibration target list 218 may be used to identify targets for calibration analysis during a validation run.

[0102] The calibration target list 218 is a list of calibration targets and their geographical coordinates. The calibration target list 218 is used to identify products that can support calibration analysis. The calibration target list 218 may be formatted as an Excel spreadsheet.

[0103] The targets in the list 218 may include point targets for point target analysis (e.g., on one sheet), and distributed targets, including uniform rainforest targets for radiometric analysis, and dark targets for noise analysis (e.g., on another sheet). In an embodiment, target specification may include the following fields:

[0104] For each point target: (1 ) Required fields include the Type (CR for Trihedral Corner Reflector, or Transponder), Latitude, Longitude, Orientation in Elevation and Azimuth (for targets with fixed orientation only), and Height above Earth ellipsoid; and (2) Optional fields can also be provided to qualify a target (to improve its measurement accuracy) or restrict its validity (to prevent false diagnostics), including its Validity Start and / or Stop Time, Radar Cross Section, and Timing Delay for transponders.

[0105] For each distributed target (rectangular areas only): Type (uniform Rainforest or Dark Ocean), purpose (Noise for Noise Analysis, BBA for ScanSAR Burst Boundary Analysis, or Radiometric for other types of radiometric or polarimetric analysis), and 4 Corners in Latitude and Longitude (in the following order: Upper Left, Upper Right, Lower Left, and Lower Right).

[0106] An initial calibration target list 218 may be provided with the system 202. The initial calibration target list 218 may be expanded by a user 204 to include additional targets or constraints on existing targets (e.g., externally to the AIQV system 202, using a COTS tool such as Excel).

[0107] The AIQV system 202 generates system outputs including output responses 222 to user commands 206, candidate product folders 220, and results of validation runs 224 (“validation results”).

[0108] Command responses 222 include status of commands, alerts and reports from image quality validation runs, images of selected SAR products (images displayed on a screen), and trending spreadsheets containing validation results from multiple validation runs. Command responses 222 are displayed to the user 204 in a graphical user interface on user device 206.

[0109] The AIQV system 202 stores validation results 224 in a validation results repository.

[0110] The validation results repository 220 is a file folder (e.g., Windows file folder) containing all results of validation runs. The validation runs may be indexed by validation run ID and product ID. The validation run results may include (i) alerts, (ii) reports, (iii) additional information, such as ambiguity maps, and (iv) a trending file (e.g., CSV file).

[0111] The trending file summarizes all results for trending purposes (e.g., in CSV format). The trending file may be openable as a trending spreadsheet in a spreadsheet application such as Excel. The trending file may be formatted to contain one row of results per product per validation run. Each row may contain product indexing parameters, including acquisition date and time, beam mode, and polarizations present in the product.

[0112] The validation results repository 220 is browsable by user 204.

[0113] Initially, the validation results repository 220 may be in a default location that can be changed by the user 204.

[0114] As described above, user interaction with the system 202 includes issuing commands 206 and receiving responses 222 to the commands 206. Example user interactions and respective inputs and outputs are listed below.

[0115] The user 204 may search, order, and download RCM products 212 from a list of RCM product names. Inputs may include a list of RCM product names in a file (e.g., CSV) and a name for an output Candidate Products Folder 220 to hold the image products. Outputs may include downloaded products in the candidate products folder 220 and status information.

[0116] The user 204 may download RCM products 210 from existing orders in EODMS. Inputs may include product criteria and a name of an output candidate productfolder 220 to hold the image products. Outputs may include downloaded products in the candidate products folder 220 and status information.

[0117] The user 204 may select and modify configuration parameters 214. Inputs may include a configuration parameters file name. Outputs may include an updated configuration parameters file.

[0118] The user 204 may validate image quality of image products in a candidate product folder 220. Inputs may include a candidate product folder 220 name to identify a candidate product folder 220 for validation. Outputs may include alerts, reports, results in repository 224, and status information.

[0119] The user 204 may display an image for inspection. Inputs may include a selection of an image product and one or more polarization channels to display. Outputs may include a displayed image on screen. The displayed image may have zoom capability.

[0120] The user 204 may modify or browse the validation results repository 224. Inputs may include an optional file browser change location of the repository 224. Outputs may include a file browser (e.g., Windows file browser) to current repository 224 location.

[0121] The user 204 may open a trending spreadsheet generated by the system 202. Outputs may include an Excel window containing the trending spreadsheet of all results. The results may be indexed temporally and by beam mode (for example).

[0122] Referring now to Figure 3, shown therein is the AIQV system 202 of Figure 2 in further detail, according to an embodiment.

[0123] The AIQV system 202 includes a plurality of software modules. The modules may use a micro-service-like architecture. The modules include a control module 302, a graphical user interface (GUI) module 304, an ordering module 306, a product formatting module 308, and a set of analysis modules 310. The analysis modules 310 includes a metadata analysis module 312, an image analysis module 314, a spectral analysis module 316, and a calibration analysis module 318.

[0124] The control module 302 is configured to orchestrate analysis runs and route messages between the analysis modules 310, the ordering module 306, and the GUI module 308.

[0125] The control module 302 receives inputs 206 from the GUI 304, initiates other modules to perform given tasks based on the input, and forwards module responses back to the GUI 304. The control module 302 orchestrates the autonomous image quality validation process, including unzipping input products if needed.

[0126] The control module 302 collects the validation analysis results, writes summarizing information to the validation results repository 224 (synthesizing it into a readable format for the GUI 304), and updates the trending data.

[0127] After successfully completing a validation run, the control module 302 generates a validation run report containing information summarizing information specific to that validation run. This includes diagnostics generated during the run and their associated product names. The report may be generated from a customizable template that can be edited without needing to change the underlying code which generates reports. The validation reports may be stored in an output results folder created for that validation run (e.g., as a markdown file). The validation report contents are sent to the GUI module 304 and are displayed to the user 204 in the GUI. The user 204 may choose to open previously created validation run reports using the GUI by selecting a different report file.

[0128] The GUI module 304 is configured to display the user interface of the system 202. The GUI module 304 displays information about the current state of the application to the user 204. This includes but is not limited to the current state of the analysis configuration, the list of products to be included in an analysis run, messages regarding an ongoing analysis run as well as a visual interface to order and download products from network-accessible SAR image product data sources (e.g., EODMS). The GUI module 304 receives user inputs (e.g., inputs 206), formats those inputs, and forwards the inputs to the control module 302 to perform certain actions such as running analysis or interfacing with an external SAR image product data source (e.g., EODMS API 320). The GUI module 304 conveys outputs (e.g., outputs 222) to the user 204. TheGUI module 304 relays user inputs 206 to the control module 302 and receives responses from the control module 302 to display to the user 204. GUI module 304 also implements the user interactions described above in reference to Figure 2.

[0129] The ordering module 306 is configured to communicate with an EODMS API 320 and control module 302 to perform ordering and download operations for ROM image products 322. The ordering module 306 interfaces with the EODMS API 320 to search, order, and download RCM image products 210.

[0130] The ordering module 306 downloads RCM image products 210 from EODMS using the API and places the products 210 in a specified directory. This may be done in different ways. One is to retrieve a list of existing orders from an EODMS vetted user account using EODMS API (or equivalent) calls and allow a user 204 to select which products to download from the list. Another way is to search the EODMS archive for a user-specified list of products using the API, then order the products and download the products through an EODMS vetted user account.

[0131] The ordering module 306 interfaces with the control module 302 to execute ordering requests by the user 204 into the GUI 304 and provide feedback on the status of the ordering and downloading tasks.

[0132] When placing orders or downloading products from existing orders, the GUI 304 prompts the user 204 to select a destination folder. The folder path is sent to the ordering module 306 to populate with downloaded products.

[0133] The product formatting module 308 is configured to format input image products 324 (e.g., from both the RADARSAT-2 and RCM missions) into a common format required by supporting the analysis modules 310. Inputs to the product formatting module 308 may include a source product (e.g., a string representing a path to the input / source product) and a destination product (e.g., a string representing the folder to save the formatted product to). Outputs of the product formatting module 308 may include a formatted product conforming to a specific image product format definition that is saved in the location specified by the destination product.

[0134] The product formatting module 308 takes as input a RADARSAT-2 or RCM image product and reformats the image product as an image product conforming to a specific common image product format definition used by the system 202. In an embodiment, this format is similar to an initial version of the CHORUS-C mission product format. By formatting the input products to a common specification, a single input format can be assumed for analysis tools and modules. A directory and file structure consistent with the common image product format definition is created for each formatted image product. Metadata and imagery files are mapped from the source product to the directory structure for the new product. Each file may be updated according to the differences in specification between originating image product format definition and the destination definition.

[0135] The product formatting module 308 supports viewing and calibration analysis of RADARSAT-2 and RCM image products with the analysis modules 310, which may require a certain format.

[0136] The image products 322, 324 are stored in candidate product folders 326 as candidate image products 328. The candidate image products 328 have a common image product format definition.

[0137] The metadata analysis module 312 is configured to extract and validate product metadata from image products 328. The metadata analysis module 312 raises diagnostics if the extracted information deviates from expectations. Deviation from expectations may be based on comparison of metadata values to thresholds.

[0138] The metadata analysis module 312 may perform systematic checks on product metadata to detect and alert unexpected attitude, Doppler centroid, raw data statistics, potential saturation, replica validity, missing lines, and ambiguity ratios.

[0139] The metadata analysis module 312 parses image product metadata files and extracts information to: validate adaptively estimated versus orbit and attitude based Doppler centroid frequency; validate the Doppler centroid confidence interval against a threshold; validate the reported spacecraft roll, pitch and yaw angles against the attitude steering laws; validate raw data statistics against expectations; verify replica validity flags; verify missing line flags; and check for interference with other C-band missions based onacquisition time and other satellite locations using a modified C-band SAR interference submodule (CSIM) 338.

[0140] The CSIM 338 is based on a tool designed to predict potential C-Band radar interference between SAR satellite missions, including RADARSAT-2, RCM, Sentinel-1, EOS-4, and Gaofen-3, but modified to operate autonomously and retroactively over the short time span of an individual product, rather than over a longer period of time in the immediate future.

[0141] In an embodiment, the metadata analysis module 312 receives as input an image product (e.g., a string specifying a path to the product folder), a configuration file (e.g., JSON file) containing configuration parameters for the metadata analysis, and an output path to a results folder, and outputs a summary of product metadata and results for trending purposes (e.g., in CSV format) that is saved to the specific output path, and a diagnostic string with information regarding each diagnostic (e.g., written to standard output).

[0142] The input configuration file may include configuration parameters such as: (i) Doppler Centroid Frequency difference threshold (Hz); (ii) Doppler centroid confidence threshold (0-1); (iii) threshold in the difference between the metadata attitude angles and the attitude angles computed from the steering law (deg); (iv) percentage of data levels for the block adaptive quantization (BAQ) decoded raw data (metadata analysis module 312 may compute the percentage of data outside a range (e.g., 75%) and compare against the threshold (v); (v) a threshold in the percentage of data outside the specific raw data level range (iv) (e.g., 10%); (vi) a threshold for maximum decoded raw data I and Q biases (maximum deviation from 0 in absolute value digital counts); (vii) a threshold for minimum decoded raw data I and Q standard deviation (in digital counts); (viii) a threshold in decoded raw data gain imbalance (maximum deviation from 1 in absolute value); and (iv) a threshold in phase orthogonality (maximum deviation from 1).

[0143] In an embodiment, the metadata analysis module 312 may function as follows.

[0144] The metadata analysis module 312 extracts Doppler Centroid Frequencies from the image product metadata and compares them with Doppler Centroid Frequenciesderived from the geometry using the orbit and altitude information parsed from the metadata.

[0145] The mean Doppler centroid difference over the whole image is obtained and compared against the provided threshold.

[0146] The metadata analysis module 312 flags instances where the Doppler Centroid Frequencies Confidence parsed from the metadata is lower than the provided threshold.

[0147] The metadata analysis module 312 converts spacecraft position and velocity information into the argument of latitude. The yaw, pitch, and roll steering angles are then computed and checked against the altitude information stored in metadata. The mean differences in the steering angles over the whole image are then compared against the provided threshold.

[0148] The metadata analysis module 312 extracts the histogram of the BAQ decoded raw data value for each channel from the metadata. The metadata analysis module 312 then computes the percentage of data outside a user-specified range. If this percentage is higher than the user-provided threshold value, the product is flagged for potential raw data saturation issues. The metadata analysis module 312 also checks the raw data statistics (I / Q biases, gain imbalance, and phase orthogonality) against the user-provided values.

[0149] The metadata analysis module 312 checks and validates the replica quality metadata.

[0150] The metadata analysis module 312 checks for missing lines and gaps in raw data, as reported in product metadata.

[0151] A modified C-band SAR interference sub-module (CSIM) 338 checks for potential mutual interference from other C-band missions supported by the CSIM 338, based on mission configuration information stored in an internal spreadsheet file.

[0152] Each of these checks may cause the module to raise diagnostics, which are reported to the control module 302 via diagnostic messages.

[0153] The outputs are gathered into the CSV results summary file.

[0154] Referring to the CSIM 338, the CSIM 338 is a module used by the metadata analysis module 312 that is configured to determine if a product may be affected by potential mutual C-Band interference from another satellite supported by the CSIM software 340.

[0155] The CSIM 338 extracts the orbit information from the metadata, including the time range of the raw data used to form the product. The CSIM 338 includes an orbit propagation function that uses an API to obtain ephemeris data for other C-Band SAR satellites with similar orbital planes around the same time. The ephemeris data are then input to the CSIM 338 to determine if there may be risk of C-Band SAR interference with the product image data (if the other satellite were operating).

[0156] The image analysis module 314 is configured to perform image analysis on candidate image products 328. The image analysis module 314 checks and maps ambiguities by consulting a Digital Elevation Model (DEM) 330 and a global backscatter model 332.

[0157] The image analysis module 314 also uses antenna model patterns 334 when analyzing the image data (e.g., antenna model patterns 216 of Figure 2).

[0158] The image analysis module 314 uses the global backscatter model 332 to predict expected backscatter and estimate ambiguities.

[0159] Using the image data from each polarization, the image analysis module 314 performs the following actions: (i) extracts image data histograms and calculates contrast as the ratio between the brightest and darkest pixel per polarization (other contrast measures, such as contrast measures for autofocusing of Inverse SAR images for example, will also be considered); (ii) for 16-bit data, identifies and counts saturated or underflow pixels, and produces a map of their locations at a similar scale as the product overview image; (iii) checks for the presence of nadir ambiguities by consulting the GTOPO30 DEM and using range timing information; produces a map of nadir ambiguities if present in the image; (iv) calculates ambiguity ratios for image data in range and azimuth based on Antenna Model Patterns and validates them versus thresholds; if possible, using global backscatter model data 332, checks for any unexpected largeradiometric offsets, and produces a map of areas where ambiguities may be visible against dark backgrounds in the image, at a similar scale as the product overview image.

[0160] The use of global backscatter model data 332 is deemed helpful for such validation even though it is limited: by its coverage, which does not include oceans or polar regions; by its polarimetric diversity, which includes only the W and VH polarization channels (which for the purpose are to be assumed equivalent to the HH and HV channels respectively); by its dynamic range, which may underestimate or overestimate the true scene brightness in some areas; by the average incidence angle and orientation at which its satellite based data were collected, which in general will not be the same as in the products being validated.

[0161] To map ambiguities, an ambiguity mapping algorithm is used. Product image data may be downsized by averaging pixel power values.

[0162] In an embodiment, the image analysis module 314 receives inputs including an image product (e.g., a string specifying a path to the product folder), a configuration file (e.g., JSON file) containing the configuration parameters for the image analysis, and an output path to a results folder. The configuration parameters may include, for example, an Azimuth Ambiguity Ratio threshold (dB), a Range Ambiguity Ratio threshold (dB), and configuration parameters required by the ambiguity Model and ambiguity Mapping submodules. The image analysis module 314 outputs: (i) results including a map of clipped pixels (for 16-bit data only), a map of zero-valued pixels (for 16-bit data only), a raw image histogram for each polarization, a CSV formatted summary of image analysis results for trending (e.g., CSV format), and additional outputs from the ambiguity model and ambiguity mapping submodule; (ii) a string written to standard output to list image contrast ratio for each polarization, and (iii) a diagnostic string with information regarding each diagnostic (e.g., written to standard output).

[0163] In an embodiment, the image analysis module 314 may function as follows.

[0164] The image analysis module 314 reads the image data stored in 16-bit integer format and then computes the histogram of the image data.

[0165] The limit of an unsigned 16-bit integer is 65535, and the percentage of data capped at this value is compared against a user-provided threshold. If there is a need to test for saturation on signed 16-bit integer data (i.e. SLC data), limits may need to be defined separately

[0166] If this percentage is greater than the user-provided threshold, the product is flagged for potential saturation issues. The image analysis module 314 then generates a map to mark the saturated pixel locations. The image analysis module 314 also calculates the contrast ratio as the ratio between the brightest and darkest pixels.

[0167] Range and azimuth ambiguity ratios are computed by the ambiguity model submodule.

[0168] The ambiguity model submodule extracts required information from metadata, as well as the antenna pattern provided by the user. For range and azimuth ambiguity ratio computation, the first and second order ambiguities in both near and far range directions are considered.

[0169] The range ambiguity computation also considers (zeroth-order) mirrored ambiguities.

[0170] The computed worst-case ambiguity ratios are compared against the user provided thresholds.

[0171] The mapping of ambiguities and the radiometric comparison between image pixel value and global backscatter model 332 are described in the ambiguity mapping submodule.

[0172] Referring to the ambiguity model submodule, the ambiguity model submodule is used by the metadata analysis module 312 and computes ambiguity ratios from metadata. The ambiguity model submodule takes as input image product metadata and antenna model pattern files 334 and outputs a range ambiguity ratio and an azimuth ambiguity ratio. The output may also include a range ambiguity ratio plot against elevation angles for each beam and polarization and an azimuth pattern plot highlighting azimuth ambiguities. The range ambiguity ratio (RAR) is the ratio of the sum of the ambiguity strengths of all range ambiguities relative to the target strength. The calculation of rangeambiguities assumes a constant backscatter coefficient (gamma--zero) across incidence angles. The azimuth ambiguity ratio (AAR) is the ratio of the sum of the ambiguity strengths of all azimuth ambiguities relative to the target strength. AAR is computed at the peak elevation angle.

[0173] Referring to the ambiguity mapping submodule, the ambiguity mapping submodule is used by the image analysis module 314 and generates an ambiguity map from a SAR image product. The ambiguity mapping submodule takes as input the range ambiguity ratio and azimuth ambiguity ratio from the ambiguity model submodule. In an embodiment, the ambiguity mapping submodule outputs include: (i) a map of nadir ambiguities if predicted to appear within the product; (ii) a map of range and azimuth ambiguities if detected by the algorithm; (iii) a map of pixels of which the radiometric offset against the global backscatter model 332 exceeded the threshold value; (iv) a map showing the global backscatter model coverage for each polarization of the product (the map covers the product imaging area and extends the area by the second order of ambiguous positions in range and azimuth direction); and (v) a map showing the product image regions where at least one of the ambiguous positions is not covered by the global backscatter model 332.

[0174] In an embodiment, the ambiguity mapping submodule may function as follows.

[0175] The ambiguity mapping submodule operates on a sub-set of an image product. Each dimension of the image is down-sampled by a user-specified downsampling ratio. For each pixel of the sub-set, the ambiguity mapping submodule finds the corresponding latitudes and longitudes of the 1st and 2nd-order ambiguities.

[0176] If an ambiguity appears within the image product, the ambiguity mapping submodule computes an average value over an area around the ambiguity. If the average value is greater than the original pixel value, the pixel is marked ambiguous.

[0177] If an ambiguity is located outside the image product, the ambiguity mapping submodule extracts the relevant backscatter value from the global backscatter model if possible, using the latitude and longitude information. The algorithm identifies land areas where the global backscatter model does not cover by cross-checking the GTOPO30DEM. If GTOPO30 indicates the ambiguous position of an image pixel is over land and the position is not covered by the global backscatter model, the algorithm warns the user and generates a map of all such pixels. If the global backscatter model is available at the ambiguous position, the backscatter value is then converted to GammaO (if needed) and scaled by the maximum ambiguity ratios calculated from the metadata analyses. If the scaled GammaO is greater than the pixel value, the pixel is marked ambiguous. To improve the efficiency of ambiguity mapping, the data from the global backscatter model 332 may be down-sampled and if necessary projected from its native grid to WGS84 coordinates, with a spatial resolution of 3 arc-seconds. The down-sampled files may be stored using the MATLAB ".mat" format.

[0178] The ambiguity mapping submodule also computes the radiometric offset between the image and the global backscatter model 332 on the down sampled image grid. The radiometric offset is then compared against the user-defined thresholds. A map is generated for the pixels of which the radiometric offset is greater than the thresholds.

[0179] The mapping algorithm includes the following steps, for each pixel location in a product (on a coarse grid, not every pixel):• Find slant range to satellite and satellite state vector at broadside;• For each ambiguity to consider (including 1st and 2nd order ambiguities in range and azimuth, and zeroth-order mirror ambiguities);o For range ambiguities, add ambiguity length(s) to / from slant range; o For azimuth ambiguities, add azimuth ambiguity length(s) to / from state vector time;o Find latitude and longitude where slant range from satellite intersects the Earth;o If within product, extract average data around this point from product; o Else, if possible, extract average data around this point from the global backscatter model (else skip to the next ambiguity to consider)■ If global backscatter model data does not include all polarizations of the image data, then use VV data as approximate backscatter for HH, VH data for HV, and geometric average of VV and VH for compact pol (CH and CV);■ Scale by the corresponding ambiguity ratio (already computed during metadata analysis);o Compare with average image data around the original pixel location; and o If scaled ambiguity is brighter than image data, then turn on the corresponding cell in the output map.

[0180] The ambiguity mapping submodule also maps nadir ambiguities by computing the slant range of nadir ambiguities using an average terrain height from the GTOPO30 model (land) and EGM2008 model (marine). If the slant range of nadir ambiguities falls within the product, the pixel that has a slant range close to the nadir ambiguity slant range (the differences smaller than the user-specified threshold) is flagged. Nadir ambiguity mapping does not require the global backscatter model 332.

[0181] The spectral analysis module 316 is configured to validate the spectral content of Stripmap and Spotlight SLC image data in candidate image products 328.

[0182] The spectral analysis module 316 raises diagnostics if the spectral profiles deviate above configurable thresholds from expectations.

[0183] The spectral analysis module 316 may perform validation checks on the shape of azimuth and range spectra in candidate image products 328.

[0184] Using previously extracted image product metadata such as look bandwidths and window weighting coefficients, the spectral analysis module 316 (for Stripmap and Spotlight SLC products only): calculates expected spectral shape profiles in range and azimuth; performs two dimensional Fast-Fourier Transform (FFT) in tiles and extracts spectral magnitude profiles in range and azimuth; validates the spectral profiles versus the expected spectral shapes.

[0185] In an embodiment, the spectral analysis module 316 receives as input an SLC image product (e.g., a string specifying the path to the product folder), a configurationfile containing configuration parameters for the spectral analysis, and an output path string specifying the path where the results of the spectral analysis will be saved. The configuration parameters include thresholds such as a range spectral profile distance threshold, an azimuth spectral profile distance threshold, an auxiliary range unnormalized spectral profile distance threshold, and an auxiliary azimuth spectral profile distance threshold. The spectral analysis module 316 outputs include: (i) if any diagnostics are issued, a map of areas where the spectral shapes are flagged, and plots of the flagged spectral shapes; (ii) a report file (e.g., CSV file) with results for each spectral profile, whether flagged or not; (iii) a results file (e.g., CSV) with trending outputs for the control module 302, which may include, for example, a total number of diagnostics, a total number of diagnostics in range and azimuth, tile sizes for the analysis in each direction, mean and maximum distance in each direction, polarization for the maximum distance, mean and maximum auxiliary measure in each direction, and the polarization for the maximum auxiliary measure; and (iv) diagnostics messages with information regarding each diagnostic (e.g., strings written to standard output).

[0186] The calibration analysis module 318 is configured to perform calibration analysis on SAR image products 328 with known calibration targets from a calibration target list 336 (e.g., calibration target list 218), if applicable. The calibration analysis module 318 may include a modified IQAS submodule 340, described below.

[0187] The calibration analysis module 318 raises diagnostics if the results contain unexpected variations exceeding configurable thresholds. The calibration analysis module 318 also uses antenna model patterns 334 when performing calibration analysis.

[0188] The calibration analysis module 318 only performs analysis on image products that contain known calibration targets. This information is inferred by consulting the calibration target list 218. Using an interface 338 to an Image Quality Analysis Software (IQAS), the calibration analysis module 318 is configured to perform the following autonomously: (i) point target analysis for point targets; (ii) radiometric analysis for uniform rainforest targets like parts of the Amazon, including: elevation pattern analysis for Stripmap products; burst boundary analysis for ScanSAR products; spotlight analysis for Spotlight products; image area statistics to calculate radiometric resolution;and polarimetric analysis for quad-polarized SLC products; and (iii) noise analysis for uniform dark targets.

[0189] Radiometric analysis results may be checked for unexpected variations (possibly due to weather cells or other circumstances that might render the results unsuitable for calibration purposes) based on the radiometric resolution analysis results.

[0190] In an embodiment, the calibration analysis module 318 receives as input an image product (e.g., a string specifying the path to the product folder), an input parameters file specifying input parameters for the calibration analysis, and an output path to a results folder. The calibration analysis module 318 generates the following outputs: (i) results provided by the IQAS submodule; (ii) a results file (e.g., CSV file) with trending outputs for the control module 302; and (iii) diagnostic messages with information regarding each diagnostic (e.g., strings written to standard output). The results file may include, for example, a number of targets that could not be analyzed, a number of point targets analyzed successfully, whether there was a valid rainforest distributed target analyzed, whether there was a valid dark ocean distributed target analyzed, and the number of diagnostics for the analyzed point targets, rainforest distributed target, and dark ocean distributed target. The input parameters may include the following (DT refers to Distributed Target):- 'target_list' Path to the calibration target list file- 'edge_margin' {optional, default: 5%) Margin around edges of image for valid targets- 'DT_range_overlap' {optional, default: 0.8) Minimum fractionof swalh width overlap in range required for distributed targets- 'DT_azimuth_overlap' (oplional, default: 10 km) Minimumproduct length overlap in azimuth required for distributed targets- 'antenna_model_patterns_palh' The absolute path to a datafolder containing antenna model patterns- Calibration analysis results thresholds:- 'point_target_resolution_broadening' (optional, default: 10 %)- 'point_target_peak_side_lobe_ralio' (optional, default: -18 dB)- 'point_target_integrated_side_lobe_ratio_1D' (optional, default: -16 dB) - 'point_taret_geolocation_error_Stripmap_Spotlight' (optional, default: 15 m) - 'point_target_geolocation_error_ScanSAR' (optional, default: 50 m)- 'elevation_analysis_mean_radiometric_offset' (optional, default: 1 dB)- 'elevation_analysis_max_radiometric_offset' (optional, default: 2 dB)- 'elevation_analysis_pointing_offset' (optional, default: 0.1 deg)- 'polarimetric_analysis_magnitude_imbalance' (optional, default: 0.5 dB) - 'polarimetric_analysis_phase_im ba lance' (optional, default: 5 deg)- 'polarimetric_analysis_cross_talk’ (optional, default: -30 dB)- 'burst_boundary_analysis_relative_radiometric_offset_range' (optional, default: 1 dB) -'burst_boundary_analysis_relative_radiometric_offset_azimuth' (optional, default: 1 dB) - 'spotlight_analysis_radiometric_error' (optional, default: 3 dB)- 'noise_analysis_mean_noise_level_error' (optional, default: 2 dB)- 'noise_analysis_max_noise_level_error' (optional, default: 3 dB)- 'min_snr_for_radiometric_analysis' (optional, default: 0 dB)

[0191] - 'radiometric_resolution_degradation' (optional, default: 15%)

[0192] In an embodiment, the calibration analysis module 318 may function as follows.

[0193] If the product contains a known calibration target (based on overlap between image coverage in product metadata target locations in the input Calibration Target List 336), then the IQAS Interface submodule 340 is called to perform specific additional image quality analysis applicable to that target using an IQAS tool.

[0194] To find valid point targets: (i) apply the user specified margin to each edge of the product; (ii) find the targets that are inside the product; and (iii) check that the valid point targets are correctly oriented for imaging (for fixed orientation targets) and overlap in time with the product (based on their unavailability time and the zero Doppler time range of the product).

[0195] To find valid distributed targets: (i) apply the user specified margin to each edge of the product; (ii) Find candidate targets that are within the product radius plus each target radius, this ensures that only the targets near the product are considered. The radius of the product is defined as the distance from its center to a corner, similarly for the distributed targets. The final search radius is defined as the sum of the two radii; (iii)for rainforest targets in Stripmap modes, reduce the effective extent of the product in range to satisfy the user-specified signal-to-noise ratio threshold; (iv) compute the overlap between the candidate distributed targets and the product; (v) find the largest image-aligned rectangle inside each overlap region; (vi) discard BBA targets for Stripmap products; (vii) find the distributed target with the largest inscribed rectangle that passes the user specified fraction of the swath width in range and the user specified minimum product length in azimuth (or the whole product, whichever is less).

[0196] The image quality analysis applicable to a given target and product type includes: (i) point target analysis for point targets; (ii) noise analysis for uniform dark ocean targets and Stripmap products; (iii) radiometric analysis for uniform rainforest targets (Amazon or Congo): (a) image statistics analysis for radiometric resolution calculation; (b) for Stripmap products and Rainforest targets with Radiometric purpose: elevation pattern analysis, polarimetric analysis for Quad-Polarized SLC products; (c) burst boundary analysis for ScanSAR products.

[0197] The calibration target list 336 may initially be based on a subset of the RCM IQAS point target database, and a subset of Amazon analysis areas used in image quality monitoring operations but is modifiable and expandable by the User.

[0198] Once IQAS analysis is completed, the results are stored in the output results folder and assessed by comparing them with the input thresholds. Radiometric resolution results exceeding threshold by large amounts indicate highly non-uniform radiometry, which may potentially be due to weather disturbances or image quality issues. The output trending summary of results includes counts of target types analyzed and target types for which a threshold is exceeded.

[0199] Referring to the IQAS submodule 340, the IQAS submodule 340 is used by the calibration analysis module 318 and configured to perform different types of calibration analysis using image quality analysis software (IQAS). The IQAS submodule 340 may receive inputs including a product identification field (e.g., string containing the path to a product, or a struct that contains product information from metadata), a target field to describe target(s) and analysis type(s) (e.g., as either the path name of a file (e.g., in XML file format), or a struct containing equivalent information), and, if applicable,antenna model pattern data 334 for the beam used in the image product. The IQAS submodule 340 may generate an output including a cell array of analysis results structures, with one per analysis type requested in the input, including: (i) an analysis type string as per input target file, (ii) an analysis identification string, and (iii) a structure of analysis results (contents depend on analysis type).

[0200] Referring now to Figure 4, shown therein is a process flow 400 for EODMS ordering and downloading from a list, according to an embodiment. The process 400 may be performed by the AIQV system 202 of Figures 2-3. The process 400 may be encoded as computer-executable instructions and executed by one or more computing devices comprising one or more processors. In an embodiment, the process flow 400 may be executed by the server system 112 of Figure 1.

[0201] The process 400 starts with the user 204 clicking on an “Ordering” GUI button.

[0202] Using the GUI 304, a user 204 submits a list of product names to order and a destination folder.

[0203] The control module 302 receives this request, formats the information into a request for the ordering module 306 and forwards it to the ordering module 306.

[0204] The ordering module 306, using the EODMS API 320, performs a search for the products, orders the products, and downloads them to a specified Candidate Products Folder when the product orders are complete (via an existing EODMS vetted user account).

[0205] The ordering module 306 provides status on the progress of the download operation to be forwarded up the chain and displayed to the user 204.

[0206] The process flow 400 will now be described in further detail with reference to Figure 4.

[0207] At 402, the user 204 clicks on an “Ordering” tab in the GUI. The selection is received through the GUI module 304.

[0208] At 404, the GUI module 304 displays an ordering menu in the GUI.

[0209] At 406, the user 204 provides a list of products to order, EODMS login info, and download folder to the GUI module 304.

[0210] At 408, the GUI module 304 forwards a request to the control module 302.

[0211] At 410, the control module 302 forwards the request to the ordering module 306.

[0212] The ordering module 306 and the EODMS API 320 execute a main ordering loop 412.

[0213] At 412, the ordering module 306 starts the main ordering loop 411, and creates a formatted search request and sends the formatted search request to the EODMS API 320.

[0214] At 414, the EODMS handles the request and returns a list of search results.

[0215] At 416, the ordering module 306 finds matches, creates a formatted order request and sends the formatted order request to the EODMS API 320.

[0216] At 418, the EODMS 320 handles the request and returns a list of ordered products.

[0217] At 420, the ordering module 306 iterates over the list of ordered products. This includes 422, 424, 426, and 428.

[0218] At 422, the ordering module 306 queries EODMS API 320 to see if the product is ready for download.

[0219] At 424, the EODMS 320 handles the request and returns a response.

[0220] At 426, if the product is ready to download, the ordering module 306 begins the download.

[0221] At 428, the EODMS 320 handles the download request and begins streaming the product to the ordering module 306.

[0222] During the main ordering loop 411 (i.e., during 412-428), at 430, the ordering module 306 provides status updates to the control module 302. At 432, the control module 302 forwards the status messages to the GUI module 304 for display. At434, the GUI module 304 displays the status messages to the user 204. The provision of status messages at 430, 432, 434 may be ongoing as the main ordering loop 411 is executed.

[0223] At 436, the ordering module 306 sends a signal to the control module 302 that the operation is complete.

[0224] At 438, the control module 302 forwards the signal to the GUI module 304.

[0225] At 440, the GUI module 304 displays to the user 204 that the operation is complete.

[0226] Referring now to Figure 5, shown therein is a process flow 500 for EODMS download of pre-ordered image products, according to an embodiment. The process 500 may be performed by the AIQV system 202 of Figures 2-3. The process 500 may be encoded as computer-executable instructions and executed by one or more computing devices comprising one or more processors. In an embodiment, the process flow 500 may be executed by the server system 112 of Figure 1.

[0227] The process 500 starts with the user 204 clicking on an “Ordering” GUI button.

[0228] Using the GUI 304, a user 204 inputs EODMS vetted user login info and a destination folder.

[0229] The control module 302 receives this request, formats the information into a request for the ordering module 306 and forwards it to the ordering module 306.

[0230] The ordering module 306, using the EODMS API 320, retrieves a list of orders with products ready for download and forwards the response up the chain.

[0231] The GUI 304 displays the response from EODMS 320 as a check list of items.

[0232] Using the GUI 304, the user 204 selects products to download.

[0233] The control module 302 receives this request, formats the information into a request for the ordering module 306 and forwards it to the ordering module 306.

[0234] The ordering module 306, using the EODMS API 320, downloads the products and places them in the destination folder.

[0235] The ordering module 306 provides status on the progress of the download operation to be forwarded up the chain and displayed to the user 204.

[0236] The process flow 500 will now be described in further detail with reference to Figure 5.

[0237] At 502, the user 204 clicks on a “Download Existing Orders” tab. The selection is received through the GUI module 304.

[0238] At 504, the GUI module 304 displays a proper dialogue.

[0239] At 506, the user 204 provides a Destination folder and EODMS login information to the GUI module 304.

[0240] At 508, the GUI module 304 forwards a request to the control module 302.

[0241] At 510, the control module 302 forwards the request to the ordering module 306.

[0242] At 512, the ordering module 306 requests a list of orders with products ready to download from the EODMS API 320.

[0243] At 514, the EODMS 320 returns the list of orders.

[0244] At 516, the ordering module 306 reformats the list and forwards the reformatted list to the control module 302.

[0245] At 518, the control module 302 forwards the response to the GUI module 304.

[0246] At 520, the GUI module 304 displays the list of orders and products to download in a checkbox style list.

[0247] At 522, the user 204 selects products to download and then clicks a “Download Selected Orders” button. The selection is received by the GUI module 304.

[0248] At 524, the GUI module 304 forwards a request to the control module 302.

[0249] At 526, the control module 302 forwards the request to the ordering module 306.

[0250] At 528, the ordering module 306 iterates over the list of ordered products. This includes 530 and 532.

[0251] At 530, the ordering module 306 begins download from EODMS 320.

[0252] At 532, the EODMS 320 handles the request and begins streaming the image product to the ordering module 306.

[0253] At 534, the ordering module 306 sends status messages to the control module 302 throughout the operation 530.

[0254] At 536, the control module 302 forwards the status messages to the GUI module 304.

[0255] At 538, the GUI module 304 displays the status messages to the user 204.

[0256] At 540, the ordering module 306 sends a signal to the control module 302 that the operation is complete.

[0257] At 542, the control module 302 forwards the signal to the GUI module 304.

[0258] At 544, the GUI module 304 alerts the user 204 that the operation is complete.

[0259] Referring now to Figure 6, shown therein is a process flow 600 for autonomous image quality validation by the AIQV system 202 of Figures 2-3, according to an embodiment. The process 600 may be encoded as computer-executable instructions and executed by one or more computing devices comprising one or more processors. In an embodiment, the process flow 600 may be executed by the server system 112 of Figure 1.

[0260] To begin, the user 202 selects a Choose Folder button in an Input Products Folder option under an Analysis Menu. This triggers a file explorer window to open and the user 204 navigates to the desired folder.

[0261] The configuration parameters (e.g., configuration parameters 214) are read from the currently defined file, and the user 204 may then optionally modify selectedconfiguration parameters under the Analysis Menu. Once ready, the user clicks on the Run button at the bottom of the Analysis Menu. The modified configuration is formatted by the GUI 304 and sent to the control module 302.

[0262] The control module 302 then begins orchestrating the analyses by unzipping any zipped products. Then the control module 302 passes the path to each image product and other input parameters to the various analysis modules 310. As each analysis module 310 executes and completes its respective analysis, results are returned to the control module 302 and compiled into a common format. The control module 302 also forwards some important status information to the GUI 304 to be displayed to the user 204 (including alerts, if applicable). It should be noted that, in another embodiment, during validation runs each product is only reformatted if needed by the calibration analysis module 318 for IQAS 310 analysis, and not at the beginning of its analysis as shown in Figure 6.

[0263] Once all the analyses are complete, the control module 302 writes a summary of the validation run in a report format which includes diagnostics collected during the analysis run. Additionally, the control module 302 collects output files (e.g., CSV files) from each analysis module 310 created for each product and compiles the output files into a trending file (e.g., CSV file). Finally, the control module 302 also informs the user 204 that the analyses are complete.

[0264] The process 600 will now be described in further detail with reference to Figure 6.

[0265] At 602, the user 204 clicks on an “Input Products Folder” button in a user interface. The selection is received by the GUI module 304.

[0266] At 604, the GUI module 304 opens a file explorer window, forwards the request to the control module 302.

[0267] At 606, the user 204 selects a folder with image product in the GUI. The selection is received by the GUI module 304.

[0268] At 608, the user 204 clicks on a “Run” button in the GUI. Before the user 204 selects the Run button, the user 204 may modify configuration of the analysismodules 310, such as by manually changing configuration parameters (e.g., a threshold) on the GUI, by editing the configuration parameters file outside of the application and reloading it, or by loading or pointing to a completely new configuration parameters file.

[0269] At 610, the GUI module 304 forwards a request to the control module 302.

[0270] At 612, the control module 302 creates a request to the product formatting module 308 to ensure selected image products are properly formatted.

[0271] At 614, the product formatting module 308 performs product formatting tasks and returns response to the control module 302.

[0272] At 616, the control module 302 creates run-specific results folder and unzips any compressed image products.

[0273] At 618, the control module 302 orchestrates a validation run, looping over all image products in the selected folder. This includes 620, 622, 624, 626, and 628.

[0274] At 620, the control module 302 sends the image product folder, input parameters file, and output results folder to analysis modules 310.

[0275] At 622, the analysis modules 310 perform analysis.

[0276] At 624, the analysis modules 310 create results files and outputs diagnostics and other messages to the control module 302.

[0277] At 626, the control module 302 stores and forwards messages to the GUI module 304.

[0278] At 628, the GUI module 304 displays alerts and messages to the user 204.

[0279] At 630, the control module 302 writes completed and compiled analysis results to a results folder and trending file. The control module 302 sends a signal to the GUI module 304 that analysis is complete.

[0280] At 632, the GUI module 304 alerts the user 204 that the analysis is complete and displays results (from control module 302).

[0281] The AIQV system of the present disclosure may provide various advantages.

[0282] The AIQV system enables systematic and automatic quality checks on SAR images. The AIQV system provides a modular set of tools for autonomous SAR image quality validation and to gather large-scale statistics on problem areas. As compared to current SAR image quality operations, the autonomous SAR image quality validation tools may provide the following technical advantages: automation of existing analyses routines over calibration targets (point targets, distributed and noise); reduction of operator interaction required to monitor SAR image quality; expansion of image quality analysis to a larger proportion of SAR images, hence providing more representative analysis that is better able to characterize performance and identify issues; use of a global backscatter model to predict expected backscatter and estimate ambiguities; systematic checks on product metadata to alert about unexpected attitude, Doppler centroid, raw data statistics, replica validity, and ambiguity ratios; and validation checks on the shape of azimuth and range spectra.

[0283] While the above description provides examples of one or more apparatus, methods, or systems, it will be appreciated that other apparatus, methods, or systems may be within the scope of the claims as interpreted by one of skill in the art.

Claims

1. Claims:

1. A system for autonomous synthetic aperture radar (“SAR”) image quality validation, the system comprising:a data storage device storing a SAR image product;one or more processors in communication with the data storage device, the one or more processors configured to execute:a control module configured to orchestrate an autonomous quality validation process on the SAR image product including a validation run and generate a validation run report for the validation run, wherein the validation run includes executing:an image analysis module configured to perform image analysis on the SAR image product including checking and mapping ambiguities using a digital elevation model (“DEM”) and a global backscatter model; anda metadata analysis module configured to extract and validate metadata from the SAR image product.

2. The system of claim 1, wherein the validation run further includes executing a spectral analysis module configured to validate spectral content of image data in the SAR image product.

3. The system of claim 2, wherein the spectral analysis module validates spectral content of Stripmap or Spotlight single look complex SAR data in the SAR image product.

4. The system of claim 2, wherein the spectral analysis module raises diagnostics when a spectral profile of the image data deviates above a configurable threshold.

5. The system of claim 3, wherein the spectral analysis module performs validation checks on shape of azimuth and range spectra in the SAR image product.

6. The system of claim 1, wherein the one or more processors are further configured to execute a calibration analysis module configured to perform calibration analysis on the SAR image product using a known calibration target.

7. The system of claim 7, wherein the known calibration target includes any one or more of a point target for point target analysis, a distributed target for radiometric analysis, and a dark target for noise analysis.

8. The system of claim 6, wherein the calibration analysis module raises diagnostics where calibration results generated by the calibration analysis exceed one or more configurable thresholds.

9. The system of claim 1, wherein the image analysis module uses configuration parameters for the image analysis including an azimuth ambiguity ratio threshold and a range ambiguity threshold.

10. The system of claim 1, wherein the metadata analysis module uses an ambiguity model submodule executed by the one or more processors, the ambiguity model submodule configured to compute ambiguity ratios from the metadata.

11. The system of claim 10, wherein the ambiguity model submodule receives the metadata and antenna model pattern data as input and outputs a range ambiguity ratio and an azimuth ambiguity ratio.

12. The system of claim 1, wherein the validation run further includes executing an ambiguity mapping submodule configured to generate an ambiguity map for the SAR image product using the range ambiguity ratio and azimuth ambiguity.

13. The system of claim 1, wherein the global backscatter model is used by the image analysis module to predict expected backscatter and estimate ambiguity.

14. The system of claim 1, wherein the image analysis module uses antenna model pattern data to calculate ambiguity ratios during the validation run.

15. The system of claim 1, wherein the metadata analysis module extracts first Doppler centroid frequencies from the metadata and compares the first Doppler centroid frequencies with second Doppler centroid frequencies derived from geometry using orbit and altitude information parsed from the metadata.

16. The system of claim 15, wherein the metadata analysis module flags instances where a Doppler centroid frequencies confidence parsed from the metadata is lower than a threshold.

17. The system of claim 1, wherein the one or more processors are further configured to generate statistics for trending for a series of SAR image products including the SAR image product by beam mode and time period.

18. A method of autonomously validating synthetic aperture radar (“SAR”) image quality, the method comprising:storing, in a data storage device, a SAR image product;orchestrating, by a control module executed by one or more processors in communication with the data storage device, an autonomous quality validation process on the SAR image product including a validation run;executing the validation run, including:performing image analysis on the SAR image product including checking and mapping ambiguities using a digital elevation model (“DEM”) and a global backscatter model; andextracting and validating metadata from the SAR image product.

19. The method of claim 18, wherein executing the validation run further includes validating spectral content of image data in the SAR image product using a spectral analysis module.

20. The method of claim 19, wherein the validating includes validating the spectral content of Stripmap or Spotlight single look complex SAR data in the SAR image product.

21. The method of claim 19, wherein the validating includes raising diagnostics when a spectral profile of the image data deviates above a configurable threshold.

22. The method of claim 20, wherein the validating includes performing validation checks on shape of azimuth and range spectra in the SAR image product.

23. The method of claim 18, wherein executing the validation run further includes performing, by a calibration analysis module, a calibration analysis on the SAR image product using a known calibration target.

24. The method of claim 23, wherein the known calibration target includes any one or more of a point target for point target analysis, a distributed target for radiometric analysis, and a dark target for noise analysis.

25. The method of claim 23, further comprising raising diagnostics where calibration results generated by the calibration analysis exceed one or more configurable thresholds.

26. The method of claim 18, wherein the image analysis uses configuration parameters including an azimuth ambiguity ratio threshold and a range ambiguity threshold.

27. The method of claim 18, wherein executing the validation run further includes computing ambiguity ratios from the metadata.

28. The method of claim 27, wherein the ambiguity ratios include a range ambiguity ratio and an azimuth ambiguity ratio.

29. The method of claim 28, wherein executing the validation run further includes generating an ambiguity map for the SAR image product using the range ambiguity ratio and the azimuth ambiguity ratio.

30. The method of claim 28, wherein the global backscatter model is used to predict expected backscatter and estimate ambiguity.

31. The method of claim 18, wherein the image analysis includes using antenna model pattern data to calculate ambiguity ratios during the validation run.

32. The method of claim 18, wherein extracting and validating the metadata includes extracting first Doppler centroid frequencies from the metadata and comparing the first Doppler centroid frequencies with second Doppler centroid frequencies derived from geometry using orbit and altitude information parsed from the metadata.

33. The method of claim 32, further comprising flagging instances where a Doppler centroid frequencies confidence parsed from the metadata is lower than a threshold.

34. The method of claim 18, wherein executing the validation run further includes generating statistics for trending for a series of SAR image products including the SAR image product by beam mode and time period.