Introduction

Euler deconvolution is a semi-automatic method for locating geological sources of potential data and can be considered fully automatic when the N (also entitled as structural index) is not used as an input term (Smellie 1956; Hood 1965; Thompson 1982; Reid et al. 1990; Gerovska and Marcos J. 2003). As it can effectively delimit geological bodies with a little prior information, it has high applicability and flexibility, especially for large potential fields. In practice, low signal-to-noise ratios (natural or caused by the Fourier transform (FFT) (Farrelly 1997)), violations of Euler’s homogeneity condition (such as improper data gridding), and superposition of sources all result in many spurious solutions and the whole Euler result forms a sparsely scattered distribution (Ugalde and Morris 2010). Since Euler deconvolution was conceived, its potential and limitations have been extensively discussed. Euler deconvolution fails at both estimating the structural index and rejecting the spurious solution (Barbosa et al. 1999).

To remove spurious solutions, on the one hand, some scholars have proposed post-processing techniques. For instance, Gerovska and Marcos J. (2003) filtered spurious solutions using the standard deviations of Euler’s overdetermined equations. Most solutions, however, were derived from Euler’s overdetermined equations with large condition numbers, which led to few reliable solutions. Truncation error estimation was employed to improve the ability of Euler solutions to detect anomalies in magnetic sources by rejecting spurious solutions (Beiki 2013; Reid and Thurston 2014). Additionally, measures, such as a horizontal gradient filter, a distance constraint evaluation criterion (Reid and Thurston 2014), and an aggregation constraint evaluation criterion (Yao et al. 2004; Wang 2006), were proposed to filter unreliable solutions.

On the other hand, due to the derivatives of magnetic and gravitational potential field data being in the Euler sense, extensions of Euler deconvolution are based on additional constraint equations or conditions, such as 2-D extended Euler deconvolution (Mushayandebvu et al. 2001) or 2-D “Worming” Euler deconvolution (FitzGerald and Milligan 2013), rely on the use of simplified models (Cooper 2006); the combined Euler solutions with analytic signal peaks resulting in only a few solutions can be employed to estimate geological sources (Salem and Ravat 2003); or in conjunction with tilt filters to yield more contiguous solutions (Castro et al. 2019). However, it is still possible for spurious ones to interfere with the interpretation of Euler solutions, even if additional restrictive measures are used (Barbosa et al. 1999; Reid et al. 1990; FitzGerald et al. 2004; Melo et al. 2013).

By assuming a tentative N, traditional Euler deconvolution solves a system of equations in a sliding window scheme and yields Euler solutions for geological bodies. The best N is the one that generates the tightest cluster of Euler solutions in the vicinity of the real sources (Reid et al. 1990; FitzGerald et al. 2004). Therefore, clustering analysis was introduced into the post-processing of Euler solutions based on their aggregation characteristics to mark the spatial information of geological bodies. For example, based on Stavrev (1997) and Stavrev et al. (2009), two kinds of statistical analyses were conducted, one through clustering and the other not, and succeeded in a significant way because there was no artificial selection of structural indexes (Gerovska and Marcos J. 2003). Similarly, to avoid divergence of Euler solutions due to predicted structural indices (SIs), Ugalde and Morris (2010) used a fuzzy clustering method (FCM) to deal with Euler solutions. However, FCM requires the number of clusters to be predetermined, which can easily result in local optima (Lu and Yan 2015). Cao et al. (2012) introduced an adaptive fuzzy clustering algorithm to cluster Euler solutions produced by tensor Euler deconvolution to determine multiple anomaly sources. Since N is a function of the moving window’s size and the distance of observation-to-source (Ravat 1996), using a single N makes it challenging to characterize the multiple geological sources (Keating and Pilkington 2004; Williams et al. 2005). Many scholars tried using a series of tentative N to find the best cluster by manual evaluation, which significantly increased the workload of users or interpreters, especially for complex geological structures with multiple abnormal sources (Barbosa et al. 1999; Gerovska and Marcos J. 2003; Melo and Barbosa 2020).

The skewness and kurtosis of Euler solutions are used to reject spurious solutions using a histogram (FitzGerald et al. 2004), which, however, is difficult to divide the multidimensional space into non-coherent bins (Lee et al. 1999; Husson et al. 2018). Therefore, the histogram is unsuitable for determining multiple anomalous sources. Many similar or duplicate solutions are produced by Euler deconvolution, which may tightly cluster in the vicinity of real sources (FitzGerald et al. 2004). Inspired by clustering methods to discriminate different clusters by the similarity between samples, we propose a novel perspective on post-processing Euler solutions based on probability values calculated by nonparametric probability density estimation methods for detecting multiple geological targets. Like a continuous histogram with density, probability density distributions are employed in many geophysical inversions. Such as electromagnetic inversion (Trainor-Guitton and Hoversten 2011), gravity inversion (Boschetti et al. 2001), Rayleigh wave inversion (Dal Moro et al. 2007), and joint inversion of gravity and magnetic data (Bosch and McGaughey 2001; Bosch et al. 2006; Yunus Levent et al. 2019; Fregoso et al. 2020).

Probability density estimation of random variables includes parametric and nonparametric ones, with the former usually applied to probability density function estimation, whose distribution pattern of random variables is already known (Izenman 1991). When random variables cannot be fitted with some specific probability distribution, the nonparametric type of probability density function estimation can be adopted (Liu et al. 2013). The two common choices are Gaussian kernel smoothing density estimation (KS) and B-spline series density estimation (BSS) (López-Cruz et al. 2014; He et al. 2021). A generalization of the histogram density estimate, the nonparametric BSS is connected to the orthogonal series estimate (Schwartz 1967). BSS is a popular fitting method based on approximation theory to build curves that are the linear combination of B-spline basis functions connected through node vectors. The c+1 order B-spline basis functions can all be obtained recursively from the lower-order basis functions (Eilers and Marx 1996). Unlike the KS method, BSS can transform nonparametric estimation into a parametric one through model transformation. That is, by fixing the number of B-spline basis functions, the estimate of the probability density function of a random variable can be converted into the parameter estimate of the weight vector corresponding to the B-spline basis function (Gehringer and Redner 1992).

Gradient tensor measures are more sensitive to changes in density gradients than traditional gravity measurements, which rely on absolute density changes (Vasilevsky et al. 2003). Tensor Euler deconvolution produces better clustering and faster convergence than Euler deconvolution (Zhang et al. 2000; Fedi et al. 2009; Zhou et al. 2017). Therefore, we proposed a novel probability density imaging, based on Euler solutions’ similarity and aggregation, using BSS to calculate the probability density. It allows differentiating between clusters of Euler solutions for isolating anomaly sources. Through algorithm verification and model tests, BSS is proven to be reliable. Finally, we applied the 3-D BSS to the field data of Mount Milligan, the QUEST project in Canada, with the contour of probability density used to differentiate clusters of Euler solutions for localizing adjacent anomaly sources.

