1 Introduction

In many applications it is necessary to analyse data, e.g. classical images given on 2D or 3D regular grid structure or geoscience data given on 2D surfaces like Earth topography or satellite orbits, which are often contaminated by noise, and their quality can be rather poor. Nonlinear partial differential equations (PDEs) can be used to automatically produce output of higher quality, enhance the sharpness, filter out the noise, extract shapes, etc. From the mathematical point of view, the input processed data can be modelled by a real function \(u^0(x)\), \(u^0:\varOmega \rightarrow R\), where \(\varOmega \subset R^d\) represents a spatial domain. In image analysis, \(\varOmega \) is typically rectangular and \(d=2\) or 3, in surface data analysis \(\varOmega \) is a closed or open surface in \(R^3\). In the presented approach, we are strongly inspired by ideas from classical image processing which we transfer to geodesy surface data analysis.

Image processing operations based on PDEs involve such important tasks as image filtering, edge detection, deblurring and image enhancement, restoration, image inpainting, shape extraction and analysis, image segmentation, motion analysis, motion based filtering etc. (Alvarez et al. 1993; Alvarez and Morel 1994; Romeny 1994; Sethian 1999; Weickert 1998; Caselles et al. 1998; Nielsen et al. 1999; Sapiro 2001; Osher and Fedkiw 2003). Typical 2D examples are given by a large variety of medical and bioengineering images, satellite images, texts pre-processed for automatic reading, old corrupted photographs or any other digital images of poor quality. 3D or even 4D image analysis applications arise in biology, medicine or in material quality control, where 3D volumetric aquisition methods are widely used nowadays, see e.g. (Faure et al. 2016).

The first step to use PDEs for image processing was done in the beginning of eighties (Koenderink 1984; Witkin 1983). By the simple observation that the Gauss function

$$\begin{aligned} G_\sigma (x)=\frac{1}{(4\pi \sigma )^{d/2}}e^{-{|x|^2}/{4\sigma }} \end{aligned}$$
(1)

is the fundamental solution of the linear heat (diffusion) equation, it has been possible to replace the classical image processing operation—convolution of an image with the Gauss kernel (normal probability distribution function) with variance \(v=\sqrt{2\sigma }\) (Gaussian smoothing)—by solving the linear heat (diffusion) equation

$$\begin{aligned} u_t=\varDelta u \end{aligned}$$
(2)

for time \(t=\sigma \) with initial condition given by the processed image \(u^0\). Here \(\varDelta \) denotes the classical Laplace operator in cartesian coordinates and \(u_t\) denotes the time derivative of the unknown function u(tx), \(u:[0,T]\times \varOmega \rightarrow R\).

It is well known that Gaussian smoothing (linear diffusion) blurs edges and moves their positions in images as well as smooths out local extrema of data. Although such phenomena can cause no problems in some examples of data analysis, in applications where, e.g. a visual impression is crucial and a precise localization of edges and values at extrema are necessary, the linear (Gaussian) smoothing is generally not the best choice. A way has been found to overcome these shortcomings, namely to switch to nonlinear diffusion models.

Due to the evolutionary character of the process which controls the processing using diffusion equations, application of any PDE to an initially given image is understood as its embedding in the so-called scale space. The Gaussian smoothing represents linear scale space. In the case of nonlinear PDEs one speaks about nonlinear scale space. The axioms and fundamental properties of such embeddings have been summarized and studied by Alvarez et al. (1993), Alvarez and Morel (1994), and Lions (1994), where the notion of image multiscale analysis has been introduced. The image multiscale analysis associates with a given image \(u^0(x)\) a family u(tx) of smoothed-simplified images depending on an abstract parameter \(t\in [0,T]\), the scale. As has been proved in Alvarez et al. (1993), if such a family fulfills certain basic assumptions—pyramidal structure, regularity and local comparison principle—then u(tx), \(u:[0,T]\times \varOmega \rightarrow R\), can be represented as the unique viscosity solution [in the sense of Crandall et al. (1992)] of a general second order (degenerate) parabolic partial differential equation. This theoretical result has also an important practical counterpart. The equations of (degenerate) parabolic type have a smoothing property, so they are a natural tool for filtering (image simplification) by removing spurious structures, e.g. noise. Moreover, the simplification should be “data oriented”, e.g. it should respect edges and not blur them. Such requirements, or even more sophisticated ones related to the differential characteristics of the image, bring strong nonlinearity into the parabolic PDEs, and make this field interesting not only because of the applications but also from a mathematical and numerical point of view.

Since the end of the 80s, the nonlinear diffusion equations have been used for processing of 2D and 3D images. After the pioneering work of Perona and Malik (1987) who modified the linear heat equation (2) to nonlinear diffusion preserving edge positions, there has been a great deal of interest in the application and analysis of such equations. At present, the following nonlinear PDE suggested by Catté et al. (1992), often called regularized Perona–Malik model, is widely used in various practical image processing applications:

$$\begin{aligned} u_t - \nabla \cdot (g(|\nabla G_\sigma *u|)\nabla u) = 0, \end{aligned}$$
(3)

where u(tx) is an unknown function. The equation is accompanied by the zero Neumann boundary conditions, the initial condition is given by the processed image \(u^0 \in L_\infty (\varOmega )\), the following assumptions on diffusion coefficient function g and smoothing kernel \(G_\sigma \) are prescribed

$$\begin{aligned}&g:R_0^+\rightarrow R^+ \ \mathrm{is \ a \ nonincreasing\ function}, g(0)=1, g(s)\rightarrow 0 \mathrm{\ for\ } s\rightarrow \infty , \end{aligned}$$
(4)
$$\begin{aligned}&G_\sigma \in C^\infty (R^d) \mathrm{\ is\ a\ smoothing\ kernel}, \int _{R^d} G_\sigma (x)\, dx=1, \int _{R^d}|\nabla G_\sigma |\, dx\le C_\sigma ,\nonumber \\ \end{aligned}$$
(5)
$$\begin{aligned}&G_\sigma (x)\rightarrow \delta _x \mathrm{\ for\ } \sigma \rightarrow 0, \mathrm{\ where \ }\delta _x \mathrm{\ is\ Dirac\ function\ localized\ at\ point\ x}, \end{aligned}$$
(6)

and

$$\begin{aligned} \nabla G_\sigma *u (x) = \int \limits _{R^d}\nabla G_\sigma (x-\xi )\tilde{u}(\xi )\,d\xi , \end{aligned}$$
(7)

where \(\tilde{u}\) is an extension of u to \(R^d\). One can consider the extension of u by 0 outside \(\varOmega \) or the reflective periodic extension of the image (Catté et al. 1992).

The Eq. (3) represents a modification of the original Perona–Malik model (Perona and Malik 1987; Nitzberg and Shiota 1992; Kichenassamy 1997)

$$\begin{aligned} u_t - \nabla \cdot (g(|\nabla u|)\nabla u) = 0, \end{aligned}$$
(8)

