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

details NodeBase Class Reference VIGRA

#include <vigra/random_forest/rf_nodeproxy.hxx>

Inheritance diagram for NodeBase:
Node< e_ConstProbNode >

Public Member Functions

INT & child (Int32 l)
 
INT const & 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 (T_Container_type const &topology, P_Container_type const &parameter, INT n)
 
 NodeBase (int tLen, int pLen, T_Container_type const &topology, P_Container_type const &parameter, INT n)
 
 NodeBase (int tLen, int pLen, NodeBase &node)
 
 NodeBase (int tLen, int pLen, T_Container_type &topology, P_Container_type &parameter)
 
 NodeBase (NodeBase const &toCopy, T_Container_type &topology, P_Container_type &parameter)
 
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 ( )

Default Constructor

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 ( 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 ( int  tLen,
int  pLen,
NodeBase node 
)

create ReadOnly node with known length from existing Node

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

create new Node at end of vector

Parameters
tLennumber of integers needed in the topolog vector
pLennumber of parameters needed (this includes the node weight)
topologyreference to Topology array of decision tree.
parameterreference to Parameter array of decision tree.
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

double& weights ( )

get Node Weight

bool data ( ) const

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

INT& typeID ( )

get the node type id

See Also
NodeTags
INT& parameter_addr ( )

Where in the parameter_ array are the weights?

Topology_type column_data ( ) const

Column Range

Topology_type columns_begin ( ) const

get the start iterator to the columns

  • once again - throw out - static members are crap.
int columns_size ( ) const

how many columns?

Topology_type columns_end ( ) const

end iterator to the columns

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.

Parameter_type parameters_begin ( ) const

Parameter Range

INT& child ( Int32  l)

where are the child nodes?

INT const& child ( Int32  l) const

where are the child nodes?


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

© 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 (Fri May 19 2017)