Theory

According to traditional Euler deconvolution, the 3-D Euler equation is (Thompson 1982; Reid et al. 1990):

$$\begin{aligned}{} & {} \left( {x - {x_o}} \right) \frac{{\partial T}}{{\partial x}} + \left( {y - {y_o}} \right) \frac{{\partial T}}{{\partial y}} \nonumber \\{} & {} + \left( {z - {z_o}} \right) \frac{{\partial T}}{{\partial z}} = - NT. \end{aligned}$$
(1)

Where \(T=T(x,y,z)\) is the potential field function, \(({x_o},{y_o},{z_o})\) and (xyz) are the coordinates to the observation point and the target anomaly source. The N depends on the nature (type) of the casual source (Thompson 1982; Stavrev and Reid 2007; Uieda et al. 2014; Reid et al. 2014). Generally, a specific geological body has its corresponding attenuation rate or N. The first and second derivatives of the magnetic and gravitational fields, as well as the continuing anomalies of these fields, can all be studied using the Euler equation.

To avoid the influence of regional background fields, a parameter B is usually introduced to represent the anomalies of regional background fields. Then, Eq. 1 can be rewritten as follows (Nabighian and Hansen 2001):

$$\begin{aligned}{} & {} {x_0}\frac{{\partial T}}{{\partial x}} + {y_0}\frac{{\partial T}}{{\partial y}} + {z_0}\frac{{\partial T}}{{\partial z}} = x\frac{{\partial T}}{{\partial x}} \nonumber \\{} & {} + y\frac{{\partial T}}{{\partial y}} + z\frac{{\partial T}}{{\partial z}} + N(B - T) + \varepsilon, \end{aligned}$$
(2)

where the distortion rate \(\varepsilon\) exists only when \(N=0\) (Nabighian and Hansen 2001).

The tensor Euler deconvolution consists of Eq. 5 of conventional Euler deconvolution and two similar Equations (Zhang et al. 2000; Phillips et al. 2007):

$$\begin{aligned}{} & {} {x_o}\frac{{\partial {g_x}}}{{\partial x}} + {y_o}\frac{{\partial {g_x}}}{{\partial y}} + {z_o}\frac{{\partial {g_x}}}{{\partial z}} + N\left( {{B_x} - {g_x}} \right) \nonumber \\{} & {} = x\frac{{\partial {g_x}}}{{\partial x}} + y\frac{{\partial {g_x}}}{{\partial y}} + z\frac{{\partial {g_x}}}{{\partial z}}, \end{aligned}$$
(3)
$$\begin{aligned}{} & {} {x_o}\frac{{\partial {g_y}}}{{\partial x}} + {y_o}\frac{{\partial {g_y}}}{{\partial y}} + {z_o}\frac{{\partial {g_y}}}{{\partial z}} + N\left( {{B_y} - {g_y}} \right) \nonumber \\{} & {} = x\frac{{\partial {g_y}}}{{\partial x}} + y\frac{{\partial {g_y}}}{{\partial y}} + z\frac{{\partial {g_y}}}{{\partial z}}, \end{aligned}$$
(4)
$$\begin{aligned}{} & {} {x_o}\frac{{\partial {g_z}}}{{\partial x}} + {y_o}\frac{{\partial {g_z}}}{{\partial y}} + {z_o}\frac{{\partial {g_z}}}{{\partial z}} + N\left( {{B_z} - {g_z}} \right) \nonumber \\{} & {} = x\frac{{\partial {g_z}}}{{\partial x}} + y\frac{{\partial {g_z}}}{{\partial y}} + z\frac{{\partial {g_z}}}{{\partial z}}, \end{aligned}$$
(5)

where \(\alpha ,\beta = x,y,z\) and \({g_\alpha }\) is the gravity vector, the gravity gradient tensor component \({{\partial {g_\alpha }}/{\partial \beta }}\) is the partial derivative of \({g_\alpha }\) with respect to \(\beta\), and \({B_\alpha }\) are anomaly background fields.

Generally, a square sliding window of size \({w_x}={w_y}=w\) traverses the potential field data, and each sliding window with Eqs. (3-5) can form an equation system:

$$\begin{aligned} \varvec{Am}=\varvec{b}, \end{aligned}$$
(6)

where for \(\alpha = x,y,z\), \({\varvec{A}} = {[{\varvec{A}^1},...,{\varvec{A}^i},...,{\varvec{A}^{{n_w}}}]^\mathrm{{T}}}\), \({n_w} = {w_x} \times {w_y}\), \({{\varvec{A}}^i} = \left[ \right.\) \(\left. {{{\left( {{{\partial {g_\alpha }} / {\partial x}}} \right) }^i},{{\left( {{{\partial {g_\alpha }} / {\partial y}}} \right) }^i},{{\left( {{{\partial {g_\alpha }}/{\partial z}}} \right) }^i},{{\left( {{g_\alpha } - {B_\alpha }} \right) }^i}} \right]\), \({\varvec{b}} = {\left[ {{{\varvec{b}}^1},...,{{\varvec{b}}^i},...,{{\varvec{b}}^{{n_w}}}} \right] ^\mathrm{{T}}}\), \({{\varvec{b}}^i} = {\left( {x{{\partial {g_\alpha }} / {\partial x}}} \right) ^i} + {\left( {y{{\partial {g_\alpha }}/ {\partial y}}} \right) ^i} + {\left( {z{{\partial {g_\alpha }}/ {\partial z}}} \right) ^i}\), \(\left\{ {{\varvec{m}}} \right\}\) is the Euler solution set, in which the \(i^{th}\) solution can be expressed as \({{\varvec{m}}^{i}} = {[{x^i_o},{y^i_o},{z^i_o},{N^i_o}]^\mathrm{{T}}}\).

There is difficulty in ascertaining the credibility and densities of Euler solutions and distinguishing misplaced solutions (‘tails’) among different anomalies in the post-processing strategy (Gerovska and Marcos J. 2003; Mikhailov et al. 2003; FitzGerald et al. 2004; Goussev and Peirce 2010; Melo and Barbosa 2020). Consequently, BSS is applied to calculate the data combinations resulting from Euler solution sets, such as \(\{x_o\}\), \(\{x_o, y_o\}\), \(\{x_o, y_o, z_o\}\), or \(\{x_o, y_o, z_o, N\}\). Due to the linear combination of B-spline basis functions connected through node vectors, the \(c+1\) order B-spline basis functions can all be obtained recursively from the lower-order basis functions (Eilers and Marx 1996). Take the uniform B-spline estimator in \(\mathbb {R}^1\) as an example, let \({\left\{ {\bar{x}}_k \right\} }_{-\infty }^\infty\) be a uniform partition of the real numbers, with interval spacing \({\bar{h}} = {\bar{x}}_{k+1} - {\bar{x}}_k\) for each k and the B-Spline basis functions can be defined as:

