Keywords

1 Introduction

Image segmentation can be interpreted as a graph partition problem subject to hard constraints, given by seed pixels selected in the image domain [2, 4, 10, 12, 14]. A common framework, sometimes referred to as Generalized Graph Cut (GGC) [6, 9], can roughly describe, in a unified manner, several seed-based methods, including Random Walker (RW) [14], shortest path/geodesic [13], voronoi diagram and Power Watershed (PW) [6]. In particular, the min-cut/max-flow algorithm, also known simply as Graph Cut (GC) [4, 5], and some methods by the Image Foresting Transform (IFT) framework [13], such as Watersheds [12] and Fuzzy Connectedness [10], correspond to the \(\varepsilon _1\)- and \(\varepsilon _{\infty }\)-minimization problems, respectively, within this framework [9]. The \(\varepsilon _{\infty }\)-minimization methods have linear-time implementations O(N) with respect to the image size N [8], or \(O(N \cdot log N)\) depending on the data structure of the priority queue, while the run time for the \(\varepsilon _1\)-minimization problem is \(O(N^{2.5})\) for sparse graphs [5].

Oriented Image Foresting Transform (OIFT) [17, 24] and Oriented Relative Fuzzy Connectedness (ORFC) [3] extend the \(\varepsilon _{\infty }\)-minimization problem to directed weighted graphs. OIFT’s energy formulation on digraphs makes it a very versatile method, supporting several high-level priors for object segmentation, including global properties such as connectedness [16, 19], shape constraints [18, 25] and boundary polarity [17, 24], which allow the customization of the segmentation to a given target object [15]. While the introduction of combinatorial graphs with directed edges on other frameworks increases considerably the complexity of the problem [27], OIFT and ORFC still run in linear time.

In this work, we present a formal definition and an algorithm to compute the cores of OIFT seeds, adding another unique feature to this method, since for most segmentation algorithms there are no known efficient ways for computing their cores. The cores [1] are the regions where seeds can be moved without altering the segmentation. The cores have several practical applications. In medical research, it is usually desirable to reduce inter- and intra-user variability in image segmentation. In this sense, the cores provide an analytic solution to measure the reproducibility of experiments. In this work, we propose the Robustness Coefficient to measure the seed robustness of the methods, allowing a quantitative analysis of this aspect.

The cores can also be used to solve an image segmentation inverse problem, that is, for a given segmented object how to find a set with minimum number of seeds that produces it [1]. This can be used to find a suitable set of seeds that assembles a given automatic segmentation result, in order to allow further changes in the seed set to repair the segmentation interactively [21, 22].

The cores can also be employed to build powerful hybrid image segmentation approaches [3, 11, 28]. For instance, Tavares et al. [28] proposed a hybrid method, denoted as \(ORFC_{Core}+GC\), which combines, the strengths of ORFC cores (robustness to the seed choice and low false-positive rate) and Graph Cut (smoother and more regular contours, thus, avoiding “leaking though poorly defined boundary segments”).

For the sake of completeness in presentation, Sect. 2 includes an overview of concepts on image graph and a revision of the methods ORFC and OIFT. Section 3 shows the proposed algorithm to compute the cores of OIFT seeds, In Sect. 4, we evaluate OIFT and other methods according to their Robustness Coefficient and state our conclusions.

2 Background

A digital image is a mapping \(I:\mathcal {I}\rightarrow {\mathbb {Z}}\), assigning an intensity I(s) to a pixel s, where \(\mathcal {I}\subset {\mathbb {Z}}^n\) is the image domain. An image can be interpreted as a weighted digraph \(G=\langle V, E, \omega \rangle \), whose nodes V are the image pixels (\(V = \mathcal {I}\)), the arcs are the ordered pixel pairs \(\langle s,t \rangle \in E\), and \( \omega : E\rightarrow {\mathbb {Z}}\) assigns a weight to each arc. For example, one can take E to consist of all pairs of ordered pixels \(\langle s,t \rangle \) in the Cartesian product \(\mathcal {I} \times \mathcal {I}\) such that the Euclidean distance \(d_{\text {euc}}(s,t) \le \rho \) and \(s\ne t\), where \(\rho \) is a specified constant (e.g., 4-neighborhood, when \(\rho =1\), and 8-neighborhood, when \(\rho =\sqrt{2}\), in case of 2D images). The transpose \(G^T = {\langle }V, E^T, \omega ^T {\rangle }\) of G is the unique digraph where \(E^T=\{{\langle }t,s{\rangle }:{\langle }s,t{\rangle }\in E\}\) and \(\omega ^T({\langle }s,t{\rangle }) = \omega ({\langle }t,s{\rangle })\). In this work, we consider G as a symmetric digraph, where \({\langle }s,t{\rangle }\in E \Rightarrow {\langle }t,s{\rangle }\in E\).

