Home || Architecture || Video Search || Visual Search || Scripts || Applications || Important Messages || OGL || Src

RandomTree* Impala::Core::Feature::Read ( RandomTreeTable *  table,
int &  index 
)

Call with valid table and the index of the position in the tree where the tree starts (0 for example).

When the function returns index point to the part of the table after this tree. So to retrieve all trees in the table, keep reading RandomTrees from it untill index == Size().

Definition at line 174 of file RandomTree.h.

References Impala::Core::Table::TableTem< Col1T, Col2T, Col3T, Col4T, Col5T, Col6T, Col7T, Col8T, Col9T >::Get1(), Impala::Core::Table::TableTem< Col1T, Col2T, Col3T, Col4T, Col5T, Col6T, Col7T, Col8T, Col9T >::Get2(), Impala::Core::Table::TableTem< Col1T, Col2T, Col3T, Col4T, Col5T, Col6T, Col7T, Col8T, Col9T >::Get3(), ILOG_ERROR, ILOG_VAR, and Impala::Core::Table::Table::Size().

Referenced by Impala::Core::Feature::FeatureTable::MakeFromFile(), ReadRandomForest(), Impala::Core::Feature::InterestPointFeature::SetCodebook(), and Impala::Core::Feature::TestRandomTree::testReadWrite().

00175 {
00176     ILOG_VAR(Impala.Core.Feature.RandomTree.Read);
00177     if(index > table->Size())
00178         ILOG_ERROR("parse error in Read(RandomTreeTable*,int)");
00179     int word = table->Get1(index);
00180     int dimension = table->Get2(index);
00181     double value = table->Get3(index);
00182     ++index;
00183     if(word>=0)
00184         return new RandomTree(word);
00185     else
00186     {
00187         RandomTree* l = Read(table, index);
00188         RandomTree* r = Read(table, index);
00189         return new RandomTree(dimension, value, l, r);
00190     }
00191 }

Here is the call graph for this function:


Generated on Fri Mar 19 11:08:29 2010 for ImpalaSrc by  doxygen 1.5.1