SiGraph: sulcal graphs


labelsChanger.h
Go to the documentation of this file.
1
2#ifndef SI_LEARNER_LABELSCHANGER_H
3#define SI_LEARNER_LABELSCHANGER_H
4
5
6#include <si/learner/noiser.h>
7
8class Vertex;
9
10namespace sigraph
11{
12 class CliqueCache;
13
16 class LabelsChanger : public Noiser
17 {
18 public:
19 LabelsChanger() : Noiser( "labels_changer" ) {}
20 virtual ~LabelsChanger() {}
21
23 virtual double noise( Clique* cl, double & outp );
24 virtual double openNoise( Clique* cl, double & outp );
25 virtual double constrainedNoise( Clique* cl, double & outp,
26 const std::set<std::string> &
27 significantLabels,
28 const std::string & voidLabel );
30 template<class T> void intersection( const std::set<T> & s1,
31 const std::set<T> & s2,
32 std::set<T> & s3 ) const;
35 virtual unsigned randomGen( unsigned n );
36
38 virtual double distance( Vertex* v, const std::string & oldlabel,
39 const std::string & newlabel, CliqueCache* cc = 0 );
40
41 protected:
42 LabelsChanger( const std::string & syntax ) : Noiser( syntax ) {}
43
44 private:
45 };
46
47 // inline
48
49 inline double LabelsChanger::distance( Vertex*, const std::string &,
50 const std::string &, CliqueCache * )
51 {
52 return( 1. );
53 }
54
55}
56
57#endif
58
Classe fourre-tout qui stocke des résultats plus ou moins intermédiaires de calculs sur les cliques.
Definition cliqueCache.h:34
Classe Clique.
Definition clique.h:35
virtual double distance(Vertex *v, const std::string &oldlabel, const std::string &newlabel, CliqueCache *cc=0)
Distance de l'exemple changé à celui d'origine.
virtual double constrainedNoise(Clique *cl, double &outp, const std::set< std::string > &significantLabels, const std::string &voidLabel)
virtual unsigned randomGen(unsigned n)
Tirer un nombre entre 0 et n inclus, avec plus de chances pour les petits nombres.
LabelsChanger(const std::string &syntax)
void intersection(const std::set< T > &s1, const std::set< T > &s2, std::set< T > &s3) const
Intersection de sets.
virtual double noise(Clique *cl, double &outp)
virtual double openNoise(Clique *cl, double &outp)
Noiser(const std::string &syntax="noiser")