Keywords

1 Introduction

The identification of distributed discontinuities, such as edges or surface boundaries, is an important problem in computer vision and image processing. Edge classification is based on estimating the gradient norm at each pixel, but the complication comes in filtering noise. One of the most well-known and successful methods for identifying edges is due to Canny [2], but this is a single-scale algorithm.

The advantages of using a multiscale approach for edge detection have widely been acknowledged since [5] and [6]. It has been shown that extending such methods to include multiple directions on multiple scales can greatly improve results [1,7,10]. A particular approach using the multiscale and multidirectional representation known as the shearlet representation has shown particular promise [11].

In this work, we continue our investigation [8] of extending some of these multiscale and multidirectional methods into three dimensions (3D). In particular, we focus on wavelet, shearlet, and hybrid combinations. The hybrid combinations improve efficiency by realizing that many 3D datasets encountered in practice may not exhibit complex curvilinear discontinuity structures in all three dimensions, and thus the full generality of 3D shearlets may not be needed.

One important application of edge detection on 3D objects is to better represent or visualize the data, for example, data from X-ray or MRI scans. Yet our original motivation for these 3D extensions has been to apply these techniques to motion video by viewing the third dimension as the component obtained by stacking the individual images. Using the edge/surface detections in this case, we can use this information to precisely track objects within a few pixels of their true position [8].

An important component in these algorithms is to threshold, retaining only nominated edge points that are above a magnitude considered to be background noise. Sometimes these thresholds can be preset to values for a given class of expected images and noise levels. However, in this work we will extend common 2D thresholding techniques and propose a simple new method to find the appropriate thresholding value based directly on the data.

This chapter is organized as follows. In the Section 2, the 3D edge detection problem and the basics of the proposed multiscale and multidirectional methods are given. Demonstrations of the advantages of a shearlet approach over a wavelet approach are also shown. The Section 3 describes three thresholding algorithms and shows the experimental results based on using them on a sequence of moving targets. Concluding remarks follow in the Section 4.

2 Three-Dimensional Edge Detection

Detecting changes such as edges or surface changes in 3D data has many important applications. One of these is the ability of the collection of edge intensities to be used to visualize the content of a given image data \(I: = [0,1]^3 \rightarrow [0,1]\). Specifically, we may loosely define the collection of edges as

$$\mathcal E = \left\{ t \in [0,1]^3:\left|\nabla I(t)\right| \geq h\right\},$$
(1)

the set of points for which the magnitude of the gradient of I is above a scalar threshold \(h \in (0,1]\). This characterization of edges, however, is only suitable for noise free images I. To deal with noise, one solution is to prefilter the image to remove the noise before using this characterization. This prefiltering can be done by applying a Gaussian filter \(g_{a}=\hbox{exp}(-(x^2+y^2+z^2)/2a^2)\) dependent on a which determines the filter’s noise dampening properties. This methodology is highly successful if the optimal parameter a can be found for the particular image of interest.

By framing this methodology in the form of a wavelet transform, Mallat et al. [5,6] related a to the scale parameter of the transform. Specifically, the continuous wavelet transform of an image I is given by

$$W_{\psi} I(a,\tau) = \left\langle I,\psi_{M_a,{\tau}}\right\rangle,$$
(2)

where \(M_a=a I_3\), I 3 is the 3 × 3 identity matrix, \(\tau \in \mathbb{R}^3\), and \(a>0\). The analysis functions

$$\psi_{{M_a},{\tau}}(t) = |\det{M}|^{-\frac{1}{2}}\psi({M_a}^{-1}({t}-{\tau})) \quad{\tau} \in \mathbb{R}^3$$
(3)

are well localized waveforms that can decompose images \({I} \in L^2(\mathbb{R}^3)\) so that

$$I = \int_{\mathbb{R}^3}\left\langle I,\psi_{{M_a},{\tau}}\right\rangle \psi_{{M_a},{\tau}} \, d{\tau}.$$
(4)

By setting ψ to be \(\nabla g_1\), the first derivative of a Gaussian wavelet, the above edge detection methodology corresponds to the detection of the local maxima of the wavelet transform of I for a particular scale a. Further more, this framework allows one to develop an efficient and effective detection scheme by knowing how the magnitude of the wavelet transform behaves at location points corresponding to edges (see [8] for details).