called also anisotropic diffusion in the computer vision community. Perona and Malik introduced (8) in the context of edge enhancement. The equation selectively diffuses the image in the regions where the signal has small variance in intensity in contrast with those regions where the signal changes its tendency. Such a diffusion process is governed by the shape of the diffusion coefficient given by the function g in (8) and by its dependence on \(\nabla u\), which is understood as an edge indicator (Perona and Malik 1987). Since \(g\rightarrow 0\) for large gradients, the diffusion is strongly slowed down on edges, while outside them it provides averaging of pixel intensities as in the linear case. From a mathematical point of view, for practical choices of g (e.g. \(g(s)=1/(1+s^2)\), \(g(s)=e^{-s^2}\)), the original Perona–Malik equation (8) can behave locally like the backward heat equation. It is, in general, an ill-posed problem which suffers from non-uniqueness and whose solvability is a difficult problem (Kichenassamy 1997). One way to overcome this disadvantage was proposed in (Catté et al. 1992), where the convolution with the Gaussian kernel \(G_\sigma \) was introduced into the decision process for the value of the diffusion coefficient, cf. (3). Since convolution with the Gaussian is equivalent to linear diffusion, their model combines ideas of linear and nonlinear scale space equations. Such a slight modification made it possible to prove the existence and uniqueness of solutions for the modified equation, and to keep the practical advantages of the original formulation (Catté et al. 1992). Moreover, usage of the Gaussian gradient \(\nabla G_\sigma *u\) combines the theoretical and implementation aspects of the model. The convolution (with prescribed \(\sigma \)) gives a unique way to compute gradients of a piecewise constant image. It also bounds (depending on \(\sigma \)) the gradient of the solution as input of the function g in the continuous model—which corresponds to the situation in numerical implementations where gradients evaluated on a discrete grid are finite. Also, the local edge enhancement is more understandable in the presence of noise.

In this paper we present linear and nonlinear diffusion filtering methods for geodesy data given on closed surfaces. For readers interested in image processing numerical algorithms on regular grids we refer, e.g. to (Mikula and Ramarosy 2001; Kriva et al. 2010) and further references therein. In order to process surface data by PDEs like (2) and (3), instead of standard gradient and Laplacian, we have to consider the surface gradient and surface Laplacian—so called Laplace–Beltrami operator. For any scalar function u defined on an open subset G of \(R^d\) containing surface \(\varOmega \) the surface (tangential) gradient is defined by

$$\begin{aligned} \nabla _s u = \nabla u - (\nabla u \cdot \nu )\nu \end{aligned}$$
(9)

where \(\nu \) is outer unit normal to the closed surface \(\varOmega \) and \(\nabla u\) denotes the usual gradient and \(\cdot \) denotes the usual scalar product on \(R^d\). The tangential gradient \(\nabla _s u\) only depends on the values of u restricted to surface \(\varOmega \) and \(\nabla _s u \cdot \nu = 0\). The Laplace–Beltrami operator on surface \(\varOmega \) is then defined as the tangential divergence of the tangential gradient, i.e.

$$\begin{aligned} \varDelta _s u = \nabla _s \cdot \nabla _s u. \end{aligned}$$
(10)

We also recall the Green (integration by parts) formula for scalar functions on surfaces and its consequences (Gilbarg and Trudinger 1988; Dziuk and Elliott 2007, 2013), which will be used in derivation of numerical schemes later in the paper. Let \(\varGamma \) be a subset of \(\varOmega \) having a boundary \(\partial \varGamma \) whose unit outer normal, tangential to \(\varGamma \), is denoted by \(\eta \). Then

$$\begin{aligned} \int _\varGamma \nabla _s u \ dA = \int _{\partial \varGamma } u \eta \ da - \int _\varGamma H u \nu dA \end{aligned}$$
(11)

where H denotes the (scalar) mean curvature of \(\varGamma \), and dA denotes 2D surface element measure and da denotes 1D curve element measure, for the proof see (Dziuk and Elliott 2013), Theorem 2.10. Let q be a tangential vector field to the surface \(\varGamma \), i.e. \(q\cdot \nu =0\), a typical example used later is the so called surface diffusion flux given by \(q=g\nabla _s u\), where g is a scalar function defined on the surface. Then from (11) we obtain divergence theorem on the surface

$$\begin{aligned} \int _{\varGamma }\nabla _s \cdot q \ dA = \int _{\partial \varGamma } q\cdot \eta \ da - \int _\varGamma H q\cdot \nu dA = \int _{\partial \varGamma } q\cdot \eta \ da. \end{aligned}$$
(12)

and choosing \(g=1\) in surface diffusion flux we get

$$\begin{aligned} \int _{\varGamma }\varDelta _s u \ dA = \int _{\partial \varGamma }\nabla _s u\cdot \eta \ da. \end{aligned}$$
(13)

In the following sections, we introduce and discuss linear and nonlinear diffusion models depending on surface gradient and surface Laplacian. We present in details their numerical discretization by surface finite volume method and study behaviour of models and their numerical discretizations on testing examples as well as on real geodesy data.

2 The linear diffusion filter on a surface

The linear diffusion of a scalar function u on a closed surface \(\varOmega \) is given by the equation

$$\begin{aligned} \partial _{t}u=\varDelta _{s}u, \end{aligned}$$
(14)

which is a direct generalization of Eq. (2) and serves for a uniform smoothing of data on surfaces. Since the surface is closed no boundary conditions have to be prescribed. Processed data \(u^0(x)\) defined on \(\varOmega \) gives initial condition for (14).

2.1 Numerical discretization of linear diffusion on a surface

The differential equation (14) is numerically solved by the surface finite volume method (Čunderlík et al. 2012; Eymard et al. 2003). In this approach, the surface \(\varOmega \) is approximated by an appropriate triangulation defined by N representative nodes \(X_{i},\,X_{i}\subset \varOmega ,\,i=1,\ldots ,N\). These nodes represent vertices of the triangular grid defined by planar triangles \(T_{iq},\,q=1,\ldots ,Q_{i},\,i=1,\ldots ,N,\) where \(Q_{i}\) is the number of triangles with the vertex \(X_{i}\). Other two vertices of the triangle \(T_{iq}\) will be denoted by \(X_{i}^{q1}\) and \(X_{i}^{q2}\). A value of function u in the node \(X_{i}\) is denoted by \(u_{i}\). For the given triangulation we construct a finite volume grid. At each node \(X_{i}\) we create a co-volume (finite volume) \(V_{i}\) bounded by straight lines that connect midpoints between \(X_{i}\) and its neighbours \(X_{i}^{q1}\), \(X_{i}^{q2}\) with centers of mass of all triangles joined in the node \(X_{i}\) (see Fig. 1).

Fig. 1
figure 1

Finite volume \(V_{i}\)

By integrating Eq. (14) over the finite volume \(V_{i}\) and by applying (13) to its right hand side we obtain

