10 #define PND_SOM_NODE_H
18 #define PRINT_PND_SOM_NODE_DEBUG 0
38 explicit PndSomNode(std::vector<float>
const& weight);
45 PndSomNode( std::string
const& label, std::vector<float>
const& weight);
55 PndSomNode(
int lft,
int top,
int rgt,
int bot,
size_t WeightsDim = 0);
66 PndSomNode(
int lft,
int top,
int rgt,
int bot,
size_t WeightsDim,
67 std::string
const& label);
79 std::string
const& label, std::vector<float>
const& weight);
107 inline int GetTop()
const;
108 inline void SetTop(
int val);
122 inline std::string
const&
GetLabel()
const;
123 inline void SetLabel(std::string
const& val);
129 inline std::vector<float>
const&
GetWeight()
const;
135 void SetWeight(std::vector<float>
const& val);
141 void SetNeighbours(std::vector< std::pair<size_t, double> >
const& val);
147 inline std::vector< std::pair<size_t, double> >
const&
GetNeighbours()
const;
154 inline void SetXPos(
double xp);
157 inline void SetYPos(
double yp);
175 void SetLabelMap(std::map<std::string, size_t>
const &val);
176 std::map<std::string, size_t>
const&
GetLabelMap()
const;
181 #if (PRINT_PND_SOM_NODE_DEBUG > 0)
182 void PrintNode()
const;
197 double LearningRate,
double Influence);
322 #endif// End of interface
size_t GetNodeDimension() const
std::vector< float > m_Weights
std::vector< float > const & GetWeight() const
std::vector< size_t > const & GetRespoList() const
std::map< std::string, size_t > const & GetLabelMap() const
void AddToRespList(size_t idx)
Double_t val[nBoxes][nFEBox]
PndSomNode & operator=(PndSomNode const &oth)
void SetLabelMap(std::map< std::string, size_t > const &val)
void SetNeighbours(std::vector< std::pair< size_t, double > > const &val)
void SetWeight(std::vector< float > const &val)
std::vector< std::pair< size_t, double > > m_NeighbourList
void SetRespList(std::vector< size_t > const &val)
void ClearInternalStructures()
void SetLabel(std::string const &val)
std::vector< size_t > m_RespNodeIndex
std::map< std::string, size_t > m_labelCnts
void AdjustWeights(std::vector< double > const &target, double LearningRate, double Influence)
void SetNodeDimension(size_t val)
std::string const & GetLabel() const
std::vector< std::pair< size_t, double > > const & GetNeighbours() const