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

static AnnotationTableSet* Impala::Core::Table::AnnotationTableSet::MakeFromFile ( Database::RawDataSet dataSet,
CString  labelSet,
bool  readTables,
int  quidClass 
) [inline, static]

Definition at line 43 of file AnnotationTableSet.h.

References Add(), AnnotationTableSet(), Impala::Util::DatabaseReadStrings(), Impala::Core::Database::RawDataSet::GetDatabase(), Impala::Core::Database::RawDataSet::GetFilePathAnnotation(), ILOG_ERROR, and Impala::Core::Table::AnnotationTable::MakeFromFile().

Referenced by Impala::Core::Table::Bayes::Bayes(), Impala::Samples::MonetTest::DoCheckAnnotations(), Impala::Application::Table::DoDumpAnnotationTableSet(), Impala::Samples::MonetTest::DoInsertAnnotations(), and Impala::Core::VideoSet::IndexAnnotation::HandleNewWalk().

00045     {
00046         String fName = dataSet->GetFilePathAnnotation(labelSet, false, false);
00047         if (fName.empty())
00048         {
00049             ILOG_ERROR("Unable to read labels");
00050             return 0;
00051         }
00052         Util::Database* db = dataSet->GetDatabase();
00053         std::vector<String> labels;
00054         Util::DatabaseReadStrings(labels, fName, db);
00055 
00056         AnnotationTableSet* res = new AnnotationTableSet();
00057         int nrRead = 0;
00058         for (int i=0 ; i<labels.size() ; i++)
00059         {
00060             AnnotationTable* table = 0;
00061             if (readTables)
00062             {
00063                 fName = dataSet->GetFilePathAnnotation(quidClass, labelSet,
00064                                                        labels[i] + ".tab",
00065                                                        false, true);
00066                 if (! fName.empty())
00067                 {
00068                     table = AnnotationTable::MakeFromFile(labels[i], fName, db);
00069                     nrRead++;
00070                 }
00071             }
00072             if (table == 0)
00073             {
00074                 table = new AnnotationTable(labels[i], 0);
00075             }
00076             res->Add(table);
00077         }
00078         if (readTables && (nrRead == 0))
00079             ILOG_ERROR("No tables found");
00080         return res;
00081     }

Here is the call graph for this function:


Generated on Fri Mar 19 11:20:04 2010 for ImpalaSrc by  doxygen 1.5.1