$$\begin{aligned} \int _{V_{i}}\partial _{t}u\,dA=\int _{\partial V_{i}}\nabla _{s}u\cdot \mathbf {\eta }_{i}da, \end{aligned}$$
(15)

where \(\nabla _{s}u\) represents the surface gradient of the function u and \(\mathbf {\eta }_{i}\) is a unit outer normal, tangential to the co-volume boundary \(\partial V_{i}\). Taking into account geometry of this boundary we get

$$\begin{aligned} \int _{V_{i}}\partial _{t}u\,dA=\sum _{q=1}^{Q_{i}}\int _{\partial V_{iq}}\nabla _{s}u\cdot \mathbf {\eta }_{iq}da, \end{aligned}$$
(16)

where \(\partial V_{iq}\) are parts of the co-volume boundary that belong to \(T_{iq}\) having normal vectors \(\mathbf {\eta }_{iq}\).

Equation (14) is solved in a time interval [0, T]. This interval is divided into M time steps \(t_{j},\,j=1,\,\ldots ,\,M\) and the time derivative \(\partial _{t}u\) is approximated by the backward difference

$$\begin{aligned} \partial _{t}u\approx \frac{u^{j}-u^{j-1}}{\tau }, \end{aligned}$$
(17)

where \(\tau =t_{j}-t_{j-1}\) denotes the time step and the value of \(u^{j}\) represents a solution in the jth time step. Then the left hand side of the Eq. (16) can be approximated by

$$\begin{aligned} \int _{V_{i}}\partial _{t}u\,dA\approx m(V_{i})\frac{u_{i}^{j}-u_{i}^{j-1}}{\tau }, \end{aligned}$$
(18)

where \(m(V_{i})\) denotes the area of co-volume \(V_{i}\), and we get

$$\begin{aligned} m(V_{i})\frac{u_{i}^{j}-u_{i}^{j-1}}{\tau }=\sum _{q=1}^{Q_{i}}\int _{\partial V_{iq}}\nabla _{s}u^{j}\cdot \mathbf {\eta }_{iq}da. \end{aligned}$$
(19)

For the right hand side of Eq. (19) let us consider a linear representation of \(u^{j}\) on each triangle. Then the surface gradient \(\nabla _{s}u^{j}\) is a constant vector over each triangle \(T_{iq}\) and we can replace it by the mean value

$$\begin{aligned} \nabla _{s}u^{j}=\frac{1}{m(T_{iq})}\int _{T_{iq}}\nabla _{s}u^{j}da, \end{aligned}$$
(20)

where \(m(T_{iq})\) denotes the area of the triangle \(T_{iq}\). Applying (11) to the right hand side of Eq. (20), since any triangle has the zero mean curvature, we obtain

$$\begin{aligned} \nabla _{s}u^{j}=\frac{1}{m(T_{iq})}\int _{\partial T_{iq}}u^{j}\cdot \mathbf {n}_{iq}da, \end{aligned}$$
(21)

where \(\mathbf {n}_{iq}\) is the unit outer normal vector, tangential to the boundary of the triangle \(T_{iq}\). For the linear representation of \(u^{j}\), the integral over the triangle boundary can be expressed as a sum of average values from each triangle side, and denoting by \(\mathbf {P}_{T_{iq}}^{j}\) the constant approximation of the surface gradient on the triangle \(T_{iq}\), we get

$$\begin{aligned} \mathbf {P}_{T_{iq}}^{j}=\frac{1}{m(T_{iq})}\Bigg (\frac{u_{i}^{j}+u_{q1}^{j}}{2}d_{iq1}\mathbf {n}_{iq1}+\frac{u_{i}^{j}+u_{q2}^{j}}{2}d_{iq2}\mathbf {n}_{iq2}+\frac{u_{q1}^{j}+u_{q2}^{j}}{2}d_{q1q2}\mathbf {n}_{q1q2}\Bigg ) \end{aligned}$$
(22)

where \(u_i^j,u_{q1}^{j},u_{q2}^{j}\) denotes the nodal values of the solution in triangle nodes \(X_i,X^{q1}_{i},X^{q2}_{i}\), see Figs. 2 and 3, where all geometrical quantities appearing in (22) are plotted.

Fig. 2
figure 2

Plot of the triangle \(T_{iq}\) sides with lengths \(d_{iq1}\), \(d_{iq2}\), \(d_{q1q2}\), and portions of the co-volume boundary \(e_{iq}^{1}\) , \(e_{iq}^{2}\) belonging to the triangle \(T_{iq}\)

Fig. 3
figure 3

Plot of the outer unit normal vectors to the triangle \(T_{iq}\) sides, \(\mathbf {n}_{iq1}\), \(\mathbf {n}_{iq2}\), \(\mathbf {n}_{q1q2}\), and to the co-volume boundary, \(\eta _{iq}^{1},\) \(\eta _{iq}^{2}\)

Consequently, the approximation of Eq. (19) can be written in the form

$$\begin{aligned} m(V_{i})\frac{u_{i}^{j}-u_{i}^{j-1}}{\tau }=\sum _{q=1}^{Q_{i}}\,\int _{\partial V_{iq}}\mathbf {P}_{T_{iq}}^{j}\cdot \mathbf {\eta }_{iq}da. \end{aligned}$$
(23)

Since \(\mathbf {P}_{T_{iq}}^{j}\) is a constant vector and

$$\begin{aligned} \int _{\partial V_{iq}}\mathbf {\eta }_{iq}=m(e_{iq}^{1})\mathbf {\eta }_{iq}^{1}+m(e_{iq}^{2})\mathbf {\eta }_{iq}^{2}, \end{aligned}$$
(24)

where \(m(e_{iq}^{1})\) and \(m(e_{iq}^{2})\) are lengths of the parts of the co-volume boundaries inside the triangle \(T_{iq}\), see Fig. 2, we get

$$\begin{aligned} m(V_{i})\frac{u_{i}^{j}-u_{i}^{j-1}}{\tau }=\sum _{q=1}^{Q_{i}}\left[ m(e_{iq}^{1})\mathbf {\eta }_{iq}^{1}\cdot \mathbf {P}_{T_{iq}}^{j}+m(e_{iq}^{2})\mathbf {\eta }_{iq}^{2,}\cdot \mathbf {P}_{T_{iq}}^{j}\right] \end{aligned}$$
(25)

which can be, for every \(i=1,\ldots ,N\), written in the form

$$\begin{aligned} u_{i}^{j}-\frac{\tau }{m(V_{i})}\sum _{q=1}^{Q_{i}}\left[ m(e_{iq}^{1})\mathbf {\eta }_{iq}^{1}\cdot \mathbf {P}_{T_{iq}}^{j}+m(e_{iq}^{2})\mathbf {\eta }_{iq}^{2,}\cdot \mathbf {P}_{T_{iq}}^{j}\right] = u_{i}^{j-1} \end{aligned}$$
(26)

