SiGraph: sulcal graphs


ranksDimreductor.h
Go to the documentation of this file.
1
2#ifndef SI_FS_RANKSFS_H
3#define SI_FS_RANKSFS_H
4
6#include <assert.h>
7
8
9namespace sigraph
10{
11
16{
17 public:
18 RanksDimReductor(std::vector<int> &ranks, int selected);
19 RanksDimReductor(const RanksDimReductor &dimreductor);
21
22 virtual DimReductor* clone() const;
24
25 virtual const std::string typeName() const
26 { return( "ranks_dimreductor" ); }
27
28 virtual unsigned int reducedDim() const;
29 virtual void transform(const std::vector<double> &src,
30 std::vector<double> &dst) const;
31
32 virtual void buildTree(Tree &tr) const;
33 const std::vector<int>& getRanks(void) const;
34 int getSelected(void) const;
35 std::string getMode(void) const;
36
37 protected:
38 std::vector<int> _ranks;
40 private:
41};
42
43
44// inline
46 (std::vector<int> &ranks, int selected) :
47 DimReductor(), _ranks(ranks), _selected(selected) {}
48
50 (const RanksDimReductor &dimreductor) : DimReductor(),
51 _ranks(dimreductor._ranks), _selected(dimreductor._selected) {}
52
53
54
56{
57 return (new RanksDimReductor(*this));
58}
59
60inline RanksDimReductor &
62{
63 if (this != &d)
64 {
66 _ranks = d._ranks;
68 }
69 return (*this);
70}
71
72inline const std::vector<int>& RanksDimReductor::getRanks(void) const
73{ return _ranks; }
74
75inline int RanksDimReductor::getSelected(void) const { return _selected; }
76
77inline unsigned int RanksDimReductor::reducedDim() const
78{
79 return (unsigned int ) _selected;
80}
81
82inline void RanksDimReductor::transform(const std::vector<double> &src,
83 std::vector<double> &dst) const
84{
85 assert(src.size() == (unsigned int) _ranks.size());
86 assert(dst.size() == (unsigned int) _selected);
87
88 for (unsigned int i = 0; i < (unsigned int) _selected; ++i)
89 dst[i] = src[_ranks[i]];
90}
91}
92
93#endif
94
DimReductor & operator=(const DimReductor &)
Definition dimreductor.h:46
Ranks Feature Selector.
virtual void transform(const std::vector< double > &src, std::vector< double > &dst) const
RanksDimReductor(std::vector< int > &ranks, int selected)
virtual const std::string typeName() const
virtual DimReductor * clone() const
std::string getMode(void) const
virtual unsigned int reducedDim() const
virtual void buildTree(Tree &tr) const
RanksDimReductor & operator=(const RanksDimReductor &dimreductor)
std::vector< int > _ranks
const std::vector< int > & getRanks(void) const