SMIL  1.0.4
DStochasticWS.h
1 /*
2  * __HEAD__
3  * Copyright (c) 2011-2016, Matthieu FAESSEL and ARMINES
4  * Copyright (c) 2017-2023, Centre de Morphologie Mathematique
5  * All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions are met:
9  *
10  * * Redistributions of source code must retain the above copyright
11  * notice, this list of conditions and the following disclaimer.
12  * * Redistributions in binary form must reproduce the above copyright
13  * notice, this list of conditions and the following disclaimer in the
14  * documentation and/or other materials provided with the distribution.
15  * * Neither the name of Matthieu FAESSEL, or ARMINES nor the
16  * names of its contributors may be used to endorse or promote products
17  * derived from this software without specific prior written permission.
18  *
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
20  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS BE
23  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
29  * THE POSSIBILITY OF SUCH DAMAGE.
30  *
31  * Description :
32  * This file does... some very complex morphological operation...
33  *
34  * History :
35  * - XX/XX/XXXX - by Joe.Denver
36  * Just created it...
37  * - XX/XX/XXXX - by Joe.Denver
38  * Modified something
39  *
40  * __HEAD__ - Stop here !
41  */
42 
43 
44 #ifndef _DSTOCHASTICWS_H_
45 #define _DSTOCHASTICWS_H_
46 
47 #include "Core/include/DCore.h"
48 #include "Morpho/include/DMorpho.h"
49 
50 namespace smil
51 {
71  template <class labelT, class T>
73  const Image<T> &gradient, Image<labelT> &out,
74  const size_t &n_seeds, const StrElt &se);
75 
85  template <class labelT, class T>
86  void stochasticWatershed(const Image<labelT> &primary,
87  const Image<T> &gradient, Image<labelT> &out,
88  const size_t &n_seeds, const StrElt &se);
89 
100  template <class labelT, class T>
102  const Image<T> &gradient,
103  Image<labelT> &out, const size_t &n_seeds,
104  const double &t0, const StrElt &se);
105 
116  template <class labelT, class T>
117  size_t stochasticFlatZones(const Image<labelT> &primary,
118  const Image<T> &gradient, Image<labelT> &out,
119  const size_t &n_seeds, const double &t0,
120  const StrElt &se);
121 
132  template <class labelT, class T>
134  const Image<T> &gradient,
135  Image<labelT> &out, const size_t &n_seeds,
136  const double &r0, const StrElt &se);
137 
140 } // namespace smil
141 
143 #include "private/DStochasticWatershed.hpp"
146 #endif // _DSTOCHASTICWS_H_
147 
Base structuring element.
Definition: DStructuringElement.h:68
void stochasticWatershedParallel(const Image< labelT > &primary, const Image< T > &gradient, Image< labelT > &out, const size_t &n_seeds, const StrElt &se)
stochasticWatershedParallel
size_t stochasticFlatZonesParallel(const Image< labelT > &primary, const Image< T > &gradient, Image< labelT > &out, const size_t &n_seeds, const double &t0, const StrElt &se)
stochasticFlatZonesParallel
size_t stochasticFlatZones(const Image< labelT > &primary, const Image< T > &gradient, Image< labelT > &out, const size_t &n_seeds, const double &t0, const StrElt &se)
Over Segmentation Correction.
size_t overSegmentationCorrection(const Image< labelT > &primary, const Image< T > &gradient, Image< labelT > &out, const size_t &n_seeds, const double &r0, const StrElt &se)
Over Segmentation Correction.
void stochasticWatershed(const Image< labelT > &primary, const Image< T > &gradient, Image< labelT > &out, const size_t &n_seeds, const StrElt &se)
stochasticWatershed
RES_T gradient(const Image< T > &imIn, Image< T > &imOut, const StrElt &se=DEFAULT_SE)
gradient() - Morphological gradient
Definition: DMorphoResidues.hpp:62