and represents the implicit numerical scheme for solving linear diffusion equation (14) on the closed surface \(\varOmega \).

Equation (26) represent a linear system of equations which can be written in the form

$$\begin{aligned} \mathbf {A}\mathbf {u}^{j} = \mathbf {u}^{j-1} \end{aligned}$$
(27)

where \(\mathbf {A}\) represents the system matrix and \(\mathbf {u}^{j}=[u_{1}^{j},\ldots ,u_{N}^{j}]^T\) is a vector of nodal values of the solution in the jth time step. The system matrix \(\mathbf {A}\) is a sparse non-symmetric matrix and its properties depend on the time step \(\tau \) and geometry of the triangulation. Let us define a local numbering of nodal values in co-volume and its neighbourhood: the nodal value in the co-volume centre will be denoted by \(u^{j}_{i0}\) and its neighbouring unknown values are denoted by \(u^{j}_{i1},\ldots ,u^{j}_{iQ_i}\). Then the equation corresponding to co-volume \(V_{i}\) contains \(Q_i +1\) unknowns \(u^{j}_{i0},u^{j}_{i1},\ldots ,u^{j}_{iQ_i}\) and ith row of the linear system (27) is given by

$$\begin{aligned} \sum _{q=0}^{Q_{i}}a^{j}_{iq}u^{j}_{iq} = u_{i0}^{j-1}, \end{aligned}$$
(28)

where \(a^{j}_{i0},a^{j}_{i1},\ldots ,a^{j}_{iQ_i}\) represent non-zero coefficients in the ith row of the matrix \(\mathbf {A}\) (let us note that for the linear diffusion approximation the upper (time) index j is dummy, but it will play a role in nonlinear diffusion approximation later). The exact column locations of these non-zero coefficients depends on a global indexing of the corresponding nodal value. However, one can easily see that the diagonal coefficient \(a^{j}_{i0}\) can be expressed in the form

$$\begin{aligned} a^{j}_{i0}= & {} 1-\frac{\tau }{m(V_{i})}\sum _{q=1}^{Q_{i}}\frac{1}{2m(T_{iq})}\bigg [m(e_{iq}^{1})\mathbf {\eta }_{iq}^{1}\cdot (d_{iq1}\mathbf {n}_{iq1}+\cdot d_{iq2}\mathbf {n}_{iq2}) \nonumber \\&+\, m(e_{iq}^{2})\mathbf {\eta }_{iq}^{2}\cdot (d_{iq1}\mathbf {n}_{iq1}+d_{iq2}\mathbf {n}_{iq2})\bigg ] \end{aligned}$$
(29)

and the non-diagonal coefficients \(a^{j}_{iq}\), \(q=1,\ldots ,Q_i\), are given by

$$\begin{aligned} a^{j}_{iq}= & {} -\frac{\tau }{m(V_{i})}\bigg (\frac{1}{2m(T_{iq})}\Big [m(e_{iq}^{1})\mathbf {\eta }_{iq}^{1}\cdot (d_{iq1}\mathbf {n}_{iq1}+ d_{q1q2}\mathbf {n}_{q1q2}) \nonumber \\&+\,m(e_{iq}^{2})\mathbf {\eta }_{iq}^{2}\cdot (d_{iq1}\mathbf {n}_{iq1}+d_{q1q2}\mathbf {n}_{q1q2})\Big ] \nonumber \\&+\,\frac{1}{2m(T_{ik})}\Big [m(e_{ik}^{1})\mathbf {\eta }_{ik}^{1}\cdot (d_{ik1}\mathbf {n}_{ik1}+ d_{k1k2}\mathbf {n}_{k1k2}) \nonumber \\&+\, m(e_{ik}^{2})\mathbf {\eta }_{ik}^{2}\cdot (d_{ik1}\mathbf {n}_{ik1}+d_{k1k2}\mathbf {n}_{k1k2})\Big ]\bigg ). \end{aligned}$$
(30)

where two triangles with indexes q and k are involved and index \(k = q-1\) if \(q>1\) and \(k = Q_i\) if \(q=1\).

2.2 Behaviour of the linear diffusion on a closed surface

In this subsection, we present a simple numerical experiment showing how an additive noise is filtered from an artificial function defined on a spherical computational domain. To approximate a unit sphere we use the seventh subdivision of the initial icosahedral grid. The process of subdivision is illustrated in Fig. 4.

Fig. 4
figure 4

Process of subdivision of the initial icosahedron

Fig. 5
figure 5

Artificial function w

In this experiment, we use the triangulation with 163,842 nodes and 327,680 triangles. On this triangulated sphere we defined an artificial piecewise linear function w in such a way that \(w_i =1\) for all nodes located on lands and \(w_i=0\) for all nodes at oceans (see Fig. 5).

Onto this function w, we put an additive noise up to 40 % at 16,661 nodes which represent approximately 10 % of all nodes randomly distributed over the sphere. The generated uniform non-Gaussian additive noise is from the interval \((-0.4, 0.4)\) and after adding the noise we get our piecewise linear initial condition \(u^0\) for which \(u_i^0\in (0.6,1.4)\) on lands and \(u_i^0\in (-0.4,0.4)\) at oceans (see Fig. 6).

The system of linear equations (27) has to be solved in every filtering (time) step. To that goal, in all our numerical experiments, we use the SOR (successive-over-relaxation) method (Young 1971). In order to get convergence of SOR, we make the system matrix diagonally dominant choosing the time step \(\tau \) proportional to an average area of the co-volumes (Čunderlík et al. 2012)

$$\begin{aligned} \tau =\frac{1}{N}\sum _{i=1}^{N}m\left( V_{i}\right) . \end{aligned}$$
(31)

The choice of the time step is essential for the whole filtering process and implies how many filtering (time) steps (we call it also iterations) will be necessary to get reasonable results.

Fig. 6
figure 6

Initial condition \(u^0\)

Fig. 7
figure 7

Profiles across South America from the solution of filtering of the additive noise using the surface linear diffusion after 2, 5 and 10 time steps

Fig. 8
figure 8

The solution of filtering of the additive noise using the surface linear diffusion after a 2, b 5, and c 10 time steps

Our numerical results obtained after 2, 5 and 10 iterations of the linear diffusion filtering (\(\tau = 7 \cdot 10^{-5}\)) are depicted in Fig. 8. Figure 7 shows the corresponding profiles along the equator across South America.

From the result, it is evident that this approach reduces the additive noise but it has a uniform smoothing effect similarly to other linear filters. Together with denoising it smooths out the main structures represented by the edges of continents. This can produce serious inaccuracies in interpretation of processed data. A way how to avoid such inaccuracies is to use nonlinear filtering methods.

3 The nonlinear diffusion filters on a surface

To perform a nonuniform smoothing of data on surfaces we need to choose an appropriate diffusion coefficient in diffusion PDEs. The main idea is that the diffusion coefficient should not be a constant but a nonlinear function of differential characteristics of data.

