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

static FeatureTable* Impala::Core::Feature::FeatureTable::MakeFromDataSet ( Database::RawDataSet is,
FeatureDefinition  mDef,
String  walkType 
) [inline, static]

Definition at line 67 of file FeatureTable.h.

References Impala::Util::Append(), FeatureTable(), Impala::Core::Database::RawDataSet::GetDatabase(), Impala::Core::Database::RawDataSet::GetFilePathFeatureData(), Impala::Core::Database::RawDataSet::GetQuidClass(), ILOG_ERROR, Impala::Core::Database::RawDataSet::NrDirs(), Impala::Core::Database::RawDataSet::NrFiles(), Impala::QUID_CLASS_FRAME, Impala::QUID_CLASS_IMAGE, and Impala::Core::Table::Read().

Referenced by Impala::Application::mainConstructCodebook().

00069     {
00070         Int64 totalSize = 0;
00071         int dimensionality = 0;
00072         std::vector<String> filenames;
00073         if (is->GetQuidClass() == QUID_CLASS_IMAGE)
00074         {
00075             for (int dirId = 0; dirId < is->NrDirs(); dirId++)
00076             {
00077                 String fName = is->GetFilePathFeatureData(mDef, dirId, false,
00078                                                           -1, false, false);
00079                 filenames.push_back(fName);
00080             }
00081         }
00082         else if (is->GetQuidClass() == QUID_CLASS_FRAME)
00083         {
00084             for (int i = 0; i < is->NrFiles(); i++)
00085             {
00086                 String fName = is->GetFilePathFeatureData(walkType, mDef, i, 
00087                                                           false, -1, 
00088                                                           false, false);
00089                 filenames.push_back(fName);
00090             }
00091         }
00092         else
00093         {
00094             ILOG_ERROR("MakeFromDataSet: Unknown quid class");
00095             return 0;
00096         }
00097         for (int dirId = 0; dirId < filenames.size(); dirId++)
00098         {
00099             Feature::FeatureTable tmp(mDef);
00100             Core::Table::Read(&tmp, filenames[dirId], is->GetDatabase());
00101             totalSize += tmp.Size();
00102             dimensionality = tmp.GetFeatureVectorLength();
00103         }
00104         FeatureTable* table = new FeatureTable(mDef, totalSize, dimensionality);
00105         for(int dirId = 0; dirId < filenames.size(); dirId++)
00106         {
00107             Feature::FeatureTable tmp(mDef);
00108             Core::Table::Read(&tmp, filenames[dirId], is->GetDatabase());
00109             Core::Table::Append(table, &tmp);
00110         }
00111         return table;
00112     }

Here is the call graph for this function:


Generated on Fri Mar 19 11:09:21 2010 for ImpalaSrc by  doxygen 1.5.1