$$\begin{aligned} {B}_{{k}}^c \left( {{\bar{x}}} \right) ={B}^c \left( \frac{{{\bar{x}}- {\bar{x}}_k}}{{\bar{h}}} \right), \end{aligned}$$
(7)

where \({B}^c\) is a normalized \(c^{th}\) order uniform B-spline.

Theorem 1

The uniform B-Splines, \(\left\{ {B}_{{k}}^c \left( {{\bar{x}}} \right) \right\}\), form a partition of unity (Schumaker 2007), i.e.,

$$\begin{aligned} \sum \limits _{{k} = - \infty }^\infty {{B}_{k}^c \left( {{\bar{x}}} \right) } = \sum \limits _{{k} = j-c+1 }^j {{B}_{k}^c \left( {\bar{x}} \right) } = 1, \end{aligned}$$
(8)

for all \({{\bar{x}}} \in \left[ \bar{x}_j,\bar{x}_{j+1}\right]\).

Suppose that \({{\varvec{X}}^1}\), ..., \({{\varvec{X}}^i}\),..., \({{\varvec{X}}^n}\) be an independent and identically distributed random d- dimensional sample derived from function f, so the \(i^{th}\) sample is expressed as:

$$\begin{aligned} {{\varvec{X}}^i}=[{\varvec{X}}_1^i,...,{\varvec{X}}_j^i,...,{\varvec{X}}_d^i], \end{aligned}$$
(9)

where especially in this paper, \({\varvec{X}}^i\) corresponds to various Euler solutions subsets, such as \({{{x}}^i_o}\), \([{x^i_o},{y^i_o}]\), \([{x^i_o},{y^i_o},{z^i_o}]\), and \([{x^i_o},{y^i_o},{z^i_o},{N^i}]\). Correspondingly, the j- dimensional data is denoted by \({{\varvec{X}}_j}\)=[ \({\varvec{X}}_j^1\),...,\({\varvec{X}}_j^i\),...,\({\varvec{X}}_j^n\) ].

We further suppose the sample \({{\varvec{X}}^i}\) is projected onto the estimation grid \({\varvec{\chi }}\) with size a \({\varvec{M}}=\left[ {\varvec{M}}_1,...,{\varvec{M}}_j,...,{\varvec{M}}_d\right]\) and the bandwidth \({\varvec{h}} = {[{{\varvec{h}}_1},...,{{\varvec{h}}_j},...,{{\varvec{h}}_d}]}\).

Then, following the Gehringer and Redner (1992), define an d- dimensional probability density estimate \({\hat{f}}(\varvec{x})\) on an estimate point \({{\varvec{{\bar{x}}}}}=[{\varvec{{\bar{x}}}}_1,...,{\varvec{\bar{x}}}_j,...,{\varvec{{\bar{x}}}}_d]\) of the estimation grid \(\varvec{\chi }\) as follow:

$$\begin{aligned} {{\hat{f}}}({\varvec{{\bar{x}}}}) = \sum \limits _{{{\varvec{k}}_1} = - \infty }^\infty {...\sum \limits _{{{\varvec{k}}_j} = - \infty }^\infty {...} } \sum \limits _{{{\varvec{k}}_d} = - \infty }^\infty {\frac{{{{\varvec{a}}_{{{\varvec{k}}_1}...{{\varvec{k}}_j}...{{\varvec{k}}_d}}}}}{{{{\varvec{b}}_{{{\varvec{k}}_1}...{{\varvec{k}}_j}...{{\varvec{k}}_d}}}}}} B_{{{\varvec{k}}_1}}^c\left( {{{\varvec{{\bar{x}}}}_1}} \right) ...B_{{{\varvec{k}}_j}}^c\left( {{{\varvec{{\bar{x}}}}_j}} \right) ...B_{{{\varvec{k}}_d}}^c\left( {{{\varvec{{\bar{x}}}}_d}} \right), \end{aligned}$$
(10)

where the subscript \({{\varvec{k}}_j}\) specifies a position along the j- dimensional of the estimation grid \(\varvec{\chi }\).

Based on the normalized \(c^{th}\) order uniform B-spline \({B}^c\) and the \(j^{th}\) dimensional bandwidth \({\varvec{h}_j}\), the B-Spline basis functions \({B}_{\varvec{k}_j}^c \left( \varvec{{\bar{x}}}_j \right)\) can be redefined as:

$$\begin{aligned} {B}_{\varvec{k}_j}^c \left( \varvec{{\bar{x}}}_j \right) \equiv {B}_{\varvec{k}_j}^c \left( \varvec{X}_j^i \right) ={B}^c \left( \frac{{{\varvec{X}}_j^i}}{{{{\varvec{h}}_j}}} - \left\lfloor {\frac{{{\varvec{X}}_j^i}}{{{{\varvec{h}}_j}}}} \right\rfloor \right), \end{aligned}$$
(11)

and following Gehringer and Redner (1992), the coefficients \({{{{\varvec{a}}_{{{\varvec{k}}_1}...{{\varvec{k}}_j}...{{\varvec{k}}_d}}}}}\) and \({{\varvec{b}}_{{{\varvec{k}}_1}...{{\varvec{k}}_j}...{{\varvec{k}}_d}}}\) can be expressed as:

$$\begin{aligned}{} & {} {{{{\varvec{a}}_{{{\varvec{k}}_1}...{{\varvec{k}}_j}...{{\varvec{k}}_d}}}}} = \frac{1}{n}\sum \limits _{i = 1}^n {B_{{{\varvec{k}}_1}}^c\left( {{\varvec{X}_1^i}} \right) ...B_{{{\varvec{k}}_j}}^c\left( {{\varvec{X}_j^i}} \right) ...B_{{{\varvec{k}}_d}}^c\left( {{\varvec{X}_d^i}} \right) } \end{aligned}$$
(12)
$$\begin{aligned}{} & {} {{\varvec{b}}_{{{\varvec{k}}_1}...{{\varvec{k}}_j}...{{\varvec{k}}_d}}}\nonumber \\{} & {} = \int _{ - \infty }^\infty {\int _{ - \infty }^\infty { \cdots \int _{ - \infty }^\infty {B_{{{\varvec{k}}_1}}^c\left( {{\varvec{{\bar{x}}}_1}} \right) ...B_{{{\varvec{k}}_j}}^c\left( {{\varvec{{\bar{x}}}}_j} \right) ...B_{{{\varvec{k}}_d}}^c\left( {{\varvec{{\bar{x}}}}_d} \right) d{{\varvec{{\bar{x}}}}_1},...,d{{\varvec{{\bar{x}}}}_j},...,d{{\varvec{{\bar{x}}}}_d}} } } \nonumber \\{} & {} = \left( {\int _{ - \infty }^\infty {B_{{{\varvec{k}}_1}}^c\left( {{\varvec{{\bar{x}}}}_1} \right) d{{\varvec{{\bar{x}}}}_1}} } \right) ...\left( {\int _{ - \infty }^\infty {B_{{{\varvec{k}}_j}}^c\left( {{{\varvec{{\bar{x}}}}_j}} \right) d{{\varvec{{\bar{x}}}}_j}} } \right) ...\left( {\int _{ - \infty }^\infty {B_{{{\varvec{k}}_d}}^c\left( {{{\varvec{{\bar{x}}}}_d}} \right) d{{\varvec{{\bar{x}}}}_d}} } \right) \nonumber \\{} & {} = {{\varvec{h}}_1}...{{\varvec{h}}_j}...{{\varvec{h}}_d}, \end{aligned}$$
(13)