3.1 The nonlinear diffusion depending on the surface gradient-regularized surface Perona–Malik model

In this approach, originally developed in Čunderlík et al. (2012), we use an analogy with the regularized Perona–Malik model (3) from the classical image processing and we suggest following PDE

$$\begin{aligned} \partial _{t}u=\nabla _{s}\cdot (g(|\nabla _{s}u^{\sigma }|)\nabla _{s}u) \end{aligned}$$
(32)

for filtering the data on surfaces. The nonlinear diffusivity function g depends on the term \(\nabla _{s}u^{\sigma }\), the surface gradient of solution u smoothed by the surface linear diffusion for a short time interval \(\sigma \), and represents an edge detector for surface data. We consider g in the form

$$\begin{aligned} g(|\nabla _{s}u^{\sigma }|)=\frac{1}{1+K|\nabla _{s}u^{\sigma }|^{2}},\quad \ K\ge 0, \end{aligned}$$
(33)

where constant K represents an edge sensitivity parameter. By this definition, g fulfils assumption (4) and returns values from the range

$$\begin{aligned} 0 < g(|\nabla _{s}u^{\sigma }|) \le 1. \end{aligned}$$
(34)

The parameter K determines how sensitive will be the edge detector to high values of a smoothed surface gradient of u and gives us a decision capability which gradients to preserve. Large gradients which represent edges in processed data yield a small value of edge detector and vice versa. If the values of edge detector are close to zero, the diffusion process is strongly slowed down, on the other hand, if the values are close to 1, the process is similar to the linear diffusion. This allows the adaptive smoothing according to surface gradients of the solution. The parameter \(\sigma \) affects the solution \(u^\sigma \) of the surface linear diffusion from which the surface gradient is computed. This presmoothing of surface gradients causes that only un-noisy edges will be preserved in nonlinear adaptive smoothing process. An appropriate choice of the parameters K and \(\sigma \) plays an important role in the filtering process and needs to be tuned experimentally.

To approximate the Eq. (32) we again apply the surface finite volume method and use the same notation as in Sect. 2. By integrating (32) over the finite volume \(V_i\) and by applying (12) to its right hand side, we obtain

$$\begin{aligned} \int _{V_{i}}\partial _{t}u\,dA=\int _{\partial V_{i}}g\left( |\nabla _{s}u^{\sigma }|\right) \nabla _{s}u\cdot \mathbf {\eta }_{i}da. \end{aligned}$$
(35)

After analogous steps as described in Sect. 2, we obtain the numerical scheme

$$\begin{aligned}&u_{i}^{j}-\frac{\tau }{m(V_{i})}\sum _{q=1}^{Q_{i}}\Bigg [m(e_{iq}^{1})\mathbf {\eta _{iq}^{1}}\cdot \mathbf {P}_{T_{iq}}^{j}g\left( \big |\mathbf {P}_{T_{iq}}^{\sigma ,\,j-1}\big |\right) \nonumber \\&\quad \times m(e_{iq}^{2})\mathbf {\eta _{iq}^{2,}}\cdot \mathbf {P}_{T_{iq}}^{j}g\left( \big |\mathbf {P}_{T_{iq}}^{\sigma ,\,j-1}\big |\right) \Bigg ] = u_{i}^{j-1}, \end{aligned}$$
(36)

\(i=1,\ldots N\), which represents a semi-implicit numerical scheme for solving the regularized Perona–Malik model on the closed surface \(\varOmega \). The diffusivity function g inside the scheme (36) depends on \(P_{T_{iq}}^{\sigma ,\,j-1}\) that represents numerical approximation of the surface gradient on triangle \(T_{iq}\) of the solution u at the previous time step \(j-1\) smoothed by one step \(\sigma \) of the surface linear diffusion. In such a way the nonlinearity in the Eq. (32) is treated by using the smoothed gradients from the previous time step, thus leading to system of linear equations. Comparing the semi-implicit scheme (36) with the implicit scheme (26) for the surface linear diffusion, the difference is that now the surface gradients \(P_{T_{iq}}^{j}\) are multiplied by the edge detector function g which allows the adaptive smoothing according to the smoothed surface gradients evaluated at the previous time step. Consequently, the edge detector is step by step evolving in time giving an opportunity to preserve main structures in the data and effectively reduce the noise. Our experience shows that the regularized surface Perona–Malik model (32) successfully reduces noise while preserves edges, but we have also observed that it slightly smooths out local extrema of filtered data (Čunderlík et al. 2012). It is due to the fact that the smoothed surface gradients are not high enough in areas of local extrema, but opposite, they are close to zero.

3.1.1 Behaviour of the regularized surface Perona–Malik model

To show behaviour and advantages of the nonlinear diffusion model (32) we use the same experiment as we used in Sect. 2.2. This experiment aims to demonstrate how diffusion filtering controlled by the edge detector can successfully remove an additive noise. We use the same space discretization of the unit sphere and the same initial condition, see Fig. 6. In case of the nonlinear surface diffusion, the linear system of equations is given by the semi-implicit scheme (36). To get this system, first we have to apply the linear diffusion filtering to the solution from the previous time step. Then we evaluate the corresponding surface gradients that indicate values of the edge detector. After that we are able to compute coefficients of the system matrix. This process is repeated in every filtering step. Therefore, the nonlinear surface diffusion filtering is more time consuming and usually requires more iterations than the linear one.

A significant part of data filtering is finding the optimal values for the edge detector function parameters K and \(\sigma \) and the time step \(\tau \) and number of iterative (filtering) time steps. Since in this experiment the true (un-noisy) solution is known, we are able to tune the parameters considering the residuals between the true and filtered solutions. In general, the parameters for the edge detector depend on gradients of processed data. In Fig. 9, the gradients of solution obtained after one step of surface linear diffusion are plotted, \(\sigma = \tau = 7\cdot 10^{-5}\) in Eq. (31).

Fig. 9
figure 9

Gradients of the data after the linear diffusion (\(\sigma = 7\cdot 10^{-5}\))

If we want to preserve the high gradients along the continents edges, we need to estimate the sensitivity parameter K in Eq. (33) according to them. We set the value of K with respect to the maximum value \(\nabla _{s}u^{\sigma }_{max}\) of all gradients of the processed data. We want the edge detector function to have a small value S in the nodes with the highest gradient. Then, considering \(|\nabla _{s}u^{\sigma }_{max}| >0\), we can set

$$\begin{aligned} K = \frac{1-S}{S|\nabla _{s}u^{\sigma }_{max}|^{2}}. \end{aligned}$$
(37)

For this experiment, we use \(S=10^{-5}\) and the estimated \(K=48.26\). The time step \(\tau = 7\cdot 10^{-5}\) is chosen according to Eq. (31).