We have found this approach to be very successful for many image data sets, as we shall demonstrate. However, when the data has sharp curvilinear elements or edges that change with complicated orientations, the wavelet transform is not effective in isolating such features. For such cases, a multidirectional representation is needed. To deal with these problems, we have developed an edge detection scheme using the shearlet representation.

2.1 The Shearlet Representation

The shearlet representation is essentially a multidirectional extension of the wavelet representation. Its unique spatial frequency tiling is achieved through the action of shearing matrices that give the transform its name.

Shearlets are constructed by first restricting the subspace of \(L^2(\mathbb{R}^3)\) to be \(L^2({\mathcal P}_{1})^{\vee} = \{ f \in L^2(\mathbb{R}^3): \text{supp} \widehat f \subset{\mathcal P}_{1}\}\), where \({\mathcal P}_{1}\) is the horizontal pyramidal region in the frequency plane:

$$\mathcal P_{1} = \{ (\nu_1,\nu_2,\nu_2) \in \mathbb{R} ^3: |\nu_1| \ge 2,\left|\frac{\nu_2}{\nu_1} \right| \le 1 \text{ and} \left|\frac{\nu_3}{\nu_1} \right| \le 1 \}.\nonumber$$

We define the shearlet group to be

$$\Lambda_{1} = \left\{ (M_{as_1s_2,\tau}^{(1)}): 0 \le a \le \frac{1}{4}, -\frac{3}{2} \le s_1 \le \frac{3}{2}, -\frac{3}{2} \le s_2 \le \frac{3}{2}, \tau \in \mathbb{R}^2\right\} \nonumber$$

where

$$M_{as_1s_2} ^{(1)}= \left(\begin{matrix} a & -a^{1/2}s_1 & - a^{-1/2}s_2 \\0 & a^{1/2} & 0 \\0 & 0 & a^{1/2}\end{matrix}\right).\nonumber$$

The shearlet analyzing functions defined on \(L^2({\mathcal P}_{1})^{\vee}\) are given by

$$\psi_{as_1s_2\tau}^{(1)}(t) = |\det{M_{as_1s_2}^{(1)}}|^{-\frac{1}{2}}\psi^{(1)}((M_{as_1s_2}^{(1)})^{-1}(t-\tau)).$$
(5)

In order for any function in \(L^2({\mathcal P}_{1})^{\vee}\) to be decomposed by these analyzing functions, the following conditions and assumptions on \(\psi^{(1)}\) need to be satisfied [4]. For \(\nu = (\nu_1,\nu_2,\nu_3) \in \mathbb{R}^3, \nu_1 \neq 0\), the function \(\psi^{(1)}\) should be such that

$$\hat{\psi}^{(1)}(\nu) = \hat{\psi}^{(1)}(\nu_1,\nu_2,\nu_3) = \hat{\psi}_1(\nu_1) \hat{\psi}_2\left(\frac{\nu_2}{\nu_1}\right)\hat{\psi}_2\left(\frac{\nu_3}{\nu_1}\right).$$

The function \(\psi_1 \in L^2(\mathbb{R})\) should satisfy the Calderón condition

$$\int_{0}^{\infty}\left|\hat{\psi}_1(a\nu) \right|^2\frac{da}{a} = 1 \text{for a.e.} \nu \in \mathbb{R} \nonumber$$
(6)

with \(\text{supp}\hat{\psi}_1 \subset \left[-2, -\frac{1}{2}\right] \cup \left[\frac{1}{2}, 2\right]\) and \(\|\psi_2 \|_{L^2}=1\) with \(\text{supp}\hat{\psi}_2 \subset \left[ -\frac{\sqrt{2}}{4}, \frac{\sqrt{2}}{4}\right]\). If these assumptions are met, then

$${f({\mathbf{t}}) = \int_{\mathbb{R}^3}\int_{-\frac{3}{2}}^{\frac{3}{2}}\int_{-\frac{3}{2}}^{\frac{3}{2}}\int_{0}^{\frac{1}{4}}\langle f,\psi_{as_1s_2 {\mathbf{\tau}} }^{(1)}\rangle \psi_{as_1s_2 {\mathbf{\tau}}}^{(1)}({\mathbf{t}})\frac{da}{a^4}\, ds_1 \,ds_2 \, d{\mathbf{\tau}}}$$
(7)

for all \(f \in L^{2}({\mathcal P}_{1})^{\vee}\).

The shearlet analyzing functions \(\psi_{a s_{1} s_{2}\tau}^{(1)}\) in the frequency domain are given by