A path \({\pi _{s\leadsto t}=\langle s=t_1,t_2,\ldots ,t_n=t \rangle }\) is a sequence of adjacent and distinct nodes, where s stands for the origin and t for the terminus. \(\varPi _{s\leadsto t}\) is the set of all paths in G from s to t, \(\varPi _{t}= \bigcup _{s\in V}\varPi _{s\leadsto t}\) and \(\varPi =\bigcup _{t\in V}{\varPi _{t}}\). We use \(\varPi (G)\) to explicitly indicate all possible paths in a particular graph G. Let also \(\pi _{\mathcal S\leadsto t}\in \varPi _{\mathcal S\leadsto t}= \{\pi _{s\leadsto t}:s\in \mathcal S\}\), for any \(\mathcal {S}\subset V\). A path is trivial when \(\pi _t=\langle t \rangle \). A path \(\pi _t=\pi _s\cdot \langle s,t\rangle \) indicates the extension of a path \(\pi _s\) by an arc \( \langle s,t \rangle \). A predecessors map is a function \(P:V\rightarrow V\cup \{nil\}\) where \(\forall t\in V, P(t) = s\) where \(\langle s, t \rangle \in E\) or \(s=nil\). A spanning forest is a predecessors map without cycles. The roots of the forest are the nodes \(R^P = \{r\in V:P(r) = nil\} \). Let \(\pi _t^P\) be defined recursively as \({\langle }t{\rangle }\) if \(t\in R^P\), and \(\pi ^P_s\cdot {\langle }s,t{\rangle }\) if \(P(t) = s\). Let \(DCC_G(s)=\{t \in V:\exists \pi _{s\leadsto t}\in \varPi (G)\}\) be the Directed Connected Component of basepoint \(s\in V\), the set of all successors of s, and \(SCC_G(s) = \{t \in V:\exists \{\pi _{s\leadsto t},\pi _{t\leadsto s}\}\subseteq \varPi (G)\}\) the Strongly Connected Component of s, the set of nodes containing s where any two are connected by paths. We can relate DCC and SCC as: \(SCC_G(s) = \{t\in V:s\in DCC_G(t)\text { and } t\in DCC_G(s) \}\). A connectivity function \(f:\varPi \rightarrow {\mathbb {Z}}\) assigns a value to any path \(\pi \in \varPi \). A path \(\pi _t\) is optimum if \(f(\pi _t)\ge f(\pi '_t)\) for any other path \(\pi '_t\in \varPi _t\). We denote an optimum path for t as \(\pi ^*_t\). This generates the connectivity map \(C_{opt}:V\rightarrow {\mathbb {Z}}\) as \(C_{opt}(t) = f(\pi ^*_t)\).

Let \(\mathcal {X} = \{ \mathcal {O} : \mathcal {O} \subseteq V \}\) be the space of all possible binary segmented objects \(\mathcal {O}\). A seed-based segmentation uses seeds \(\mathcal {S}=\mathcal {S}_o\cup \mathcal {S}_b\subseteq V\), where \(\mathcal {S}_o\) and \(\mathcal {S}_b\) are object (\(\mathcal {S}_o\subseteq \mathcal {O}\)) and background (\(\mathcal {S}_b\subseteq V\setminus \mathcal {O}\)) seed sets, respectively. They restrict \(\mathcal {X}\) to \(\mathcal {X}(\mathcal {S}_o,\mathcal {S}_b)=\{\mathcal {O}\in \mathcal {X}:\mathcal {S}_o\subseteq \mathcal {O}\subseteq V\setminus \mathcal {S}_b\}\). A cut is defined as \(\mathcal {C}(\mathcal {O}) = \{{\langle }s,t{\rangle }\in E:s\in \mathcal {O} \text { and } t\notin {\mathcal {O}}\}\). We can associate an energy value \(\varepsilon (\mathcal {O})\) to an object (and its cut), and restrict the set of solutions to those which minimizes it. Let energy \(\varepsilon _q(\mathcal {O}) = (\sum _{{\langle }s,t{\rangle }\in \mathcal {C}(\mathcal {O})} \omega ({\langle }s,t{\rangle })^q)^\frac{1}{q}\). The original Graph Cut algorithm minimizes \( \varepsilon _1(\mathcal {O}) \), while ORFC and OIFT minimize \( \varepsilon _\infty (\mathcal {O}) = \max _{{\langle }s,t{\rangle }\in \mathcal {C}(\mathcal {O})}\omega ({\langle }s,t{\rangle }) \) [9], as presented next.

2.1 Oriented Image Foresting Transform (OIFT)

The Image Foresting Transform (IFT) [13] is an algorithm which takes a graph G, a connectivity function f and computes a connectivity map \(C:V\rightarrow {\mathbb {Z}}\) defined by a spanning forest P, as \(C(t) = f(\pi ^P_t)\), which converges to \(C_{opt}(t)=f(\pi ^*_t), \forall t \in V\), when f is a smooth connectivity function [13].

OIFT is a \(\varepsilon _\infty \)-minimization method [17, 24] build upon the IFT framework. It uses the connectivity function (Eq. 1) in a symmetric digraph.

(1)

The segmented object \(A_{OIFT}(\mathcal {S}_o,\mathcal {S}_b)\) by OIFT is defined from the forest P computed by IFT with , by taking as object all nodes conquered by paths rooted in \(\mathcal {S}_o\), that is, \(A_{OIFT}(\mathcal {S}_o,\mathcal {S}_b)=\{t\in V:\pi ^P_t\in \varPi _{\mathcal {S}_o\leadsto t}\}\). The optimality of \(A_{OIFT}(\mathcal {S}_o,\mathcal {S}_b)\) is given by the \(\varepsilon _\infty \)-minimization problem. Although ORFC (which is described in next section) and OIFT are methods from the same energy class, their outputs are usually different with distinct characteristics (Fig. 1).

Fig. 1.
figure 1

(a) Input image graph with \(\mathcal {S}_o = \{ s\}\) and \(\mathcal {S}_b = \{ t\}\). (b) ORFC result. (c) A candidate solution. (d) OIFT result. Note that all the three solutions have the same energy \( \varepsilon _\infty (\mathcal {O}) = 4\).

In order to explore the boundary orientation/polarity to resolve between very similar nearby boundary segments with opposite transitions (dark to bright/bright to dark), the weight \(\omega ({\langle }s,t{\rangle })\) can be defined as:

$$\begin{aligned} \omega ({\langle }s,t{\rangle })= & {} \left\{ \begin{array}{ll} \delta (s,t)\times (1-\alpha ) &{} \hbox { if}\ I(s) > I(t) \\ \delta (s,t)\times (1+\alpha ) &{} \hbox { if}\ I(s) < I(t)\\ \delta (s,t) &{} \text{ otherwise } \end{array}\right. \end{aligned}$$
(2)

where \(\alpha \in [-1,1]\) is an orientation factor and \(\delta (s,t)=\delta (t,s)\) is an undirected similarity measure (e.g., \(\delta (s,t) = K-|I(s)-I(t)|\), where K is a maximum intensity variation) [7, 23]. Note that we usually have \(\omega ({\langle }s,t{\rangle }) \ne \omega ({\langle }t,s{\rangle })\) when \(\alpha \ne 0\). For \(\alpha > 0\), the segmentation by OIFT favors transitions from bright to dark pixels, and \(\alpha < 0\) favors the opposite orientation.

2.2 Oriented Relative Fuzzy Connectedness (ORFC)

ORFC [3] is also a \(\varepsilon _\infty \)-minimizer, for arcs from object to background nodes. Let \(\varepsilon _{\infty }^{\downarrow }(\mathcal {S}_o,\mathcal {S}_b) = \min _{\mathcal {O}\in \mathcal {X}(\mathcal {S}_o,\mathcal {S}_b)}\{\varepsilon _\infty (\mathcal {O})\}\) and \(\mathcal {X}_\infty ^\downarrow (\mathcal {S}_o,\mathcal {S}_b) = \{\mathcal {O} \in \mathcal {X}(\mathcal {S}_o,\mathcal {S}_b):\varepsilon _\infty (\mathcal {O}) = \varepsilon _\infty ^\downarrow (\mathcal {S}_o,\mathcal {S}_b) \}\). For the seeds \(\mathcal {S}_o\) and \(\mathcal {S}_b\), \(A_{ORFC}\) is defined as follows:

$$\begin{aligned} \begin{aligned} A_{ORFC}(\mathcal {S}_o,\mathcal {S}_b) = \left[ \bigcup _{s_i\in \mathcal {S}_o}A_{ORFC}(\{s_i\},\mathcal {S}_b)\right] , A_{ORFC}(\{s_i\},\mathcal {S}_b) = \mathop {\text {arg min}}_{\mathcal {O}\in \mathcal {X}_\infty ^\downarrow (\{s_i\},\mathcal {S}_b)}{|\mathcal {O}|} \end{aligned}\nonumber \\ \end{aligned}$$
(3)

\(A_{ORFC}\) uses a connectivity function \(f_{\min }^{\longleftarrow }\) (Eq. 4), a smooth function which processes reversal (antiparallel) arcs. RFC is a particular case of ORFC when \(\alpha =0\). Algorithm 1 computes the ORFC segmentation in a symmetric digraph, where \(C_{opt}(s_i) = \varepsilon _{\infty }^{\downarrow }(\{ s_i \}, \mathcal {S}_b)\) (see Lemma 1 from Bejar and Miranda [3]).

$$\begin{aligned} f_{\min }^{\longleftarrow }({\langle }t{\rangle }) = {\left\{ \begin{array}{ll} \infty &{} \text {if } t\in \mathcal {S}_b\\ -\infty &{} \text {otherwise} \end{array}\right. }&f_{\min }^{\longleftarrow }(\pi _{r\leadsto s}\cdot {\langle }s,t{\rangle }) = \min \{f_{\min }^{\longleftarrow }(\pi _{r\leadsto s}),\omega ({\langle }t,s {\rangle })\} \end{aligned}$$
(4)
figure a

3 Seed Robustness Analysis of OIFT

Without loss of generality, we will constrain the analysis of robustness only to internal seeds, being the external seeds a completely symmetric problem. In order to define the concept of core, we must introduce the notion of seed equivalence.

Definition 1

(Equivalent seeds) . Two internal seeds \(s_1\) and \(s_2\) are said equivalent if they separately produce the same result. That is, for the given external seed set \(\mathcal {S}_b\), we have that \(A(\{s_1\},\mathcal {S}_b)=A(\{s_2\},\mathcal {S}_b)\).

The notion of equivalent seeds introduced by Definition 1 is a binary relation \(\equiv \) on the set of object nodes \(A(\mathcal {S}_o,\mathcal {S}_b)\), i.e., \(s_1\equiv s_2\) if and only if \(s_1\) and \(s_2\) are equivalent. This relation is reflexive, symmetric and transitive, hence, it is indeed an equivalence relation as defined in mathematics. Therefore, the core of a seed \(s_1\) is in fact the equivalence class of \(s_1\) under \(\equiv \), denoted \(\left[ s_1\right] \), which is defined as \(\left[ s_1\right] = \{t\in A(\{s_1\},\mathcal {S}_b):s_1\equiv t\}\). We use the notation \(\mathcal {N}(\{s_1\},\mathcal {S}_b)=\left[ s_1\right] \) to indicate the core of \(s_1\) by algorithm A, and we consider \(\mathcal {N}(\mathcal {S}_o,\mathcal {S}_b)=\bigcup _{s_i \in \mathcal {S}_o} \mathcal {N}(\{s_i\}, \mathcal {S}_b)\).

Algorithm 2 computes the cores \(\mathcal {N}_{ORFC}(\mathcal {S}_o, \mathcal {S}_b)\) of ORFC in linear time, as proposed by Tavares et al. [28], by applying the Tarjan’s algorithm in a proper subgraph derived from G, where each core \(\mathcal {N}_{ORFC}(\{s_i\}, \mathcal {S}_b)\), \(s_i \in \mathcal {S}_o\), corresponds to a SCC.

figure b

From the theoretical relations presented in [28], we know that, for any \(s_i \in \mathcal {S}_o\), \(\mathcal {N}_{ORFC}(\{s_i\}, \mathcal {S}_b) \subseteq \mathcal {N}_{OIFT}(\{s_i\}, \mathcal {S}_b)\). If a pixel \(s_1\) is equivalent to a pixel \(s_2\) for the OIFT algorithm (i.e., \(s_1 \overset{\mathrm {oift}}{\equiv } s_2\)), and they belong to different ORFC cores (i.e., \(\mathcal {N}_{ORFC}(\{s_1\}, \mathcal {S}_b) \ne \mathcal {N}_{ORFC}(\{s_2\}, \mathcal {S}_b)\)), then by transitivity we have that \(c \overset{\mathrm {oift}}{\equiv } d\) for any \(c \in \mathcal {N}_{ORFC}(\{s_1\}, \mathcal {S}_b)\) and \(d \in \mathcal {N}_{ORFC}(\{s_2\}, \mathcal {S}_b)\). This observation allows us to drastically reduce the complexity of the OIFT core computation, allowing us to work in a Region Adjacency Graph (RAG), composed by the ORFC cores that can be fast computed, rather than working at the pixel level.

Since \(\mathcal {N}_{OIFT}(\mathcal {S}_o, \mathcal {S}_b) \subseteq A_{OIFT}(\mathcal {S}_o,\mathcal {S}_b)\), we first compute \(A_{OIFT}(\mathcal {S}_o,\mathcal {S}_b)\), then we compute all the ORFC cores inside the OIFT segmentation \(A_{OIFT}(\mathcal {S}_o,\mathcal {S}_b)\). Figure 2 illustrates one example, showing all the ORFC cores inside the object for a given image graph (Fig. 2i). Figure 3a shows the resulting RAG, with a node for each ORFC core and one external node x for the background. The arc weights of the RAG are selected as the highest arc values interconnecting their regions.

Fig. 2.
figure 2

(a–d) Results of ORFC, where \(\omega ({\langle }s,t{\rangle }) = 10\) for non-contour edges, with a fixed external seed and an internal seed in different places, (e–h) OIFT results for different internal seeds, (i) ORFC cores and (j) OIFT cores. (Color figure online)

The proposed algorithm to compute the OIFT cores uses a disjoint-set data structure. Initially, each RAG node is its own representative. For each pair \({\langle }c,d{\rangle }\), \(c\ne x\) and \(d \ne x\), of neighboring nodes in the RAG an equivalence test is performed and if the test is satisfied they are joined (union operation). The value \(C_{c}(d) = f(\pi ^*_d)\) of an optimum path \(\pi ^*_d\) by the connectivity function \(f_{\min }^{\longleftarrow }\) (Eq. 4) is computed in the induced subgraph \(G[V \setminus \{c\}]\) from x to d (Fig. 3b). Similarly we also compute \(C_{d}(c) = f(\pi ^*_c)\) as the value of an optimum path \(\pi ^*_c\) for \(f=f_{\min }^{\longleftarrow }\) in the induced subgraph \(G[V \setminus \{d\}]\) from x to c (Fig. 3c). If \(\omega ({\langle }c,d {\rangle }) > C_{c}(d)\) and \(\omega ({\langle }d,c {\rangle }) > C_{d}(c)\) we can conclude that \(c \overset{\mathrm {oift}}{\equiv } d\) and we perform their union operation (Fig. 3d).

In order to understand the equivalence test performed in RAG, we need to know the following property that distinguishes OIFT from ORFC. From Fig. 1, we can note that in the case of multiple solutions with the same energy, the OIFT result gives preference to boundary pieces with lower energy values. For example, between the border segments with outgoing arcs with values 3 and 2, from Fig. 1c and d, OIFT selects the one with the lowest value in Fig. 1d. This result can be verified theoretically by a proof similar to Theorem 2 (Piecewise optimum property) in [20]. In the equivalence test, \(\omega ({\langle }c,d {\rangle })\) and \(C_{c}(d)\) essentially represent the energies of two boundary pieces. Since OIFT gives preference to lower energy values, \(\omega ({\langle }c,d {\rangle }) > C_{c}(d)\) implies that a OIFT segmentation from a seed in c would conquer d, and \(\omega ({\langle }d,c {\rangle }) > C_{d}(c)\) implies that d would conquer c leading to equivalent seeds. Figure 2j shows the resulting OIFT cores at the pixel level derived from the RAG in Fig. 3d.

Since we have to evaluate the equivalence test, and consequently \(C_{c}(d)\), for all arcs \({\langle }c,d{\rangle }\) in the RAG, the final complexity of the algorithm becomes \(O(|V|^2 + |E|\cdot |V|)\), where \(|V|\) and \(|E|\) are the number of nodes and arcs in the RAG. Note that to compute the maps \(C_{c}\) for all \(c \in V\) requires \(|V|\) IFT’s executions and each IFT takes \(O(|V| + |E|)\). In practice, the algorithm is fast, because the RAG has a small number of nodes compared to the image graph.

Fig. 3.
figure 3

(a) Region Adjacency Graph (RAG), composed by the ORFC cores from Fig. 2(b and c). The equivalence test: (b) \(\omega ({\langle }c,d {\rangle }) = 7 > C_{c}(d) = 6\), where the values inside the nodes indicate the \(C_{c}\) values, and (c) \(\omega ({\langle }d,c {\rangle }) = 6 > C_{d}(c) = 1\), where the values inside the nodes indicate \(C_{d}\) values. (d) The union operation.

4 Experimental Results and Conclusions

Figures 4567 and 8 show examples of the incremental computation of the cores by OIFT, from the ORFC cores, for a variety of real images. Next we define a measure to evaluate the robustness of the methods in relation to the seed positioning.

Fig. 4.
figure 4

A brain image from the BrainWeb - simulated brain database. (a) ORFC segmentation with RC = 99.95%. (b) OIFT segmentation with RC = 96.23%. (c) ORFC cores inside OIFT mask. (d) OIFT cores.

Fig. 5.
figure 5

Image of a license plate. (a) ORFC segmentation with RC = 97.89%. (b) OIFT segmentation with RC = 89.06%. (c) ORFC cores inside OIFT mask. (d) OIFT cores.

Fig. 6.
figure 6

MR image of a talus bone with good boundary contrast. (a) ORFC segmentation with RC = 98.60%. (b) OIFT segmentation with RC = 96.01%. (c) ORFC cores inside OIFT mask. (d) OIFT cores.

Fig. 7.
figure 7

MR image of a talus bone with poor boundary contrast. (a) ORFC segmentation with RC = 58.87%. (b) Effect of placing the seed outside its core. (c) OIFT segmentation with RC = 52.04%. (d) Effect of placing the seed outside its core. (e) ORFC cores inside the OIFT mask. (f) OIFT cores.

For a given segmentation algorithm \(A(\mathcal {S}_o,\mathcal {S}_b)\) with cores given by \(\mathcal {N}(\mathcal {S}_o,\mathcal {S}_b)\), the Robustness Coefficient (RC) is defined as:

$$\begin{aligned} RC = \frac{|\mathcal {N}(\mathcal {S}_o,\mathcal {S}_b) |}{|A(\mathcal {S}_o,\mathcal {S}_b) |} \end{aligned}$$
(5)

RC provides an analytic solution to measure the reproducibility of experiments. The higher the RC value, the lower is the sensitivity of the method in relation to inter- and intra-user variability in image segmentation. Note that a high RC value does not imply that the method has a high accuracy, the RC measure only evaluates how easy it is to reproduce the same segmentation, regardless of its accuracy. In this sense, it is a complementary measure to traditional accuracy measures.

Fig. 8.
figure 8

An MR image of a wrist with two seed pixels selected inside the bone. (a) ORFC segmentation with RC = 99.17%. (b) OIFT segmentation with RC = 95.40%. (c) ORFC cores inside the OIFT mask. (d) OIFT cores.

In the experiments, we used 40 slice images from real MR images of the foot, to perform the segmentation of the bones talus and calcaneus, and 40 slice images from CT cervical spine studies of 10 subjects to segment the spinal-vertebra. We used different seed sets automatically obtained by eroding and dilating the ground truth at different radius values. By varying the radius value, we can compute a segmentation for different seed sets and trace accuracy curves, using the Dice coefficient of similarity, and curves of the robustness coefficient. However, in order to generate a more challenging situation, we considered a larger radius of dilation for the external seeds (twice the value of the inner radius), resulting in an asymmetrical arrangement of seeds.

In order to show the robustness coefficient, we considered in the evaluation only methods with known procedure to compute their cores: IRFC [10], RFC [26], OIFT [17], ORFC [3], or at least with a good lower bound estimation of their cores: \(RFC+GC\) [11], \(ORFC+GC\) [3], and \(ORFC_{Core}+GC\) [28]. For \(RFC+GC\) we considered \(RC = \frac{|\mathcal {N}_{RFC}(\mathcal {S}_o,\mathcal {S}_b) |}{|A_{RFC+GC}(\mathcal {S}_o,\mathcal {S}_b) |}\), \(RC = \frac{|\mathcal {N}_{ORFC}(\mathcal {S}_o,\mathcal {S}_b) |}{|A_{ORFC+GC}(\mathcal {S}_o,\mathcal {S}_b) |}\) for \(ORFC+GC\), and \(RC = \frac{|\mathcal {N}_{ORFC}(\mathcal {S}_o,\mathcal {S}_b) |}{|A_{ORFC_{Core}+GC}(\mathcal {S}_o,\mathcal {S}_b) |}\) for \(ORFC_{Core}+GC\).

In the quantitative experiments, we adopted the weight assignment \(\delta (a,b)=K-|G(a)+G(b)|\), where G(a) denotes the gradient magnitude of the Sobel operator. For approaches based on directed graphs, we used \(\alpha =-0.5\), for the foot bones (transitions from dark to bright pixels) and \(\alpha =0.5\) for the spinal-vertebra; and \(\alpha =0.0\) in the case of undirected approaches.

Fig. 9.
figure 9

The mean robustness coefficient curves and the mean accuracy curves (Dice coefficient), using non-equally eroded-dilated seeds, for segmenting: (a–b) talus, (c–d) calcaneus, and (e–f) spinal-vertebra.

Figure 9 shows the experimental results. Note that the robustness coefficient of RFC is always 100%, since \(\mathcal {N}_{RFC}(\mathcal {S}_o,\mathcal {S}_b) = A_{RFC}(\mathcal {S}_o,\mathcal {S}_b)\) [26]. For the bones datasets, with respect to the Dice measure, OIFT is among the first three methods, losing only to the hybrid methods \(ORFC+GC\) and \(ORFC_{Core}+GC\). However, with respect to the robustness coefficient, OIFT usually gives better results than \(ORFC+GC\) and \(ORFC_{Core}+GC\), losing only to RFC and ORFC. For the spinal-vertebra, the Dice values of all methods decrease rapidly because the object has thin parts and the erosion process rapidly eliminates seeds in several important regions of the object. OIFT has the best Dice values for the spinal-vertebra, and the third best robustness coefficient. So we can conclude that OIFT has a good balance between accuracy and robustness.

As future works, we intend to explore the cores of OIFT to solve the inverse problem of image segmentation, in order to allow the user to interactively perform corrections on any segmentation mask.