where the \(j^{th}\) bandwidth \(\varvec{h}_j\) can be expressed as follows:

$$\begin{aligned} {{\varvec{h}}_j} = \frac{{{\varvec{p}}_j^{\max } - {\varvec{p}}_j^{\min }}}{{{{\varvec{M }}_j} - 1}}, \end{aligned}$$
(14)

where \({\varvec{p}}_{{j}}^{\max }\) and \({\varvec{p}}_{{j}}^{\min }\) are, respectively, the upper and lower bound of the \(j^{th}\) dimensional estimation grid \(\varvec{\chi }_j\), which can be expressed as \({\varvec{p}}_j^{\max } = {\varvec{X}}_j^{\max } + 0.25({\varvec{X}}_j^{\max } - {\varvec{X}}_j^{\min })\), and \({\varvec{p}}_j^{\min } = {\varvec{X}}_j^{\min } - 0.25({\varvec{X}}_j^{\max } - {\varvec{X}}_j^{\min })\), respectively. In the two expressions, \(\varvec{X}_{{j}}^{\max }\) and \(\varvec{X}_{{j}}^{\min }\), respectively, denote the marginal maximum and minimum value of the \(\varvec{X}_{{j}}^{}\) (Hüsler and Reiss 1989; Beranger et al. 2023). Generally, the first grid point is expressed as \(\varvec{\chi }_j^1 = \varvec{p}_j^{\min }\), and the last one is described as \({\varvec{M} _j}\). Then, can be rewritten as:

$$\begin{aligned} {\varvec{M} _j} = (1 + \left\lfloor {{\gamma _j}{{{n}}^{1/3}}} \right\rfloor )(1 + \left\lfloor {{\delta _j}/2} \right\rfloor ) + 1, \end{aligned}$$
(15)

where \({\delta _j}\) denotes the standard deviation of \({\varvec{X}_j}\), \({\gamma _j}\) denotes the empirical coefficient related to dimension d and physical memory, and ⌊ ⌋ denotes the rounding operator. For practical applications, low-order B-sample basis functions are generally used, so here, c=3, Eq. 10 can be rewritten as:

$$\begin{aligned} {\hat{f}}(x) = \sum \limits _{{{\varvec{k}}_1} = \mathrm{{ - }}3}^{{c}\mathrm{{ - 1}}} {...\sum \limits _{{{\varvec{k}}_j} = \mathrm{{ - }}3}^{{c}\mathrm{{ - }}1} {...} } \sum \limits _{{{\varvec{k}}_d} = \mathrm{{ - }}3}^{{c}\mathrm{{ - }}1} {\frac{{{{\varvec{a}}_{{{\varvec{k}}_1}...{{\varvec{k}}_j}...{{\varvec{k}}_d}}}}}{{{{\varvec{h}}_1}...{{\varvec{h}}_j}...{{\varvec{h}}_d}}}} B_{{{\varvec{k}}_1}}^3\left( {{\varvec{{\bar{x}}}_1}} \right) ...B_{{{\varvec{k}}_j}}^3\left( {{\varvec{{\bar{x}}}_j}} \right) ...B_{{{\varvec{k}}_d}}^3\left( {{\varvec{{\bar{x}}}_d}} \right), \end{aligned}$$
(16)

where \(B_{{{\varvec{k}}_j}}^3(\varvec{{\bar{x}}}_j)\) is the normalized cubic uniform B-spline basis function. When c=1, 2, and 3, the \(B^{c} {\left( {\bar{x}} \right) }\) in Eq. 11 can be expressed as:

$$\begin{aligned} {B^1}({\bar{x}})= & {} \left\{ {\begin{array}{*{20}{l}} {{\bar{x}},}&{}{\,0 \le {\bar{x}} < 1}\\ {(2 - {\bar{x}}),}&{}{\,1 \le {\bar{x}} \le 2}, \end{array}} \right. \end{aligned}$$
(17)
$$\begin{aligned} {B^2}({\bar{x}})= & {} \left\{ {\begin{array}{*{20}{l}} {{{\bar{x}}^2}/2,}&{}{\,0 \le {\bar{x}}< 1}\\ {\left( { - 2{{\bar{x}}^2} + 6{\bar{x}} - 3} \right) /2,}&{}{\,1 \le {\bar{x}} < 2}\\ {{{(3 - {\bar{x}})}^2}/2,}&{}{\,2 \le {\bar{x}} \le 3}, \end{array}} \right. \end{aligned}$$
(18)
$$\begin{aligned} {B^3}({\bar{x}})= & {} \left\{ {\begin{array}{*{20}{l}} {{{\bar{x}}^3}/6,}&{}{\,0 \le {\bar{x}}< 1}\\ {\left( { - 3{{\bar{x}}^3} + 12{{\bar{x}}^2} - 12{\bar{x}} + 4} \right) /6,}&{}{\,1 \le {\bar{x}}< 2}\\ {\left( {3{{\bar{x}}^3} - 24{{\bar{x}}^2} + 60{\bar{x}} - 44} \right) /6,}&{}{\,2 \le {\bar{x}} < 3}\\ {\left( { - {{\bar{x}}^3} + 12{{\bar{x}}^2} - 48{\bar{x}} + 64} \right) /6,}&{}{\,3 \le {\bar{x}} \le 4}. \end{array}} \right. \end{aligned}$$
(19)

To calculate the probability density value (p value) of the various Euler solutions subsets, such as \(\left\{ {{{x}}_o}\right\}\), \(\left\{ {x_o},{y_o}\right\}\), \(\left\{ {x_o},{y_o},{z_o}\right\}\), or \(\left\{ {x_o},{y_o},{z_o},{N}\right\}\) at each estimation point of the \(\varvec{\chi }\) with size a \(\varvec{M}\) for presentation purposes, we traverse all of the sample data on the estimation grid using Eq. 16. A server equipped with an Intel(R) Xeon(R) Gold 5117 CPU and 64 GB of memory was used for all tests.

Results

Algorithm verification of the BSS algorithm

To verify the correctness and reliability of BSS, a 1-D random dataset with 1500 samples is generated using the mean of three normal distributions, with the means \(\mu\)=−5, −3, 0, 4, and 9, and the variances \(\sigma =\frac{1}{5}\), \(\frac{1}{4}\), \(\frac{1}{3}\), \(\frac{1}{2}\), and \(\frac{1}{6}\). Based on this, the computational accuracy of the BSS algorithm is compared to that of the KS.

In nonparametric estimation, the challenge is to identify the features that are really there, but at the same time to avoid spurious noise (Zambom and Dias 2013). As shown in Fig. 1, the density estimation results depend on the choice of bandwidth. Larger bandwidths tend to result in oversmoothed density estimates that may hide some interesting underlying structure, as shown in curve 4. Whereas, smaller bandwidths tend to result in unsmoothed density estimates that may contain much spurious noise. It is crucial to choose the optimal bandwidth for the dataset. The optimal bandwidth determines the “resolution” of the kernel density estimate (Kobos and Mańdziuk 2010). When the optimal bandwidth is determined using the improved Sheather-Jones algorithm, the KS results are more accurate (Botev et al. 2010), but the bandwidths are small, leading to perturbations in the peaks of the probability density estimates for \(\mu\)=−3 and 3, as shown in curve 5. However, there has yet to be a consensus on choosing the optimal bandwidth (Levine 2008). Therefore, a small bandwidth is not recommended for practical applications. When the bandwidth is the same, the results of BSS are more reliable, and the computation time is lesser, as shown in curves 2–3; when the default bandwidth is used, as shown in curves 2 and 4, the results of BSS are more accurate, but at the same time, the computation time of KS increases significantly, which is mainly due to the fact that the KS algorithm introduces a large number of search calculations to distinguish adjacent probability density peaks in the case of large bandwidth. In summary, compared with the KS results, the BSS is a reliable method.

Fig. 1
figure 1

1-D probability density curves: (1) true values, (2) BSS’s result with default bandwidth, (3) KS’s result with the same bandwidth as the curve 2, (4) KS’s result with the default bandwidth, and (5) KS’s result with the optimal bandwidth. \(n=2000\)

Due to space limitations, there is no longer a comparative analysis of higher-dimensional normal distribution combination data.

Algorithm verification of BSS for Euler solutions

Simple models

Three models are constructed with geometric parameters to verify further the adaptability and reliability of the BSS estimate Euler solutions, as shown in Table 1. The relationships between the structural indices, types, and calculated depth positions of these models are listed in Table 2. The observation height is 50 m, the range of the survey area is x: −5000 m \(\sim\) 5000 m, y: −5000 m \(\sim\) 5000 m, and the measurement grid is 50 m \(\times\) 50 m.

Table 1 The geometric parameters of the three models
Table 2 Relationship between structural index (N), type of gravity model and position of the calculated depth

To obtain Euler solutions, the contaminated FTG data are traversed by a sliding window of size 15 \(\times\) 15 points using tensor Euler deconvolution. Then, the Euler solutions, whose \(\textrm{SIs}< 0\), are filtered out to discriminate those without physical meaning. The number of Euler solutions for the cuboid, horizontal cylinder, and sphere models is 14,896, 13,400, and 13,514, respectively.

Fig. 2
figure 2

Scatter plots of Euler solutions with different viewing angles (−37.5, 30), (0, 90), and (90, 0). The top, middle, and bottom rows correspond to the cuboid, the horizontal cylinder, and the sphere, respectively. \(w=15\)

As shown in Fig. 2, because tensor Euler deconvolution is easily affected by noise, the shallow Euler solutions, whose N is relatively small, generally \(N< 0.5\), tend to diverge. In the deeper part, however, the divergence of the Euler solutions becomes lower and tends to be stable as depth increases. The specific performance is that the Euler solutions get closer to the anomaly source, increasing their N.

Fig. 3
figure 3

Probability density curves of 1-D subsets: a \(x_o\), \(y_o\), and \(z_o\); b N

1-D BSS is used to analyze the Euler solutions of the three models, and there are twelve probability density curves, as shown in Fig. 3. It can be seen from curves 1–3 that there is only one peak on each curve derived from the subset \(\{x_o\}\). The coordinates x of each peak of the cuboid, horizontal cylinder, and sphere curves are −1000 m, 0 m, and 1500 m, respectively, which agree with those theoretical values. As shown in curves 4–6 of the subset \(\{y_o\}\), the associated y of peaks of the cuboid and sphere curves are −1500 m and 2500 m, respectively, which are also consistent with those theoretical values. As for curve 5 of the horizontal cylinder, there are two probability peaks, and their values are almost equivalent. The corresponding y of peaks on curve 5 is about ± 800 m, consistent with the coordinates of the two endpoints of the horizontal cylinder. There are two peaks, one high and one low, on curves 7–9 in Fig. 3a. The corresponding z of the cuboid, horizontal cylinder, and sphere curves are [50 m, 600 m], [60 m, 420 m], and [50 m, 750 m], respectively. It can be found that the first value of z corresponds to the shallow Euler spurious solutions, which causes instability in the Euler homogeneous equation. However, the second value of z is almost consistent with the theoretical values of the models. It can be seen from the above results that when 1-D BSS is used to estimate the spatial positions of the anomalies, most of the peak points on the XOY plane (the values of x and y) are consistent with theoretical values.

As the result of the 1-D BSS derived from the horizontal cylinder in Fig. 3, only the corresponding y and depth estimation z are ambiguous. In addition, it can be seen from Fig. 3b that there are two or three peaks derived from N of the three models. The first left peak on the curves corresponds to the shallow spurious solutions, while the rightmost peak corresponds to the deep Euler solutions (Fig. 2), whose N are almost consistent with their expected values. However, the rightmost peak of curve 2 is related to the relatively small Euler solution of N above the horizontal cylinder in Fig. 2d, e.

It can be seen from the above results that there are numerous peaks when 1-D BSS is used to estimate the subsets \(\{z_o\}\) and \(\{N\}\). Therefore, a higher-dimensional BSS is adopted to avoid the case of multiple peaks. The following six subsets \(\{x_o, y_o\}\), \(\{x_o, z_o\}\), \(\{y_o, z_o\}\), \(\{x_o, N\}\), \(\{y_o, N\}\), and \(\{z_o, N\}\) are obtained from the four-dimensional Euler solution set \(\{x_o, y_o, z_o,N\}\). Then, 18 subsets derived from the three models are analyzed using 2-D BSS.

As shown in Fig. 4, the probability density distribution images are obtained using 2-D BSS with 2-D subsets derived from the three models. The results of the cuboid in Fig. 4a–f show that except for the ambiguity in the results of the subset \(\{z_o, N\}\), the other five results are consistent with their expected values. The corresponding values of x, y, z, and N for each probability density peak are −1000 m, −1500 m, 700 m, and \(\approx\)2, respectively. Because of many spurious solutions with smaller structural indices in the shallow part, many probability density tails occur near z=0 or N=0.

Fig. 4
figure 4

Probability density distributions derived from 2-D subsets \(\{x_o, y_o\}\), \(\{x_o, z_o\}\), \(\{y_o, z_o\}\), \(\{x_o, N\}\), \(\{y_o, N\}\), and \(\{z_o, N\}\) using 2-D BSS. The top, middle, and bottom rows correspond to the cuboid, the horizontal cylinder, and the sphere, respectively

As for the horizontal cylinder, the results show that there are only two density peaks along the y direction. The horizontal cylinder’s endpoints are indicated by two peaks with y coordinates of ±800 m. However, the coordinates of x, z, and N corresponding to other peaks are 0 m, 450 m, and \(\approx\)1.4. The sphere’s results show only one probability density peak, in contrast to the cubic and horizontal cylinder results. The coordinates of x, y, z, and N corresponding to each peak are 1500 m, 2500 m, 800 m, and \(\approx\)2, which is almost consistent with the expected value.

Compared with the 1-D BSS, the 2-D BSS only yields one peak by estimating the depths z and N of the three models, which provide a basis for determining the locations and shapes of anomalies. The probability density contours derived from the horizontal cylinder are scattered along the y-axis, with the two endpoints as the center, caused by the equivalence effect controlling the potential field. The gravity anomaly response of the horizontal cylinder can be generated by two adjacent rectangles, leading to some ambiguity in interpreting geological formations using Fig. 4.

Furthermore, illustrating the five-dimensional results \(\{x_o,y_o,z_o,N,p\)-\(value\}\) obtained from the dataset \(\{x_o,y_o,z_o,N\}\) using a four-dimensional BSS is difficult. To avoid the above two problems, 3-D BSS is adopted for four subsets \(\{x_o,y_o,z_o\}\), \(\{x_o,y_o,N\}\), \(\{x_o,z_o,N\}\), and \(\{y_o,z_o,N\}\), which are derived from the whole Euler solutions dataset \(\{x_o,y_o,z_o,N\}\). Similar to the 2-D BSS process for Euler solutions, there are 12 subsets derived from the three models analyzed by 3-D BSS.

Figures 5, 6, 7 indicate the results of BSS for 3-D subsets derived from the cube, horizontal cylinder, and sphere, respectively. The corresponding expected values are given as reference planes for each subplot. The N value of the horizontal cylinder is smaller than its expected value. Except for this, the values of x, y, z, and N of each probability density peak are almost consistent with their expected values. However, because tensor Euler deconvolution is easily affected by noise, many spurious solutions with low SIs, generally \(N<\)0.5, are generated in the shallow part. In turn, it leads to one or more peaks, with a low probability density value, in the results of the subsets \(\{x_o,y_o,N\}\), \(\{x_o,z_o,N\}\), and \(\{y_o,z_o,N\}\) (Figs. 5c–d, 6c–d, and 7c). Furthermore, due to the equivalence principle, the Euler solution forms scattering sources at the ends of the horizontal cylinder, resulting in multiple erroneous peaks in the results of \(\{y_o,z_o,N\}\)(Fig. 7d). By contrast, the probability density isosurfaces of the subset \(\{x_o,y_o,z_o,N\}\) obtained using 3-D BSS provide a more intuitive way to locate anomaly sources. Therefore, BSS combined with the solution subset \(\{x_o,y_o,z_o,N\}\) is used to separate and locate geological targets in the remainder of this paper.

Fig. 5
figure 5

Probability density isosurfaces obtained using 3-D BSS for subsets a \(\{x_o, y_o, z_o\}\), b \(\{x_o, y_o, N\}\), c \(\{x_o, z_o, N\}\), and d \(\{y_o, z_o, N\}\), of the cuboid

Fig. 6
figure 6

Probability density isosurfaces obtained using 3-D BSS for subsets a \(\{x_o, y_o, z_o\}\), b \(\{x_o, y_o, N\}\), c \(\{x_o, z_o, N\}\), and d \(\{y_o, z_o, N\}\), of the horizontal cylinder

Fig. 7
figure 7

Probability density isosurfaces obtained using 3-D BSS for subsets a \(\{x_o, y_o, z_o\}\), b \(\{x_o, y_o, N\}\), c \(\{x_o, z_o, N\}\), and d \(\{y_o, z_o, N\}\), of the sphere

Combination model

For the convenience of contrast analysis, a combined model of the cube, sphere, and vertical cylinder was proposed by Zhou et al. (2016) to test the proposed algorithm’s adaptability to complex geological sources. This cube has 800 m long sides, with its center at (1500 m, 4000 m, 650 m), with 0.5 \(\mathrm {g/cm}^{3}\) density contrast. The vertical cylinder has a radius of 400 m at its center (1000 m, 1000 m, 400 m), and its length is 1000 m, with 1.0 \(\mathrm {g/cm}^{3}\) contrast. This sphere has a radius of 350 m at its center (3500 m, 2500 m, 500 m) with 1.0 \(\mathrm {g/cm}^{3}\) density contrast. The measurement area is x:0\(\sim\)5000 m, y:0\(\sim\)5000 m; the survey grid interval is 25 m\(\times\)25 m, and its observation height is 25 m. The FTG data derived from the combined model are shown in Fig. 8.

Fig. 8
figure 8

Forward results of the combined model: a \({g_{xx}}\), b \({g_x}\), c \({g_z}\), d \({g_{xy}}\), e \({g_{yy}}\), f \({g_y}\), g \({g_{xz}}\), h \({g_{yz}}\), and i \({g_{zz}}\)

A total of 34,596 Euler solutions are obtained based on the Eqs. (3-5) with a sliding window of 15\(\times\)15. Compared with the Euler solutions in Fig. 6 in Zhou et al. (2016), the Euler solutions in Fig. 9 are more disorganized, mainly because spurious solutions are not filtered, and the optimal solutions are not determined. As shown in Fig. 9, the z-axis points upward so that the shallow Euler solutions do not cover the deep ones. Due to the mutual interference of adjacent anomaly sources and the influence of noise, Euler solutions tend to diverge in the shallow part, and their N is relatively small. Conversely, the deep Euler solutions tend to be stable, and their SIs dramatically increase as the depth increases. However, their depth exceeds the range of the anomaly source by far.

Fig. 9
figure 9

Scatter plots of Euler solutions with different viewing angles: a (−37.5, 30), b (0, 90), and c (90, 0). \(w=15\)

Suppose all clusters are dense enough and well separated by low-density regions. In that case, the density-based spatial clustering of applications with noise (DBSCAN) can find clusters of any shape in the spatial database without “noise" (Ester et al. 1996; Daszykowski et al. 2001). For comparison, we analyzed the Euler solutions using DBSCAN and yielded five clusters. The object numbers of their neighborhood are 27, 23, 32, 21, and 31, respectively. Their neighborhood radii are 211.35 m, 57.16 m, 328.31 m, 58.78 m, and 452.29 m, respectively. As can be seen from the clustering results (Fig. 10), since DBSCAN only eliminates some spurious solutions, the sparse and dense distributions of the solutions are also indistinguishable from other traditional discriminative techniques.

Fig. 10
figure 10

Scatter plots of clusters and spurious solutions of Euler solutions

Since surface gravity data have no depth resolution (Li and Oldenburg 1998) and the Occam algorithm has difficulty in recovering depth resolution, the density distribution map becomes increasingly blurred with increasing depth z (LaBrecque et al. 1992; Siripunvaraporn and Sarakorn 2011; Cao et al. 2023), as shown in Fig. 11. In addition, our method is more effective compared to the Occam algorithm’s inability to recover depth resolution from surface gravity data.

Fig. 11
figure 11

Inversion density distributions using the UBC-GIF inversion code for the \(g_z\) data in the survey grid at different depths z. a 150 m, b 300 m, c 450 m, d 600 m, e 750 m, f 900 m, g 1050 m, h 1200 m, and i 1350 m

In Fig. 9, the Euler solutions, filtered by \(N<0\) or \(N>3\), are processed by BSS using an estimation grid with a size of 400 \(\times\) 400 \(\times\) 200. The probability density distributions in Fig. 12 show that BSS in conjunction with subset \(\{x_{o}, y_{o}, z_{o}\}\) can effectively indicate locations of anomaly sources compared with the Euler solutions in Fig. 6 in Zhou et al. (2016).

Fig. 12
figure 12

Probability density isosurface obtained using 3-D BSS for the subset \(\{x_o, y_o, z_o\}\) derived from the combined model in a the perspective view and b the plan view

Field data

Alkaline sediments in British Columbia formed 210 to 180 Ma ago between the superterranes of the two oceanic island zones of Quesnelia and Stikinia. The Quesnel Terrane is an early Mesozoic volcanic arc with significant alkaline and calc-alkaline porphyry potential and has a large number of copper-molybdenum and copper-gold porphyry deposits (Oldenburg et al. 1997; Schiarizza 2003; Logan and Mihalynuk 2014; Melo and Barbosa 2020). The middle part of the Geoscience BC survey area is mostly covered by a thick layer of Quaternary glacial sediments, which results in insufficient exploration work (Cui et al. 2017; Deok Kim et al. 2020). Because of this, the QUEST project, as part of Geoscience BC, carried out a series of geophysical surveys from 2007 to 2009, such as electromagnetic (Geotech Limited 2008), aeromagnetic (Aeroquest Limited 2009), and airborne gravity (Sander Geophysics Limited 2008; Farr et al. 2008; Phillips et al. 2009; Mitchinson et al. 2013). All these studies mainly focus on six known porphyry deposits in the Quesnel Terrene: Endako, Huckleberry, Bell, Granisle, Morrison, and Mount Milligan (Mitchinson et al. 2013). Mount Milligan is located 155 Km northwest of Prince George, British Columbia, in the central part of Quesnellia. The Takla group consists mainly of two monzonite stocks, namely Main and Southern Star, and the parent rock affected by hydrothermal fluids. According to Terrane Metals Corp., its resources are about 417.1 million tons, with about 5.5 million ounces of gold and 540,000 tons of copper (Rezaie and Moazam 2017).

Mount Milligan is the testing ground for different geophysical survey methods (Fig. 13). Oldenburg et al. (1997) inverted the airborne magnetic, direct current resistivity, induced polarization, and airborne electromagnetic data of the Mount Milligan copper-gold porphyry deposit one by one. The inversion results are consistent with the rock model constructed with geological information from 600 boreholes and the 3-D model of gold concentration. Espinosa-Corriols and Kowalczyk (2008) analyzed the geophysical characteristics of airborne magnetic and VTEM data of the Mount Milligan copper-gold porphyry deposit. Rezaie and Moazam (2017) achieved 3-D magnetic inversion for the Mount Milligan copper-gold porphyry deposit. The recovered magnetic susceptibility model is consistent with the actual structure (Li and Oldenburg 1996).

Currently, magnetic and electromagnetic data are most often analyzed, while gravity data are used less frequently. At the same time, there is no depth resolution of the gravity and magnetic surface data, and the recovered density distribution obtained by Occam-like inversion tends to be smooth (Ramirez et al. 1993; Li and Oldenburg 1998; Siripunvaraporn and Sarakorn 2011). Under the influence of the volume effect of gravity and magnetic fields, the residual density and magnetic susceptibility obtained through inversion are far from the natural physical property distribution. Therefore, this paper attempts to use Mount Milligan gravity data to reveal geological structures.

Fig. 13
figure 13

Mount Milligan Geological Map after Cui et al. (2017)

The residual Bouguer gravity anomaly is the difference between the gravity data at 2700 m, which corresponds to the flight height, and 5700 m. The upward continuation height (5700 m) was determined using the Montaj MAGMAP Filtering tool and correlation analyses starting from 2700 m to 9700 m with an interval height of 500 m (Zeng et al. 2007; Montaj 2008; Setiadi et al. 2021; Cao et al. 2023). The upward continuation was calculated on each height map using a grid size (500 m \(\times\) 500 m) using the Geosoft Oasis Montaj software (Montaj 2008). Then, we convert the residual Bouguer gravity anomaly into FTG data using FFT (Mickus and Hinojosa 2001), as shown in Fig. 14.

Fig. 14
figure 14

Mount Milligan’s Gravity Gradient Tensor Data converted using FFT: a \({g_{xx}}\), b \({g_x}\), c \({g_z}\), d \({g_{xy}}\), e \({g_{yy}}\), f \({g_y}\), g \({g_{xz}}\), h \({g_{yz}}\), and i \({g_{zz}}\)

The gravity maps in Fig. 14 show that \(g_z\) is an anomaly that moves along the northwest direction at Mount Milligan. There is no Gibbs disturbance in gravity vectors and components of FTG, which is easily produced by FFT operation (Robertson et al. 1998). On that basis, we use a series of sliding windows whose sizes range from 4 to 25 for traversing the gridded data. Then, 215,727 Euler solutions are obtained with tensor Euler deconvolution based on Eqs. (3-5). The Euler solutions’ slice is similar to density slices and has a depth range of \(z-dz\)/2 to \(z+dz\)/2 as their slice at depth z. Here, dz=300 m.

Fig. 15
figure 15

Sections of Euler solutions at depth z a −1000 m, b −700 m, c −400 m, d −100 m, e 200 m, f 500 m, g 800 m, h 1100 m, and i 1400 m. \(w=2\sim 25\)

After comparing Figs. 15c–e and 14c, it can be found that the solution clusters at the center of the former and the northwest-trending anomalies of the latter coincide in some way. At a relatively low depth z, the solutions are scattered in disorder, as shown in Fig. 15a–b; as z increases, the situation will be improved, and there will be some solution clusters. Since there are numerous messy Euler solutions, the solutions drawn early are likely to be covered by those drawn later. Moreover, the solutions at the back of the view may be covered by the ones at the front. As a result, it is difficult to mark meaningful anomaly sources and geological structures with Euler solutions.

For further comparisons, Occam inversion is conducted on the residual gravity anomalies using the interpretation model with 80\(\times\)80\(\times\)40 units, whose length is 250 m, to yield a 3-D density distribution.

Fig. 16
figure 16

Recovered density images at depth z a −1000 m, b −700 m, c −400 m, d −100 m, e 200 m, f 500 m, g 800 m, h 1100 m, and i 1400 m

Because the surface gravity and magnetic data lack depth resolution (Li and Oldenburg 1998), it is difficult for Occam-like inversion to recover depth resolution (Ramirez et al. 1993; Siripunvaraporn and Sarakorn 2011). It can be seen from the inversion density imaging of Mount Milligan in Fig. 16 that the location patterns of the residual density in the subfigures are similar. It hinders practical geological analysis. So, we use the BSS algorithm on an estimation grid of 400\(\times\)400\(\times\)200 to evaluate the Euler solutions before filtering spurious solutions and selecting optimal ones.

Fig. 17
figure 17

Probability Density Sections at depth z a −1000 m, b −700 m, c −400 m, d −100 m, e 200 m, f 500 m, g 800 m, h 1100 m, and i 1400 m

As shown in Fig. 17, combined with the available geological information, the surrounding strata are composed of sedimentary rock (muTrTsf), eolian deposit (EOls), and calc-alkaline volcanic rock of Witch Lake Formation (uTrTWppbb). The muTrTsf combines mudstone, siltstone, and shale fine clastic sedimentary rocks. The EOls deposit is formed by stone, mudstone, coal, pebble conglomerate, volcanic wacke, volcanic ash, and basalt, all of which are probably correlatable with the Endako Group. The uTrTWppbb is mainly composed of calc-alkaline volcanic rocks of the Witch Lake Formation, some volcanic clastic rocks, and basaltic volcanic rocks. Peak A is illustrated in Fig. 17a–b at a depth of about −1000 m to −700 m, consistent with the depth of the mine profile given by Jago et al. (2014). With increasing depth, in Fig. 17c–f, the peak A is gradually shifted to the south, which is inferred to be mainly caused by density contrast among the muTrTsf, Eols, and uTrTWppbb strata, and influenced by the adjacent faults. As shown in Fig. 17a–d, the left flank of peak B along the northwest fault indicates that the fault is probably at a depth of 1000 m. As the depth z increases, peak B gradually develops into three probability density peaks in Fig. 17b–d. Because peak B’ is situated at the common boundary of sedimentary rocks (muTrTsf) and volcanic rocks (uTrTca), it is possibly formed by the relative density of adjacent strata. The volcanic rock uTrTca is dominated by volcanic flows, breccia, agglomerates, and augite with lesser plagioclase-bearing rocks. As its depth increases, peak B likely moves to the south at about 2000 m, as shown in Fig. 17a–h, which was probably caused by an intrusive rock.

In Fig. 16, peak C overlaps with the outline formed by the volcanic rocks uTrTca and its surrounding faults. Considering its corresponding recovered residual density of about 0.1 \(\mathrm {g/cm}^{3}\) in Fig. 16, peak C is inferred to be caused by the volcanic rocks uTrTca, the limestone bioreef/reef sedimentary rocks uTrTls, and their surrounding faults.

According to Fig. 17g–h, peak D appears in the uTrTWppbb stratum, and its left flank spreads primarily along the adjacent fault with increasing depth z, which leads us to conclude that peak D is caused by the adjacent fault penetrating the uTrTWppbb stratum.

Fig. 18
figure 18

Probability density distribution of Mount Milligan in (a) the perspective view and b the plan view

In Fig. 18, it is relatively easy to find out the relationship between the probability density peaks formed by the corresponding contour surfaces, such as the affiliation between peaks B’ and B, and the adjacent locations of peaks A and D, which is caused by the nearby fault that penetrates the stratum uTrTWppbb.

Discussion

There are different aggregation characteristics of Euler solutions obtained by different Euler deconvolutions.

We found that combining tensor Euler deconvolution with the proposed algorithm yields meaningful geological results characterized by satisfactory probability density distributions with depth resolution, as shown in Figs. 17 and 18, in comparison with traditional Euler deconvolution (Fedi et al. 2009), Euler deconvolution with truncated SVD (Beiki 2013), and joint Euler deconvolution (Zhang et al. 2000; Zhou et al. 2017).

It is challenging to characterize multiple anomalous sources using a single N because N varies with observation-to-source distance and sliding window size (Ravat 1996). Conventional Euler deconvolution with prescribed N will produce many spurious solutions due to the difficulty in determining N of geological targets of interest (FitzGerald et al. 2004). Therefore, the tensor Euler deconvolution with unprescribed N was employed for discriminating spurious solutions and locating geological targets. Furthermore, since a fixed-size sliding window does not correct for different-sized anomalous sources, we used different-sized sliding windows for field data.

Since all observed samples are needed to traverse each point of the estimation grid, this process is very time-consuming. However, we used MATLAB’s vectorization technique, which can significantly reduce computational time with a speedup of 1\(\sim\)2 orders of magnitude (Chen et al. 2017).

Marginal maxima and minima values are constants for a given sample data (Hüsler and Reiss 1989; Beranger et al. 2023). Thus, the estimation grid size is inversely proportional to the bandwidth. Using smaller bandwidths or larger estimation grids will significantly increase computation time, and its computational complexity is O(\(n^2\)) (Gehringer and Redner 1992; Cao et al. 2023). Since the tensor Euler deconvolution can readily yield repeating or similar solutions (FitzGerald et al. 2004), using a smaller bandwidth will be helpful to locate the centroid of anomaly sources, not characterize the geological boundary. For this reason, an optimal bandwidth is generally selected in practical applications by considering memory consumption, computation time, and determining the anomaly source boundary (Cao et al. 2023).

Conclusion

When most Euler deconvolution variants, which include tensor Euler deconvolution, suffer from noise, the number of spurious solutions increases, which reduces the proportion of optimal solutions with Euler solutions (Keating and Pilkington 2004; Pašteka et al. 2010; Melo and Barbosa 2020; Cao et al. 2023). By introducing BSS based on normalized B-spline into the post-processing of Euler solutions, the paper verifies through model tests and field data that the algorithm proposed during the study can successfully process Euler solutions and separate anomalies. The algorithm results based on BSS and KS are compared under 1-D and 2-D conditions, with the latter’s estimation error being much more severe than that of the former, verifying the applicability of the BSS method.

Whether under 1-D, 2-D, or 3-D conditions, the synthetic models’ Euler solution sets’ estimation results based on BSS are the same as those expected values. 3-D BSS is adopted to calculate the probability density of the Euler solution set, whose contour surface of probability density shows anomaly distribution more directly than other solution sets. The results derived from Mount Milligan show that 3-D BSS is useful for geological interpretation.