$$\hat{\psi}^{(1)}_{as_1s_2\tau}(\nu_{1},\nu_{2},\nu_{3}) = a\hat{\psi}_1(a\nu_{1})\hat{\psi}_2(a^{-\frac{1}{2}}(\frac{\nu_{2}}{\nu_{1}}-s_{1}))\hat{\psi}_{2}(a^{-\frac{1}{2}}(\frac{\nu_{3}}{\nu_{1}}-s_{2}))e^{-2\pi i \nu\cdot{\tau}}.$$
(8)

Because of the particular support constraints given, this means each function \(\hat{\psi}_{as_1s_2\tau}^{(1)}\) has support described by the elements \((\nu_1,\nu_2,\nu_3)\) such that for a given s 1, s 2, and \(\nu_1 \in \left[-\frac{2}{a},-\frac{1}{2a}\right] \cup \left[\frac{1}{2a},\frac{2}{a}\right],\) ν2 needs to satisfy \(\left|\frac{\nu_2}{\nu_1} - s_1 \right| \leq \frac{\sqrt{2}}{4}a^{\frac{1}{2}}\), and ν3 needs to satisfy \(\left|\frac{\nu_3}{\nu_1} - s_2\right| \leq \frac{\sqrt{2}}{4}a^{\frac{1}{2}}.\) Such points end up describing a pair of hyper-trapezoids that are symmetric with respect to the origin with orientation determined by slope parameters s 1 and s 2. These hyper-trapezoids become elongated as \(a \to 0\).

Since the analyzing functions \(\psi_{a s_{1} s_{2}\tau}^{(1)}\) only decompose elements in \(L^2({\mathcal P}_{1})^{\vee}\), we form complementary analyzing functions supported on the complementary pyramidal regions. Specifically, we define

$$\mathcal P_{2} = \{ (\nu_1,\nu_2,\nu_2) \in \mathbb{R} ^3: |\nu_2| \ge 2,\left|\frac{\nu_1}{\nu_2} \right| \le 1 \text{ and} \left|\frac{\nu_3}{\nu_2} \right| \le 1 \} \nonumber$$

and

$$\mathcal P_{3} = \{ (\nu_1,\nu_2,\nu_2) \in \mathbb{R} ^3: |\nu_3| \ge 2,\left|\frac{\nu_2}{\nu_3} \right| \le 1 \text{ and} \left|\frac{\nu_1}{\nu_3} \right| \le 1 \}. \nonumber$$

We also define

$$\Lambda_{2} = \left\{ (M_{as_1s_2,\tau}^{(2)}): 0 \le a \le \frac{1}{4}, -\frac{3}{2} \le s_1 \le \frac{3}{2}, -\frac{3}{2} \le s_2 \le \frac{3}{2}, \tau \in \mathbb{R}^2\right\} \nonumber$$

where,

$$M_{as_1s_2} ^{(2)}= \left(\begin{matrix} a^{1/2} & 0 & 0 \\-a^{1/2}s_1 & a & -a^{-1/2}s_2 \\0 & 0 & a^{1/2}\end{matrix}\right).\nonumber$$

Likewise, we define

$$\Lambda_{3} = \left\{ (M_{as_1s_2,\tau}^{(3)}): 0 \le a \le \frac{1}{4}, -\frac{3}{2} \le s_1 \le \frac{3}{2}, -\frac{3}{2} \le s_2 \le \frac{3}{2}, \tau \in \mathbb{R}^2\right\} \nonumber$$

where,

$$M_{as_1s_2} ^{(3)}= \left(\begin{matrix} a^{1/2} & 0 & 0 \\0 & a^{1/2} & 0 \\-a^{1/2}s_1 & -a^{1/2}s_2 & a\end{matrix}\right). \nonumber$$

By defining \(\psi^{(2)}\) and \(\psi^{(3)}\) as \(\hat{\psi}^{(2)}(\nu) = \hat{\psi}^{(2)}(\nu_1,\nu_2,\nu_3) = \hat{\psi}_1(\nu_2) \hat{\psi}_2\left(\frac{\nu_1}{\nu_2}\right)\hat{\psi}_2\left(\frac{\nu_3}{\nu_2}\right)\) and \(\hat{\psi}^{(3)}(\nu) = \hat{\psi}^{(3)}(\nu_1,\nu_2,\nu_3) = \hat{\psi}_1(\nu_3) \hat{\psi}_2\left(\frac{\nu_1}{\nu_3}\right)\hat{\psi}_2\left(\frac{\nu_2}{\nu_3}\right)\), the analyzing functions

