Xmipp  v3.23.11-Nereus
morphology.h
Go to the documentation of this file.
1 /***************************************************************************
2  *
3  * Authors: Carlos Oscar S. Sorzano (coss@cnb.csic.es)
4  * Pedro A. de Alarc�n (pedro@cnb.csic.es)
5  *
6  * Unidad de Bioinformatica of Centro Nacional de Biotecnologia , CSIC
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
21  * 02111-1307 USA
22  *
23  * All comments concerning this program package may be sent to the
24  * e-mail address 'xmipp@cnb.csic.es'
25  ***************************************************************************/
26 #ifndef _CORE_XMIPP_MORPHOLOGY_HH
27 #define _CORE_XMIPP_MORPHOLOGY_HH
28 
29 #include <core/multidim_array.h>
30 
33 
34 
55 void dilate2D(const MultidimArray<double> &in, MultidimArray<double> &out, int neig,
56  int count, int size);
59 void erode2D(const MultidimArray<double> &in, MultidimArray<double> &out, int neig,
60  int count, int size);
62 void closing2D(const MultidimArray<double> &in, MultidimArray<double> &out, int neig,
63  int count, int size);
65 void opening2D(const MultidimArray<double> &in, MultidimArray<double> &out, int neig,
66  int count, int size);
74  MultidimArray<double> &simplified_border);
75 
81  long N = 100);
83 
98 void dilate3D(const MultidimArray<double> &in, MultidimArray<double> &out, int neig,
99  int count, int size);
102 void erode3D(const MultidimArray<double> &in, MultidimArray<double> &out, int neig,
103  int count, int size);
105 void closing3D(const MultidimArray<double> &in, MultidimArray<double> &out, int neig,
106  int count, int size);
108 void opening3D(const MultidimArray<double> &in, MultidimArray<double> &out, int neig,
109  int count, int size);
110 
113 void dilate3D(const MultidimArray<double> &in,
114  const MultidimArray<double> &structuringElement,
115  MultidimArray<double> &out);
116 
119 void erode3D(const MultidimArray<double> &in,
120  const MultidimArray<double> &structuringElement,
121  MultidimArray<double> &out);
122 
129 void sharpening(const MultidimArray<double> &in, double width, double strength,
130  MultidimArray<double> &out);
132 
133 #endif
void erode3D(const MultidimArray< double > &in, MultidimArray< double > &out, int neig, int count, int size)
Definition: morphology.cpp:407
void border(const MultidimArray< double > &img, MultidimArray< double > &border)
Definition: morphology.cpp:167
void random_convex_hull(const MultidimArray< double > &img, MultidimArray< double > &hull, long N=100)
Definition: morphology.cpp:241
void opening2D(const MultidimArray< double > &in, MultidimArray< double > &out, int neig, int count, int size)
Definition: morphology.cpp:148
void opening3D(const MultidimArray< double > &in, MultidimArray< double > &out, int neig, int count, int size)
Definition: morphology.cpp:440
void closing3D(const MultidimArray< double > &in, MultidimArray< double > &out, int neig, int count, int size)
Definition: morphology.cpp:422
void erode2D(const MultidimArray< double > &in, MultidimArray< double > &out, int neig, int count, int size)
Definition: morphology.cpp:116
int in
void closing2D(const MultidimArray< double > &in, MultidimArray< double > &out, int neig, int count, int size)
Definition: morphology.cpp:130
void dilate3D(const MultidimArray< double > &in, MultidimArray< double > &out, int neig, int count, int size)
Definition: morphology.cpp:394
void sharpening(const MultidimArray< double > &in, double width, double strength, MultidimArray< double > &out)
Definition: morphology.cpp:522
void dilate2D(const MultidimArray< double > &in, MultidimArray< double > &out, int neig, int count, int size)
Definition: morphology.cpp:103
void simplify_border(const MultidimArray< double > &border, MultidimArray< double > &simplified_border)
Definition: morphology.cpp:196