Figure 11 depicts the solution of filtering after 250, 500 and 1000 iterations of the nonlinear diffusion. Figure 10 shows the corresponding profiles along the equator across South America. From the result it is evident that the signal corresponding to the additive noise is step by step vanishing while high gradients and their positions remain preserved. Here we remind that the edge detector always depends on surface gradients computed from the solution in the previous iterative step, thus it is adapted to the filtered solution evolving in time. Such an adaptive smoothing effect is a main advantage of the nonlinear filtering. Comparing results of the linear and nonlinear diffusion filtering, Figs. 8 and 11, it is evident that both approaches reduce the additive noise, however, the linear filtering also smooths out the main structures, i.e. the high gradients on edges of continents. On the contrary, the nonlinear diffusion model preserves them almost unaltered, see Fig. 10.

Fig. 10
figure 10

Profiles across South America from the solution of filtering of the additive noise using the nonlinear surface diffusion after 250, 500 and 1000 time steps

Fig. 11
figure 11

Solutions of filtering of the additive noise using the nonlinear surface diffusion after a 250, b 500 and c 1000 time steps

3.2 The nonlinear diffusion influenced by the surface Laplacian

As mentioned earlier, the regularized Perona–Malik nonlinear diffusion filtering can slightly smooth the local extrema when processing data. Such drawback can be overcome by a suitable modification of diffusivity function g. We extend the edge detector function of the Perona–Malik model by another argument which will slow down diffusion process in areas of local extrema, i.e. in regions with large values of surface Laplacian—the Laplace–Beltrami operator. The diffusion coefficient which represents the edge and local extrema detector is defined by

$$\begin{aligned} g(|\nabla _{s}u^{\sigma ^{1}}|,|\varDelta _{s}u^{\sigma ^{2}}|)=\frac{1}{1+K_{1}|\nabla _{s}u^{\sigma ^{1}}|^{2}+K_{2}|\varDelta _{s}u^{\sigma ^{2}}|^{2}},\quad K_{1},K_{2}\ge 0. \end{aligned}$$
(38)

The function g depends on the surface gradient of solution u smoothed by the linear diffusion equation for a short time interval \(\sigma ^1\) as well as on the Laplace–Beltrami operator applied to solution u smoothed by the linear diffusion equation for a short time interval \(\sigma ^2\). The parameter \(K_1\) has the same meaning as in the edge detector in the regularized Perona–Malik model and the parameter \(K_2\) affects sensitivity to high values of the surface Laplacian of the function u.

To approximate the Laplace–Beltrami operator on a co-volume we use similar steps as we have used in Sect. 2. We denote its approximate mean value on the co-volume \(V_i\) in time step j by \(C^j_i\) and using derivations yielding Eq. (25) we obtain

$$\begin{aligned} C_{i}^{j}=\frac{1}{m(V_{i})}\sum _{q=1}^{Q_{i}}\left[ m(e_{iq}^{1})\mathbf {\eta }_{iq}^{1}\cdot P_{T_{iq}}^{j}+m(e_{iq}^{2})\mathbf {\eta }_{iq}^{2,}\cdot P_{T_{iq}}^{j}\right] . \end{aligned}$$
(39)

Since we need a value of diffusion coefficient on the edges of co-volume, i.e. on the triangles meeting in the center of co-volume, we compute the average value of the Laplace–Beltrami operator on the triangle \(T_{iq}\) by

$$\begin{aligned} C_{T_{iq}}^{j}=\frac{1}{3}\left( C_{i}^{j}+C_{q_{1}}^{j}+C_{q_{2}}^{j}\right) , \end{aligned}$$
(40)

where \(C_{i}^{j}\), \(C_{q1}^{j}\) and \(C_{q2}^{j}\) represent the values in triangle vertices. Using the same approach as we have used in the Sect. 3.1, we obtain a semi-implicit numerical scheme for the nonlinear diffusion filtering method influenced by the surface Laplacian on the closed surface \(\varOmega \)

$$\begin{aligned}&u_{i}^{j}-\frac{\tau }{m(V_{i})}\sum _{q=1}^{Q_{i}}\Bigg [m(e_{iq}^{1})\mathbf {\eta _{iq}^{1}}\cdot \mathbf {P}_{T_{iq}}^{j}g\left( \big |\mathbf {P}_{T_{iq}}^{\sigma ^{1},\,j-1}\big |,\big |C_{T_{iq}}^{\sigma ^{2},\,j-1}\big |\right) \nonumber \\&\quad \times m(e_{iq}^{2})\mathbf {\eta _{iq}^{2,}}\cdot \mathbf {P}_{T_{iq}}^{j}g\left( \big |\mathbf {P}_{T_{iq}}^{\sigma ^{1},\,j-1}\big |,\big |C_{T_{iq}}^{\sigma ^{2},\,j-1}\big |\right) \Bigg ] = u_{i}^{j-1}, \end{aligned}$$
(41)

\(i=1,\ldots ,N\), where \(\mathbf {P}_{T_{iq}}^{\sigma ^{1},\,j-1}\) is an approximation of the smoothed gradient of the solution from the previous time step \(j-1\), and analogously, \(C_{T_{iq}}^{\sigma ^{2},\,j-1}\) is an approximation of the smoothed surface Laplacian of the solution from the previous time step \(j-1\).

3.2.1 Comparison of behaviour of linear and nonlinear diffusion filters

In this testing experiment, we study a different behavior of three different filtering methods introduced above, namely, the linear diffusion model, the nonlinear diffusion depending on the surface gradient and the nonlinear model influenced by the surface Laplacian. We use the same icosahedron grid as in Sect. 2.2 and create an artificial initial data \(u^0\) as a function with compact support defined by

$$\begin{aligned} u^0(\mathbf {x}) = v\cdot e^{\frac{-\sigma }{(r^{2}-|\mathbf {x}-\mathbf {s}|^{2})}+\frac{\sigma }{r^{2}}} \end{aligned}$$
(42)

if \(|\mathbf {x}-\mathbf {s}| < r\) and \(u(\mathbf {x}) = 0\) if \(|\mathbf {x}-\mathbf {s}| \ge r\), where \(\mathbf {s}=(s_{1}, s_{2},s_{3})\in \varOmega \) and \(\mathbf {x}=(x_{1}, x_{2},x_{3})\in \varOmega \). We set \(v=0.4,\sigma =5r^{2},r=0.2\) and \(\mathbf {s} = (0,-0.52573,0.85065)\). The function \(u^0\) is plotted in Fig. 12.

Fig. 12
figure 12

The initial artificial function \(u^0\)

Fig. 13
figure 13

Profiles of the solution of a the linear diffusion filtering, b the surface Perona–Malik diffusion filtering and c the nonlinear diffusion filtering influenced by the surface Laplacian. Subfigures b, c include also the plots of detector functions

Figure 13 depicts an intersection through chosen nodes of the initial data \(u^0\) and the results obtained after 50 and 100 time steps of each diffusion filter. In case of the nonlinear surface Perona–Malik model we use the edge sensitivity coefficient \(K=10\). In case of the surface Laplacian influence, we use the sensitivity coefficients \(K_{1}=10,\,K_{2}=0.01\) for the edge and local extrema detector. In the plots corresponding to the surface Perona–Malik model and model influenced by the surface Laplacian, the initial values of the edge and local extrema detector before the first time step are visualized. The scale for detector values on the right hand side of both plots is reversed.