$$\psi_{as_1s_2\tau}^{(j)}(t) = |\det{M_{as_1s_2}^{(j)}}|^{-\frac{1}{2}}\psi^{(j)}((M_{as_1s_2}^{(j)})^{-1}(t-\tau)),$$
(9)

for \(j=2,3\) decompose the subspaces \(L^2({\mathcal P}_{2})^{\vee}\) and \(L^2({\mathcal P}_{3})^{\vee}\), respectively. Since the union of \(L^2({\mathcal P}_{1})^{\vee}\), \(L^2({\mathcal P}_{2})^{\vee}\), and \(L^2({\mathcal P}_{3})^{\vee}\) forms the space \(L^2(\mathbb{R}^3)\) minus the functions whose frequency supports are contained in \([-2,2]^3\), we can obtain a complete decomposition of \(L^2(\mathbb{R}^3)\) by adding analyzing functions that can decompose these elements. This is done by using an appropriate bandlimited window function ϕ and forming the analyzing functions \(\varphi_{\tau}(t)=\varphi(t-\tau)\).

The shearlet representation consists of the collection of analyzing functions \(\{\psi_{as_1s_2\tau}^{(j)}\}_{j=1}^3\) and \({\varphi}\) restricted to the appropriate groups, but for simplicity of notation we will drop the superscript. Examples of the spatial frequency hyper-trapezoidal regions for these atoms are shown in Fig. 1.

Fig. 1
figure 1

Three-dimensional spatial frequency representations (four disjoint domains for each) of shearlet atoms for three different choices of scales and shearing parameters

We denote \(\mathcal{SH}_{\psi}f(a,s_1,s_2,\tau)\) to be \(\langle f,\psi_{as_1s_2\tau}\rangle\). We are able to design an edge detection routine by using the following result [4] that characterizes the asymptotic decay as \(a \to 0\) for edge point locations.

Theorem 1.

[4] Let Ω be a bounded region in \(\mathbb{R}^3\) with boundary \(\partial \Omega\) and define the function B to be the characteristic function over Ω. Assume that \(\partial \Omega\) is a piecewise smooth two-dimensional manifold. Let γ j , \(j=1,2,\dots,m\) be the separating curves of \(\partial \Omega\) . Then we have

  1. 1.

    If \(\tau \notin \partial \Omega\) , then

    $$\notag \lim_{a \to 0^{+}}a^{-N}\mathcal{SH}_{\psi}B(a,s_1,s_2,\tau)=0 \text{for all} N> 0. \nonumber$$
  2. 2.

    If \(\tau \notin \partial \Omega\setminus\cup_{j=1}^m \gamma_{j}\) and \((s_1,s_2)\) does not correspond to the normal direction of \(\partial\Omega\) at τ, then

    $$\notag \lim_{a \to 0^{+}}a^{-N}\mathcal{SH}_{\psi}B(a,s_1,s_2,\tau)=0 \text{for all} N> 0. \nonumber$$
  3. 3.

    If \(\tau \notin \partial \Omega\setminus\cup_{j=1}^m \gamma_{j}\) and \((s_1,s_2)\) corresponds to the normal direction of \(\partial\Omega\) at τ or \(\tau\in \cup_{j=1}^m\gamma_j\) and \((s_1,s_2)\) corresponds to one of the two normal directions of \(\partial\Omega\) at p, then

    $$\notag \lim_{a \to 0^{+}}a^{-1}\mathcal{SH}_{\psi}B(a,s_1,s_2,\tau)\neq 0. \nonumber$$
  4. 4.

    If \(\tau \in \gamma_j\) and \((s_1,s_2)\) does not correspond to the normal directions of \(\partial \Omega\) at τ, then

    $$\vert{\mathcal{SH}}_{\psi}B(a,s_1,s_2,\tau) \vert \leq Ca^{\frac{3}{2}}.$$

This result allows us to use the concepts developed in [11] for 2D to be extended to obtain a 3D shearlet edge detection algorithm. Details of the algorithm are given in [8].

2.2 Visualization

An edge map of a 3D dataset is particularly useful for visualizing complex objects by taking advantage of the ability of an alpha map to give some transparency to the detected surfaces [9]. In this section, we demonstrate the capability of the wavelet and shearlet edge detection schemes to be used for visualization.

