Home || Visual Search || Applications || Architecture || 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 46 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::Core::Table::ConfusionMatrix::ConfusionMatrix(), Impala::Samples::MonetTest::DoCheckAnnotations(), Impala::Samples::MonetTest::DoInsertAnnotations(), and Impala::Core::VideoSet::IndexAnnotation::HandleNewWalk().

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

Here is the call graph for this function:


Generated on Thu Jan 13 09:20:45 2011 for ImpalaSrc by  doxygen 1.5.1