The profiles of results of the linear diffusion filter confirms a uniform smoothing effect, see in Fig. 13a. In Fig. 13b, we can see that the surface Perona–Malik model preserves edges of initial data. The red line in Fig. 13b represents values of the edge detector in corresponding nodes. On the edges, the values of the detector are almost zero and for this reason the diffusion process is remarkably slowed down. The values of the edge detector grow towards a top of the data, and, as we can see by the results after 50 and 100 time step, the local extremum of the data is pulled down. Figure 13c shows the profile of results of the nonlinear diffusion influenced by the surface Laplacian. As we can see, the values of the edge and local extrema detector are zero almost over whole testing data which causes that the original data are barely changed over the time steps.

Fig. 14
figure 14

Original GOCE measurement—\(T_{rr}\) component

4 Numerical experiments

In this section, we present two numerical experiments where we use all developed types of diffusion filtering, namely the linear diffusion, nonlinear Perona–Malik diffusion and nonlinear diffusion influenced by the surface Laplacian. The first experiment aims to demonstrate filtering of noise from the GOCE data, while showing advantages and disadvantages of each filtering model. The second experiment presents filtering of a satellite-only mean dynamic topography (MDT), where we try to reduce a typical stripping noise due to omission errors of the spherical harmonic approach. In this case we use the modified nonlinear diffusion influenced by the surface Laplacian to pre-filter local extrema of initial data and then we use the linear diffusion and nonlinear Perona–Malik diffusion to obtain improved MDT model.

4.1 Filtering of the GOCE data

In this experiment, we use our developed filters to reduce the noise from measurements of the GOCE satellite mission (ESA 1999), namely from the radial components \(T_{rr}\) of the gravity disturbing tensor available from the EGG_TRF_2 product. Our processed dataset represent data observed during June–July 2013. Due to the fact that the altitudes of observations vary considerably reaching differences more than 10 km between “neighboring” points of observations (e.g. for distant observing time), we have reduced observed values from the observing altitudes into the reference altitude 245 km, for more details, see (Čunderlík 2015). It means that our computational domain represents a closed surface given by the constant altitude 245 km above a reference ellipsoid. For its discretization we use a very refined triangulation in order to capture a dense coverage of the processed GOCE data. Namely, an octahedral grid with the resolution of 0.05\(^\circ \) is constructed to generate 3D positions of 12,960,002 nodes of the regular triangulation. In these nodes the values of the radial components \(T_{rr}\) reduced to the reference altitude are interpolated. The missing values in polar gaps (\(0.54\,\%\) of all nodes) are generated from the GOCO03S satellite-only model up to 250\(^\circ \) (Mayer-Grr 2012). Such input data (see Fig. 14) are then subsequently filtered by the linear and nonlinear diffusion filtering method.

Fig. 15
figure 15

Differences between initial data and solution after a 1 and b 10 time steps

Fig. 16
figure 16

Evolution of the edge detector function after a 1 and b 30 time steps

Fig. 17
figure 17

Differences between a filtered data obtained by the linear diffusion and filtered data obtained by the nonlinear Perona–Malik diffusion, b initial data and filtered data obtained by the nonlinear Perona–Malik model after 30 time steps

At first we use the linear diffusion to filter data. We use the time step \(\tau \) according to Eq. (31). In this case \(\tau =4\cdot 10^{7}\). The time step \(\tau \) is so high because areas of co-volumes are quantify in meters. The linear diffusion successfully has removed most of the noise, however, looking closely on the character of differences between the initial and filtered data after 1 and 10 time steps, we can see that the linear diffusion smooths out main structures of processed data. This drawback can be seen already since the first time step. A detail of differences over South America is depicted in Fig. 15.

To obtain a better solution we have used the regularized surface Perona–Malik model (see Sect. 3.1). At the beginning we need to set initial values of model parameters. The optimal parameter of the edge detector were tuned experimentally. The time interval for pre-smoothing by the linear diffusion was chosen as \(\sigma =2\tau \), so we use two steps of the linear diffusion with \(\tau =4\cdot 10^{7}\). The reason for such an appropriate selection of the linear diffusion time interval is that we need to smooth the most of noise before we quantify the surface gradients. Before pre-filtering by the linear diffusion, high values of the surface gradients are almost everywhere. After applying the linear diffusion, the noise is removed (according to the previous part of the experiment) and values of the gradient preserves better structures of the Earth’s gravity field. Tuning of the sensitivity coefficient K for the edge detector function, see Eq. (33), was based on values of the surface gradient from the solution \(u^\sigma \). Experimentally (considering different sensitivity parameters) we estimate \(K=10^{12}\). The evolution of the edge detector function during filering is depicted in Fig. 16.

To demonstrate advantages of the nonlinear Perona–Malik model, Fig. 17 shows differences between initial data and filtered data obtained after 30 time steps of the nonlinear Perona–Malik diffusion and differences between filtered data obtained by the linear diffusion after 10 time steps and filtered data obtained after 30 time steps by the nonlinear Perona–Malik diffusion. We can see how the linear diffusion smooths also main structures, especially in areas where the gravity field is changing sharply, while the nonlinear diffusion preserves them and effectively reduce the noise (Fig. 17a). The only problem is in areas of the local extrema of processed data. In Fig. 17b, we can see that maxima of differences are along the main range of Andes and along its western and eastern edges. This area represents local extrema of initial data. Such a behaviour can be seen also in other regions indicating that the Perona–Malik model slightly smooths also local extrema, which represent important structures in the filtered data.

Fig. 18
figure 18

The surface Laplacian of data a before the linear diffusion and b after pre-filtering by 20 time steps of the linear diffusion (values on the scale are \(10^{-9}\))

Fig. 19
figure 19

Solution of the nonlinear diffusion influenced by the surface Laplacian after 30 time steps

Fig. 20
figure 20

Differences between a filtered data obtained by the nonlinear diffusion influenced by the surface Laplacian and filtered data obtained by the nonlinear Perona–Malik diffusion, b initial data and filtered data obtained by the nonlinear diffusion influenced by the surface Laplacian model after 30 time steps

To void such smoothing we use the nonlinear diffusion influenced by the surface Laplacian. As input parameters \(\sigma ^1\) and \(K_1\) for the edge and local extrema detector function (see Eq. 38) we use the same parameters as we use in the previous part. The tuning of the time interval \(\sigma ^2\) for pre-filtering by the linear diffusion is in this case very important. Figure 18 depicts surface Laplacians before the linear diffusion and after 20 \(\tau \) time steps of the linear diffusion (values on the scale are \(10^{-9}\)). We can see that before pre-filtering the surface Laplacian of processed data is high everywhere, even in noisy areas. After the significant pre-filtering by the linear diffusion, the surface Laplacian reflect structures of the gravity field. To obtain an appropriate solution we need to be sure that most of the noise is smoothed and then we can compute the surface Laplacian. From the initial surface Laplacian we estimate the sensitivity coefficient \(K_2 = 10^{22}\).