For implementation, we use the thresholding technique called hysteresis to determine the true edge intensity magnitudes. Specifically, hysteresis uses two diferent thresholds \(t_{\hbox{low}}\) and \(t_{\hbox{high}}\) to help distinguish true edges, even if the magnitude of the gradient is somewhat below the value h specified in (1). A pixel is identified as a strong edge pixel if its intensity gradient magnitude is greater than \(t_{\hbox{high}}\). A pixel is also marked as part of an edge if it is connected to a strong edge and its gradient magnitude is larger than \(t_{\hbox{low}}\) and larger than the magnitude of each of its two neighbors in at least one of the compass directions (N–S, E–W, NE–SW, NW–SE). This 2D hysteresis is applied to the 3D intensity magnitudes M on a slice by slice basis.

Assuming the magnitudes M of the gradient intensities are normalized, \(t_{\hbox{high}}\) is given as \(\eta{\overline M}\) for some \(\eta>0\) where \(\overline M\) denotes the mean of M and \(t_{\hbox{low}}\) is given as \(\rho t_{\hbox{high}}\) for some \(\rho <1\).

We illustrate these techniques on two examples.

In the first example, we added white Gaussian noise with a standard deviation of 0.1 to the 3D Shepp-Logan Phantom dataset. In this case, we set \(\eta=4.1\) and \(\rho=0.45\). Figures 1, 2, 3, and 4 show the results. The 3D shearlet edge detector gives a higher quality rendering of edge information.

Fig. 2
figure 2

Data for the 3D phantom experiment: images of slices through main axis

Fig. 3
figure 3

Results for the 3D phantom experiment with hysteresis filtering: images of slices. Top: results of wavelet-based edge detection. Bottom: corresponding results for shearlet-based edge detection

Fig. 4
figure 4

Results for the 3D phantom experiment with hysteresis filtering: 3D display. Top: results of wavelet-based edge detection. Bottom: corresponding results for shearlet-based edge detection

In the second example, we added a white Gaussian noise with a standard deviation of 0.2 to a spherical harmonic of order 2 and degree 6 with a shading applied. In this case, we set \(\eta=4.3\) and \(\rho=0.45\). Figures 5, 6, and 7 show the results. Again, the shearlet-based edge detector gives a better reconstruction.

Fig. 5
figure 5

Data for the 3D spherical harmonic experiment: images of slices through main axis

Fig. 6
figure 6

Results for the 3D spherical harmonic experiment with hysteresis filtering: images of slices through main axis. Top: results of wavelet-based edge detection. Bottom: corresponding results for shearlet-based edge detection

Fig. 7
figure 7

Results for the 3D spherical harmonic experiment with hysteresis filtering: 3D display. Top: results of wavelet-based edge detection. Bottom: corresponding results for shearlet-based edge detection

3 Thresholding the Results of Edge Detectors

In this section, we study the use of various edge detection algorithms and various thresholding algorithms in determining edges in a noisy sequence of images.

3.1 The Eight Edge Detection Algorithms

We used several edge detection algorithms: 2D and 3D versions of the Canny, wavelet, and shearlet edge detectors, as well as hybrid wavelet (shearlet) edge detectors that combine the results of 2D slices in the xy, xt, and yt directions. We used MATLAB’s implementation of the 2D Canny algorithm in edge.m. The other algorithms are described in detail in [8] and the MATLAB implementations are available at https://www.cs.umd.edu/users/oleary/software/.

Note that the Canny algorithm returns a 0-1 image, so thresholding cannot be applied.

3.2 The Three Thresholding Algorithms

The thresholding algorithms were one taken from Gonzales [3, p. 406], Otsu’s method as implemented in MATLAB’s graythreshold.m, and a method that we developed.

Gonzales determines the threshold iteratively. He sets the threshold halfway between the mean of the pixels currently labeled “black” and those labeled “white.” The iteration terminates when the change in mean is less than a specified tolerance. In the figures, this method is referred to as the “global” method.

Otsu’s method aims to choose the threshold to minimize the sum of the variance among pixels labeled “black” and the variance among pixels labeled “white,” weighted by the proportions of pixels in each group. We applied it frame-by-frame to the norm-squared of the gradient estimate from the edge detector.

Our method assumes that in an edge image, an overwhelming number of pixels should be labeled “black.” Therefore, we set the threshold to three times the standard deviation of the pixel values. We applied it separately to the three components of the gradient estimate from our edge detector, and it is referred to as the “stat” method in the figures.

Fig. 8
figure 8

