Robust Gridded Data Resampling with Invalid Value Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data resampling methods, such as nearest neighbor, bilinear, and cubic convolution, are ineffective in handling missing data values, leading to the generation of more 'no data' values in the output, which severely affects the utility of the resampled data set, especially when dealing with data sets containing floating point values and special values like Infinity or NaN.
Innovation Solution
The proposed method ignores or replaces invalid samples with valid neighboring values, using validity bitmasks and lookup tables to determine the appropriate sample values for resampling, thereby reducing the number of 'no data' values in the output to be on the same order as the input, using branch-based and parallel approaches to minimize performance penalties.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If known interpolation techniques (nearest neighbor, bilinear, cubic convolution) are used for resampling, then the resampling process can be completed, but invalid pixels (NaN, Inf, or special out of range values) propagate and affect the output values of valid land pixels, causing many valid pixels to become invalid in the output
Solution Approach 1:
The patent extracts and isolates invalid data points (NaN, Inf, or special out of range values) from the input dataset before performing resampling operations. By separating these problematic values, the resampling algorithm can process only valid data points, preventing the propagation of invalid values to the output while maintaining the integrity of valid land pixels.
Solution Approach 2:
The patent introduces an intermediary validation step that checks data validity before resampling and after resampling. This intermediary process identifies and handles invalid pixels separately, acting as a mediator between the resampling algorithm and the final output, ensuring that invalid values do not contaminate valid output pixels.
2Manufacturing precision
If cubic convolution algorithm with 4×4 neighborhood is used, then smoother resampled output is achieved, but more valid pixels become invalid because every pixel on small islands may be within 3 pixels of a white no data pixel
Solution Approach 1:
The patent applies local quality by treating different regions of the dataset differently based on their validity. Valid regions undergo full cubic convolution resampling to maintain smoothness and quality, while regions containing invalid pixels are processed separately using validation logic that prevents invalid value propagation, thus maintaining both quality and reliability locally.
Solution Approach 2:
The patent segments the resampling process into distinct phases: pre-validation to identify invalid pixels, resampling of valid pixels only, and post-validation to ensure output quality. This segmentation allows the cubic convolution algorithm to operate on clean data without being corrupted by invalid values, maintaining both precision and reliability.
3Device complexity
If special values like Infinity or NaN are used to represent no data, then data storage is simplified, but any calculations involving these special values return the same special value, propagating invalidity through the resampling process
Solution Approach 1:
The patent performs preliminary action by validating and handling special values (NaN, Inf) before they can propagate through the resampling calculations. The pre-validation step identifies and isolates these special values, replacing or excluding them from the resampling process, thus preventing the mathematical propagation of invalidity while maintaining the simple storage format.
Data Source
AI summary
During data resampling, bad samples are ignored or replaced with some combination of the good sample values in the neighborhood being processed. The sample replacement can be performed using a number of approaches, including serial and parallel implementations, such as branch-based implementations, matrix-based implementations, and function table-based implementations, and can use a number of modes, such as nearest neighbor, bilinear and cubic convolution.


