A new automated technique within ArcGIS to compute the surface derivatives M. Minin (
[email protected]), L.E. Vargas, F. Fueten (
[email protected]), E. Hauber, and R. Stesky. Calculating Strike and Dip
Neighborhood of each pixel is used as a point cloud to which a plane of best fit is approximated using linear regression. Image contains 4 channels (a, b, d, E), where ax+by+cz+d=0; n=(a, b, c); and
Abstract We present a methodology to compute raster surface derivatives using arbitrary kernel sizes, provide goodness-of-fit estimates and represent attitude data in RGB format.
Process The first derivative of a surface is the gradient (Oksanen and Sarjakoski, 2005). Aspect and slope, strike and dip, as well as AVA are merely different representations of the surface gradient, hence these formats are mutually convertible via trigonometry and arithmetics. To produce the gradient we used linear regression to minimize mean squared error in terms of vertical offset. To produce the error estimate we run element-wise comparison between surface modeled by the kernel, against the true data contained within that kernel. Methods To produce surface derivatives an add-on was written in VB.NET for ArcGIS 10.1. Due to the lack of Neighborhood iterator interface in ArcObjects, block iteration was used. As gradient is produced by a moving overlapping kernel, the size for the input block was larger then the output block to account for margins determined by the size of the kernel. The output block was set to 128x128 px, which is the default size of the image tiles for TIFF format - using a different output block size resulted in unexpected behavior. Regression equations were solved by matrix row reduction, i.e. Gaussian elimination, as per Press et. al., 1992). Outcome Using this approach, planar topographic features (e.g. faults) can be identified and their attitudes measured using remotely sensed elevation. We have tested this method using data from Mars as well as Iceland as an example of a terrestrial neotectonic setting. Derivative data can be useful for qualitative assessment, and additionally it is possible to export this data as delimited text to conduct quantitative analysis.
For visual assessment, the strike and dip data is encoded as hue and saturation (HSL): Hue = Strike ;
Squared Error derivatives with respect to a, b and d are E is lowest when all derivatives are zero:
Introduction ArcGIS contains toolboxes within Spatial Analyst extension, capable of calculating aspect and slope of the surface. These tools utilize an algorithm proposed by Horn (1981) that uses a weighted 3x3 convolution matrix to compute surface X and Y gradients. Currently there are no tools in ArcGIS capable of computing gradients using kernels larger than 3x3, nor is there a tool to determine a goodness of fit of the produced derivatives. Rationale Finding standard deviation of the pixel neighborhood is not an effective way to estimate surface roughness, as even a perfectly flat surface, when steeply dipping, will show high values for standard deviation. Comparing the neighborhood to the fitted model, on other hand, will provide a meaningful and quantitative solution for surface roughness assessment. This would also facilitate removal of noise and triangulation errors, and allow a new approach for edge detection. An ability to utilize kernels larger than 3x3 would allow to slide over minute undulations, while retaining macro-scale features. Augmented Visualization of Attitude, after Brewer and Marlow (1993), provides a vivid representation, similar to, yet more informative than simple hillshading.
Calculating Augmented Visualization of Attitude (AVA)
Comparison of Orion vs ArcGIS methods A plane selected using Orion software (Joycelyn Smith, 2013)
AVA of the same region
Saturation = Dip / 90 ; Lightness = 0.5 .
Coefficients a, b, and d can be found by solving the matrix equation:
Surface First Derivative (plane linear equation parameters)
Goodness of Fit (of regression plane)
HSL values are then converted to standard RGB representation.
Strike, Dip and Goodness-of-Fit (numeric representation)
AVA (for visual assessment)
Digital Elevation Model with hillshading
Calculating Derivatives via Model Builder (using custom geoprocessing tool) HRSC 75 m/px DTM orbit 3195
Optimization During the early stages of development, the top left corner of the image was used as the origin for surface modeling. Testing of the tool revealed that the use of row reduction to solve regression equations resulted in small, yet noticeable error from floating-point rounding, as Gaussian elimination required over 50 floating-point arithmetical operations. Computing sums , , , , , , to provide inputs for regression required large number of operations, making this process slow. Solution Since the gradient values are independent of the choice of coordinate system (Borisenko and Tarapov, 1968), we later modified the add-on so that the coordinate origin is set relative to the moving kernel, rather than relative to the static image. Since the number of pixels is the same on either side of the kernel center, the result is that = 0; = 0, and = 0. And the matrix can be simplified:
Hence d = / N = kernel’s average altitude. Since /3
;
where X and Y are image cell spacings. This means that a and b can be calculated via a convolution matrix:
Demonstrated herein is a geoprocessing model for producing surface derivatives via convolution masks, an approach which allows for greater degree of customization, shorter processing times compared to linear regression solved by row elimination, and presence of capabilities for batch-processing and workflow integration.
Comparison of linear regression vs convolution (7x7 kernel size) Source Image AVA
Source Image DTM
Models presented rely on in-house built custom convolution tool:
Write kernel matrix: Compute a gradient:
3*("%Convolution Output%" / %Input: matrix size%) / (((%Input: matrix size%-1)/2)* ((%Input: matrix size%-1)/2+1)* %Input: matrix size% )
Convolution
Linear Regression Strike
Find Strike:
Histogram comparison demonstrates good correlation between the two methods. Increasing the kernel size increases the precision, but decreases the accuracy of the result. Blue field indicates confidence interval of Orion estimate generated using by 39 hand-picked data points. DTM size = 5m/pixel
Find Dip: AVA displaying structural controls
Find Error:
Augmented Visualization of Attitude (AVA)
Dip
Ellef Ringes Island, at 35 m/px
A circle kernel inscribed in a 3X3 geoprocessor already contains an moving window covers side pixels interface for convolution filtering, almost completely, while covering implementation was simple and only half of the corner pixels, with efficient. resulting shape closely resembling Due to the versatility of octagonal kernel. To compensate for convolution matrices, it was decided it this inequality, a weighting factor of would be more useful to be able to 0.5 can be applied to the corner pixels produce derivatives within the Model of convolution matrix. That is identical Builder than via separate Command to method proposed by Horn (1981), Tool, as that would allow for batch i.e. Sobel filter, which is currently processing and quick modular being used as a basis of ArcGIS customization. While Command tools algorithm for calculating Aspect and require using only the Interfaces (e.g. Slope in Spacial Analyst extension IRasterDataset) to operate on the package. Similarly, circular kernels data, Model tools give and take Data larger than 3x3 can be implemented Elements (e.g. DERasterDataset) as by setting out-of-range elements to 0. their input/output. Hence to achieve ArcGIS lacks a built-in functionality of a command tool in a ArcToolbox capable of processing custom-built model tool, the output user-defined convolution matrices Dataset must be assigned to a within the Model Builder, hence we corresponding output Data Element. decided to create one. As ArcGIS VB.Net code for assigning interface to a Data Element:
To confirm that the results obtained via linear regression on a square kernel are identical to the output from enlarged implementation of Prewitt gradient filter described by Gonzalez and Woods (1992), we have processed same DTM
Juventae Chasma sample via both methods using a 7x7 kernel size. The product was generally identical for all but the final significant digit, supporting that notion. This experiment demonstrated equivalence of our implementation of the two methods.
Hebes Chasma AVA, HRSC 50 m/px DTM composite
Second derivative and channel identification Using convolution matrix in which weighting factors are proportional to the distance from the kernel’s center, it is possible to provide a estimate of surface concavity, In a way that is similar to Laplacian mask, described by Pandya and Macy (1995). This algorithm is different from ArcGIS built-in curvature tool, since instead of fitting a polynomial model to a
set of points, but searches directly for convex (spurs and hills ) or concave (gullies and pits) features. Running this filter with a large kernel allows for identifying channels and troughs from DTM by looking at feature boundaries, rather than flow accumulation, hence not requiring for a raster to be depressionless.
Qualitative assessment of neotectonic features. Turtle Mountain in 3D
Turtle Mountain as a hillshaded DTM
AVA displaying neotectonic faults
Hebes Chasma HRSC 50 m/px DTM composite 3D projected, showing areas of high concavity in blue
Kernel sizes larger then 3x3 can be achieved by increasing the size of the convolution matrix.
Turtle Mountain, Alberta, LiDAR DTM data, at 1 m/px
Using Goodness-of-Fit Estimates for noise reduction Noisy DTMs can be cleaned up by identifying bad pixels and replacing them with average values of the pixels surrounding them. In this illustration it was achieved via 1) processing the DTM to determine the goodness of fit of best fit model plane to a 3x3 square kernel, followed by 2) a threshold to set the pixels with error greater then 10 to null, followed by 3) dilation of null zones by 1 pixel. Source Data
Next, focal mean filter was applied recursively until majority of the null zones were closed (a more sophisticated interpolation can be applied for better approximation). The resultant blurred image was used to fill in the null zones of the image produced in the previous step (3). This technique allowed for eliminating unusable data without sacrificing much information. This in turn allows viewing of features that would otherwise be obstructed by triangulation errors in places of chaotic terrain.
References:
After noise reduction
Estimating the channel morphology from surface concavity
CTX stereopair D15_033103_1790_XN_01S076W-P03_002129_1790_XN_01S076W
Hebes Chasma composite DTM was processed using a 5x5 mask with a threshold adjusted to highlight gullies. A DTM of an outflow channel in Juventae Chasma was processed using 100x100 mask, and all areas concave down were highlighted in blue.
Juventae Chasma
Anton, H., and Rorres, C., 2010. Elementary Linear Algebra applications version: Anton Textbooks, Inc. Barlow, J., Franklin, S., Martin, Y., 2006. High spatial resolution satellite imagery, DEM derivatives, and image segmentation for the detection of mass wasting processes: Photogrammetric Engineering & Remote Sensing, vol. 72, no. 6, pp. 687-692. Barraud, J., 2006. The use of watershed segmentation and GIS software for textural analysis of thin sections: Journal of Volcanology and Geothermal Research, vol. 154, no. 1, pp. 17-33. Borisenko A.I., and Tarapov, I.E., 1966, Vector and tensor analysis with applications, 3rd edn: Translated from Russian by Silverman R.A., 1979, Dover Publications, Inc., pp. 145-151. Brewer, C.A., and Marlow, K.A., 1993. Color representation of aspect and slope simultaneously, in Proceedings, 11th International Symposium on Computer Assisted Cartography (Auto-Carto-11), Minneapolis, pp. 328-328. Dale, N., and Weems, C., 2005. Programming in C++, 3rd edn.: Jones and Bartlett Publishers, Inc. Davis, J.C., 2002. Statistics and data analysis in geology, 3rd edn.: John Wiley & Sons, Inc., pp. 78-83, 93-96, 462-463, 479-480. Gonzalez R. C., and Woods, R. E., 1992. Digital Image Processing: Addison-Wesley Publishing Company, Inc., pp. 48-50, 68-71, 189-221, 413-438. Goodchild, J. S., and Fueten, F., 1998. Edge detection in petrographic images using the rotating polarizer stage: Computers & Geosciences, vol. 24, no. 8, pp. 745-751. Groshong, R.H. Jr., 2006. 3-D Structural Geology: A Practical Guide to Quantitative Surface and Subsurface Map Interpretation, 2nd edn.: Springer-Verlag Berlin Heidelberg, pp. 373-382. Kneissl, T., van Gasselt, and S., Neukum, G., 2010. Measurement of Strike and Dip of Geologic Layers from Remote Sensing Data---New Software Tool for ArcGIS, in Proceedings, Lunar and Planetary Science Conference. Vol. 41. Lisle, R. J., and Leyshon P. R., 2004. Stereographic Projection Techniques for Geologists and Civil Engineers: Cambridge University Press. MacMillan, R.A., Pettapiece, W.W., Nolan, S.C., and Goddard, T.W., 2000. A generic procedure for automatically segmenting landforms into landform elements using DEMs, heuristic rules and fuzzy logic: Fuzzy sets and Systems, vol. 113, no. 1, pp. 81-109 Mayo, J., 2010. Microsoft® Visual Studio® 2010: A Beginner's Guide: The McGraw-Hill Companies. Oksanen, J. and Sarjakoski, T., 2005. Error propagation of DEM-based surface derivatives: Computers & Geosciences, vol. 31, no. 8, pp. 1015-1027. Pandya, A.S. and Macy, R.B., 1996. Pattern Recognition with Neural Networks in C++: CRC Press, Inc., p. 53-59. Premerlani, W., 2010. Computing Euler Angles from Direction Cosines: DIY Drones. https://gentlenav.googlecode.com/files/EulerAngles.pdf Press, W. H., Teukolsky, S. A., Vetterling, W. T., and Flannery, B. P., 1992. Numerical Recipes in C: The Art of Scientific Computing, 2nd edn.: Cambridge University Press., pp. 41-42, 394-397, 456, 636-639, 656-665, 671-680. Skidmore, A.K., 1989. A comparison of techniques for calculating gradient and aspect from a gridded digital elevation model: International Journal of Geographical Information System, vol. 3, no. 4, pp. 323-334. Slocum, T.A., McMaster, R.B., Kessler, F.C., Howard, H.H., 2009. Thematic Cartography and Geovisualization, 3rd edn.: Pearson Education Inc., pp. 371-388. Smith, J., 2013, Measuring Planar Features using CTX Images and Digital Terrain Maps: Searching for Evidence of Faulting in Candor, Ophir and Coprates Chasmata, Valles Marineris, Mars: Undergraduate thesis, Brock University Stesky, R., Fueten, F., MacKinnon, P., Orion Layer Measurement Technique: OrionTM software, Pangea Scientific. Ward, K.J., Series - Sum of the Squares of the First n Natural Numbers, http://www.trans4mind.com/personal_development/mathematics/series/sumNaturalSquares.htm