aimsalgo
5.1.2
Neuroimaging image processing
medfunc.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_ESTIMATION_MEDFUNC_H
36
#define AIMS_ESTIMATION_MEDFUNC_H
37
38
39
#include <cstdlib>
40
#include <
aims/config/aimsalgo_config.h
>
41
#include <
aims/estimation/m-func.h
>
42
#include <
aims/math/mathelem.h
>
43
44
45
//
46
// Median M-estimator function
47
//
48
class
MedFunc
:
public
MEstimatorFunc
49
{
50
public
:
51
MedFunc
() :
MEstimatorFunc
() { }
52
~MedFunc
() { }
53
54
float
norm
(
float
error )
const
;
55
float
influence
(
float
error )
const
;
56
float
weight
(
float
error )
const
;
57
};
58
59
60
inline
61
float
MedFunc::norm
(
float
error )
const
62
{
63
return
fabs( error );
64
}
65
66
67
inline
68
float
MedFunc::influence
(
float
error )
const
69
{
70
if
( error < 0 )
71
return
-1.0;
72
else
if
( error > 0 )
73
return
+1.0;
74
else
75
return
0.0;
76
}
77
78
79
inline
80
float
MedFunc::weight
(
float
error )
const
81
{
82
if
( error )
83
return
influence
( error ) / error;
84
else
85
return
1.0;
86
}
87
88
89
#endif
aimsalgo_config.h
MEstimatorFunc
Definition:
m-func.h:45
MedFunc
Definition:
medfunc.h:49
MedFunc::~MedFunc
~MedFunc()
Definition:
medfunc.h:52
MedFunc::norm
float norm(float error) const
Definition:
medfunc.h:61
MedFunc::influence
float influence(float error) const
Definition:
medfunc.h:68
MedFunc::weight
float weight(float error) const
Definition:
medfunc.h:80
MedFunc::MedFunc
MedFunc()
Definition:
medfunc.h:51
m-func.h
mathelem.h
aims
estimation
medfunc.h
Generated by
1.9.1