Figure 19 presents final filtered data after 30 time steps using the nonlinear diffusion influenced by the surface Laplacian.

A remarkable advantage of the nonlinear approach can be seen in the Fig. 20. It shows differences between the filtered data obtained by the nonlinear Perona–Malik diffusion and those obtained by the nonlinear diffusion influenced by the surface Laplacian. Both solutions are obtained after 30 time steps.

Figure 20a depicts differences between the initial and filtered data obtained by the nonlinear diffusion influenced by the surface Laplacian. Comparing them the differences depicted in Figs. 15 and 17b, we can see that new differences (Fig. 20a) resembles white noise more closely, so we can assume that the nonlinear diffusion filtering influenced by the surface Laplacian preserves all the important structures including local extrema of the initial GOCE data.

4.2 Filtering of the satellite-only MDT

In this experiment, we present filtering of the GOCE-based satellite-only MDT. The satellite-only MDT as our initial data are given as a combination of the DTU13 mean sea surface model (Andersen et al. 2013) and the geoid model evaluated from the GO_CONS_GCF_2_DIR_R5 up to 300\(^\circ \) (Bruinsma et al. 2003). Such a MDT model is significantly affected by the stripping noise due to omission errors of the spherical harmonics approach used for the geoid modelling (Fig. 21). Our aim is to reduce this stripping noise while to preserve important gradients that correspond to the main ocean geostrophic surface currents. In this experiment we use the same octahedral grid with the resolution of 0.05\(^\circ \), but in this case generated 3D positions of 12,960,002 nodes of the regular triangulation are on the surface of the reference ellipsoid.

Fig. 21
figure 21

Intitial satellite-only MDT model

Fig. 22
figure 22

Values of the detector function for the nonlinear diffusion influenced by the surface Laplacian: a for inital values, and b for values after 10 time steps

Fig. 23
figure 23

Differences between initial data and pre-filtered data by the modification of the nonlinear diffusion equation influenced by the surface Laplacian obtained after 50 time steps

Fig. 24
figure 24

Pre-filtered satellite-only MDT model

Fig. 25
figure 25

Differences between initial data and a filtered data obtained by the linear diffusion, b filtered data obtained by the nonlinear Peron–Malik diffusion

Fig. 26
figure 26

Filtered MDT data obtained by the nonlinear Perona–Malik diffusion after a 10, b 50 and c 100 time steps

Fig. 27
figure 27

Derived ocean geostrophic surface currents (zonal velocity components) obtained from data filtrated by the nonlinear Perona–Malik filering after a 10, b 50 and c 100 time steps

Fig. 28
figure 28

Derived ocean geostrophic surface currents (sea water speed) obtained from data filtered by the nonlinear Perona–Malik model after a 10, b 50 and c 100 time steps

Fig. 29
figure 29

Sea water speed from filtered data obtained by the linear diffusion and filtered data obtained by the nonlinear diffusion in regions of a, b Kuroshio, c, d Gulf Stream, e, f Aghulas

Fig. 30
figure 30

Sea water speed from DTU13MDT_5MIN and from filtered data obtained by the nonlinear diffusion in regions of a, b Kuroshio, c, d Gulf Stream, e, f Aghulas

Taking into account the nature of noise, at first we have reduced the highest peaks of this noise. To achieve this we have used a modification of the nonlinear diffusion influenced by the surface Laplacian (see Sect. 3.2). This modification is based on the detector function in the form

$$\begin{aligned} g(|\varDelta _{s}u^{\sigma ^{2}}|)=\frac{1}{1+ \frac{1}{K_{2}|\varDelta _{s}u^{\sigma ^{2}}|^{2}}},\,K_{2}\ge 0. \end{aligned}$$
(43)

The detector function in this form speed up diffusion process in nodes with the highest surface Laplacian. Those nodes represent highest values of striping noise (Fig. 21). Pre-filtering by the nonlinear diffusion reduces local extrema of noise but at the same time preserves original structures from initial data. In the pre-filtering process, we use the model parameters \(\sigma ^2=\tau =4\cdot 10^{7}\) and \(K_{2} = 10^{19}\). Figure 22 shows evolution of values of the detector function after 1 and 10 time steps. Figure 23 depicts differences between the initial and pre-filter data in detailed area after 50 time steps. If we look closely on Figs. 22 and 23 we can see that detector function successfully detects high values of the surface Laplacian an reduce only those values.

Figure 24 depicts the pre-filtered data after 50 time steps. This data have been used for a final filering. To remove the remaining noise we have used the linear diffusion (see Sect. 2) and the nonlinear Perona–Malik diffusion (see Sect. 3.1). In case of the linear diffusion we use similar time step \(\tau =4\cdot 10^{7}\) as we have used in pre-filtering. This time step is also used for the nonlinear Perona–Malik diffusion. The estimated sensitivity coefficient \(K_{1}=10^{10}\) for the edge detector function (Eq. 33) is in relation to the surface gradients of processed data.

To compare the linear diffusion and the nonlinear diffusion, differences between the initial and filtered data after 100 time steps in the area of the Kuroshio current are depicted in Fig. 25. We can see how the detector function of the nonlinear diffusion preserve the signal from original data, while the linear diffusion distorted it.

Figure 26 depicts filtered data after 10, 50 and 100 time steps. In these iterative steps we also have derived the ocean geostrophic surface currents, using GUT, namely their zonal velocity components (Fig. 27) as well as their sea water speed (Fig. 28).

Figure 29 shows filtered data obtained by the nonlinear diffusion together with those obtained by the linear diffusion. Figure 30 similarly, with DTU13MDT_5MIN model. Both Figures depict sea water speed in details in regions of the main currents like the Gulf Stream, Kuroshio or Aghulas current. We can see that currents generated from data filtered by the linear diffusion represent weaker signal, on the contrary those generated from the nonlinear diffusion capture signal better. Stronger signal indicate that the nonlinear diffusion preserve gradient from the initial data.

Consequently, the nonlinear diffusion filtering on a closed surface using the regularized surface Perona–Malik model, prefiltered by nonlinear diffusion influenced by the surface Laplacian, seems to be an efficient tool for filtering the satellite-only MDT. The pre-filering by the modification of the nonlinear diffusion influenced by the surface Laplacian have reduced the highest values of the noise. Then the opportunity for adaptive smoothing according to the main gradients in the filtered data allows us to reduce the stripping noise efficiently while preserving important gradients that correspond to the main ocean geostrophic surface currents. Derived velocities of the ocean geostrophic surface currents have clearly shown that preserving the important gradients by the nonlinear filtering have resulted in much stronger signal than in case of the linear filtering whose uniform smoothing effect also smoothes these structures.