Frames 5, 15, 20, and 25 from the movie with shading and no noise

3.3 Tests on Moving Objects

To test our algorithms, we generated a 30-frame movie containing seven wedges translating and rotating at different velocities. We added shading and noise to make the problem more difficult. Several frames of the movie (with shading but no noise) are shown in Fig. 8. We display the results of our algorithms on frame 20.

Fig. 9
figure 9

Results of edge detection on movie with no noise using the global thresholding algorithm

Fig. 10
figure 10

Results of edge detection on movie with no noise using the Otsu thresholding algorithm

Fig. 11
figure 11

Results of edge detection on movie with no noise using the stat thresholding algorithm

No noise, no shading: Figs. 9, 10, and 11

In this case, edge detection is rather easy, and all of the algorithms do well, although the 3D wavelet version tends to broaden the edges due to motion.

Noise with shading: Figs. 12, 13, and 14

The Canny algorithm breaks down when noise (standard deviation of 2) is added (using MATLAB default parameters). The Gonzales threshold is again too small for the wavelet algorithms, but with the other two threshold algorithms, the 2D and 3D wavelets continue find all seven wedges. Although the 3D has considerable broadening, it finds all of the wedge edges more reliably.

Fig. 12
figure 12

Results of edge detection on movie using the global thresholding algorithm. Standard deviation of the noise is equal to 0.2 relative to white pixels

Fig. 13
figure 13

Results of edge detection on movie using the Otsu thresholding algorithm. Standard deviation of the noise is equal to 0.2 relative to white pixels

Fig. 14
figure 14

Results of edge detection on movie using the stat thresholding algorithm. Standard deviation of the noise is equal to 0.2 relative to white pixels

Fig. 15
figure 15

Results of edge detection on movie using the global thresholding algorithm. Standard deviation of the noise is equal to 0.4 relative to white pixels

Fig. 16
figure 16

Results of edge detection on movie using the Otsu thresholding algorithm. Standard deviation of the noise is equal to 0.4 relative to white pixels

Fig. 17
figure 17

Results of edge detection on movie using the stat thresholding algorithm. Standard deviation of the noise is equal to 0.4 relative to white pixels

Increased noise with shading: Figs. 15, 16, and 17

When the standard deviation of the noise is increased to 4, it is hard to find the wedges in the output of the 2D wavelet, but the seven wedges are somewhat visible in the 3D wavelet-based results.

Fig. 18
figure 18

Results of edge detection on shearlet results from spherical harmonic example. Top: global thresholding. Middle: Otsu algorithm. Bottom: stat thresholding. Compare with the bottom row of Fig. 6

Fig. 19
figure 19

Results of edge detection using the 3D shearlet version on the spherical harmonic example. Top: global thresholding. Bottom: stat thresholding. Otsu results are unusable in this case. Compare with Fig. 7.

Results for the spherical harmonic example: Figs. 18 and 19

For comparison with Figs. 6 and 7, we applied our algorithms to the results for the spherical harmonic example. As seen in Figs. 18 and 19, the trends persist. The Otsu algorithm does not produce good results. The global algorithm allows too much noise. The stat algorithm is a little too conservative in declaring edges but produces good results.

4 Conclusion

We have developed 2D and 3D wavelet, shearlet, and hybrid combination based edge detection algorithms. Our investigation focused on combining edge detectors with different thresholding methods to improve the ability to differentiate image features from the background in the presence of noise. The value of a particular method is dependent on the nature of the problem being considered. For rigid stationary image features, the 2D and 3D methods perform equally well. When features change scale and orientation rapidly with a curvilinear description, the 3D shearlet method has been shown to perform better as seen in the visualization of the phantom and spherical harmonic examples. For dynamic image features that change location and orientation rapidly over time, 3D methods have a distinct advantage. Each 3D method incorporates significant horizontal, vertical, and time gradient information over a fixed window of neighboring image slices. Visually, this means that each edge image feature has additional thickness because neighboring directional gradients are accumulated. In terms of tracking, this feature is in fact beneficial. As the noise level increases, 2D methods do not account for the neighboring intensity changes and show a degraded performance.

The proposed 3D thresholding methods are efficient to implement so that they can be used as components to a tracking algorithm.

On average our stat method performed the best on most cases. For shaded stationary objects the wavelet methods combined with Otsu are adequate. However, for shaded dynamic image features, the 3D Shearlet detection combined with stat thresholding seemed to perform the best.