aimsalgo
5.0.5
Neuroimaging image processing
selforganizingmap.h
Go to the documentation of this file.
1
/* This software and supporting documentation are distributed by
2
* Institut Federatif de Recherche 49
3
* CEA/NeuroSpin, Batiment 145,
4
* 91191 Gif-sur-Yvette cedex
5
* France
6
*
7
* This software is governed by the CeCILL-B license under
8
* French law and abiding by the rules of distribution of free software.
9
* You can use, modify and/or redistribute the software under the
10
* terms of the CeCILL-B license as circulated by CEA, CNRS
11
* and INRIA at the following URL "http://www.cecill.info".
12
*
13
* As a counterpart to the access to the source code and rights to copy,
14
* modify and redistribute granted by the license, users are provided only
15
* with a limited warranty and the software's author, the holder of the
16
* economic rights, and the successive licensors have only limited
17
* liability.
18
*
19
* In this respect, the user's attention is drawn to the risks associated
20
* with loading, using, modifying and/or developing or reproducing the
21
* software by the user in light of its specific status of free software,
22
* that may mean that it is complicated to manipulate, and that also
23
* therefore means that it is reserved for developers and experienced
24
* professionals having in-depth computer knowledge. Users are therefore
25
* encouraged to load and test the software's suitability as regards their
26
* requirements in conditions enabling the security of their systems and/or
27
* data to be ensured and, more generally, to use and operate it in the
28
* same conditions as regards security.
29
*
30
* The fact that you are presently reading this means that you have had
31
* knowledge of the CeCILL-B license and that you accept its terms.
32
*/
33
34
35
#ifndef AIMS_NEURALNET_SELFORGANIZINGMAP_H
36
#define AIMS_NEURALNET_SELFORGANIZINGMAP_H
37
38
template
<
class
T>
class
AimsData
;
39
template
<
class
T,
int
D>
class
AimsVector
;
40
41
#include <
aims/config/aimsalgo_config.h
>
42
#include <string>
43
46
class
AIMSALGO_API
AimsSelfOrganizingMap
47
{
protected
:
50
int
_size;
53
int
_nInputs
;
55
int
_counter
;
57
float
_learningRate
;
59
AimsData<float>
*
_weight
;
61
64
AimsVector<short,2>
winner(
const
AimsData<float>
&input);
72
void
update(
const
AimsData<float>
&input,
float
learn,
int
delta);
74
75
public
:
83
AimsSelfOrganizingMap
(
int
size,
int
ninputs,
float
learningrate);
88
AimsSelfOrganizingMap
(
const
AimsData<float>
&weight,
float
learningrate);
90
virtual
~
AimsSelfOrganizingMap
();
92
95
int
size()
const
;
98
int
nInputs()
const
;
100
int
counter()
const
;
102
float
learningRate()
const
;
104
void
setLearningRate(
float
learningrate);
105
112
void
learn(
const
AimsData<float>
&base,
int
counter);
120
AimsData< AimsVector<short,2>
> test(
const
AimsData<float>
&base);
121
123
void
save(
const
std::string &filename);
125
};
126
127
128
#endif
AimsVector
Definition:
m-estimator.h:41
AimsSelfOrganizingMap::_nInputs
int _nInputs
Number of inputs.
Definition:
selforganizingmap.h:53
AimsSelfOrganizingMap::_weight
AimsData< float > * _weight
Weights data.
Definition:
selforganizingmap.h:59
aimsalgo_config.h
AimsSelfOrganizingMap
The class for Kohonen's self organizing maps.
Definition:
selforganizingmap.h:46
AimsData
Definition:
chamfer.h:38
AimsSelfOrganizingMap::_counter
int _counter
Number of iterations.
Definition:
selforganizingmap.h:55
AimsSelfOrganizingMap::_learningRate
float _learningRate
Learning rate.
Definition:
selforganizingmap.h:57
AIMSALGO_API
#define AIMSALGO_API
Definition:
aimsalgo_config.h:47
aims
neuralnet
selforganizingmap.h
Generated by
1.8.13