[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]

| NodeBase Class Reference |

`#include <vigra/random_forest/rf_nodeproxy.hxx>`

Inheritance diagram for NodeBase:

## Public Member Functions

INT & | child (Int32 l)
const INT & | child (Int32 l) const
Topology_type | column_data () const
Topology_type | columns_begin () const
Topology_type | columns_end () const
int | columns_size () const
bool | data () const
| NodeBase ()
| NodeBase (int tLen, int pLen, NodeBase &node)
| NodeBase (int tLen, int pLen, T_Container_type &topology, P_Container_type &parameter)
| NodeBase (int tLen, int pLen, T_Container_type const &topology, P_Container_type const &parameter, INT n)
| NodeBase (NodeBase const &toCopy, T_Container_type &topology, P_Container_type &parameter)
| NodeBase (T_Container_type const &topology, P_Container_type const &parameter, INT n)
INT & | parameter_addr ()
Parameter_type | parameters_begin () const
Topology_type | topology_begin () const
INT & | typeID ()
double & | weights ()

## Detailed Description

NodeBase class.

This class implements common features of all nodes. Memory Structure: Int32 Array: TypeID, ParameterAddr, Child0, Child1, [ColumnData]0_ double Array: NodeWeight, [Parameters]1_

TODO: Throw away the crappy iterators and use vigra::ArrayVectorView it is not like anybody else is going to use this NodeBase class is it?

TODO: use the RF_Traits::ProblemSpec_t to specify the external parameters instead of the options.

## Constructor & Destructor Documentation

## ◆ NodeBase() [1/6]

NodeBase | ( |  | ) |

Default Constructor

## ◆ NodeBase() [2/6]

NodeBase | ( | T_Container_type const & | topology,
|  | P_Container_type const & | parameter,
|  | INT | n
| ) |  |

create ReadOnly Base Node at position n (actual length is unknown) only common features i.e. children etc are accessible.

## ◆ NodeBase() [3/6]

NodeBase | ( | int | tLen,
|  | int | pLen,
|  | T_Container_type const & | topology,
|  | P_Container_type const & | parameter,
|  | INT | n
| ) |  |

create ReadOnly node with known length (the parameter range is valid)

## ◆ NodeBase() [4/6]

NodeBase | ( | int | tLen,
|  | int | pLen,
|  | NodeBase & | node
| ) |  |

create ReadOnly node with known length from existing Node

## ◆ NodeBase() [5/6]

NodeBase | ( | int | tLen,
|  | int | pLen,
|  | T_Container_type & | topology,
|  | P_Container_type & | parameter
| ) |  |

create new Node at end of vector

Parameters

  tLen | number of integers needed in the topolog vector
  pLen | number of parameters needed (this includes the node weight)
  topology | reference to Topology array of decision tree.
  parameter | reference to Parameter array of decision tree.

## ◆ NodeBase() [6/6]

NodeBase | ( | NodeBase const & | toCopy,
|  | T_Container_type & | topology,
|  | P_Container_type & | parameter
| ) |  |

PseudoCopy Constructor -

Copy Node to the end of a container. Since each Node views on different data there can't be a real copy constructor (unless both objects should point to the same underlying data.

## Member Function Documentation

## ◆ weights()

double& weights | ( |  | ) |

get Node Weight

## ◆ data()

bool data | ( |  | ) | const

has the data been set? todo: throw this out - bad design

## ◆ typeID()

INT& typeID | ( |  | ) |

get the node type id

See also
  NodeTags

## ◆ parameter_addr()

INT& parameter_addr | ( |  | ) |

Where in the parameter_ array are the weights?

## ◆ column_data()

Topology_type column_data | ( |  | ) | const

Column Range

## ◆ columns_begin()

Topology_type columns_begin | ( |  | ) | const

get the start iterator to the columns

- once again - throw out - static members are crap.

## ◆ columns_size()

int columns_size | ( |  | ) | const

how many columns?

## ◆ columns_end()

Topology_type columns_end | ( |  | ) | const

end iterator to the columns

## ◆ topology_begin()

Topology_type topology_begin | ( |  | ) | const

Topology Range - gives access to the raw Topo memory the size_ member was added as a result of premature optimisation.

## ◆ parameters_begin()

Parameter_type parameters_begin | ( |  | ) | const

Parameter Range

## ◆ child() [1/2]

INT& child | ( | Int32 | l | ) |

where are the child nodes?

## ◆ child() [2/2]

const INT& child | ( | Int32 | l | ) | const

where are the child nodes?

The documentation for this class was generated from the following file:

- vigra/random_forest/rf_nodeproxy.hxx

© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de) Heidelberg Collaboratory for Image Processing, University of Heidelberg, Germany | html generated using doxygen and Python vigra 1.11.1