Completed given DB_FILE in a "normal" walk.
Reimplemented from Impala::Core::VideoSet::Listener.
Definition at line 54 of file ExportConcepts.h.
References Impala::Core::VideoSet::Mpeg7Doc::AddAnnotation(), Impala::Core::Feature::FeatureDefinition::AsString(), Impala::Core::Feature::FeatureDefinition::Empty(), Impala::Core::Table::TableTem< Col1T, Col2T, Col3T, Col4T, Col5T, Col6T, Col7T, Col8T, Col9T >::Get1(), Impala::Core::Table::SimilarityTableSet::GetName(), Impala::Core::VideoSet::Segmentation::GetNrFramesVideo(), Impala::Core::Table::SimilarityTableSet::GetQuidTable(), Impala::Core::Table::SimilarityTableSet::GetSimTable(), ILOG_DEBUG, ILOG_ERROR, ILOG_INFO, ILOG_NDC_POP, ILOG_NDC_PUSH, Impala::Core::Table::SimilarityTableSet::MakeFromFile(), Impala::MakeString(), mConceptFileName, mFeatureDef, mFractions, mModel, Impala::Core::VideoSet::Mpeg7DocWrite(), mSegmentation, mWalkType, Impala::Core::Table::SimilarityTableSet::NrTables(), Impala::QUID_CLASS_FRAME, Impala::QuidClass(), Impala::QuidId(), Impala::Core::VideoSet::Mpeg7Doc::SetAnnoIsConcept(), and Impala::Core::Table::Table::Size().
00055 {
00056 if ((mSegmentation == 0))
00057 {
00058 ILOG_ERROR("Need segmentation");
00059 return;
00060 }
00061 String subDir = (mFeatureDef.Empty()) ? "" : mFeatureDef.AsString();
00062 SimilarityTableSet* simSet =
00063 SimilarityTableSet::MakeFromFile(vs, mWalkType, mConceptFileName,
00064 mModel, subDir, fileId);
00065
00066 for (int c=0 ; c<simSet->NrTables() ; c++)
00067 {
00068 String concept = simSet->GetName(c);
00069 ILOG_INFO("doing concept " << concept);
00070 ILOG_NDC_PUSH(concept);
00071 SimilarityTableSet::SimTableType* table = simSet->GetSimTable(c);
00072 String fileName = vs->GetFile(fileId);
00073 ILOG_DEBUG("doing file " << fileName);
00074 String id = fileName;
00075 int nrFrames = mSegmentation->GetNrFramesVideo(fileId);
00076 Mpeg7Doc mp7(id, fileName, nrFrames, mFractions, false,
00077 mConceptFileName, concept);
00078 mp7.SetAnnoIsConcept();
00079 for (int i=0 ; i<table->Size() ; i++)
00080 {
00081 Quid quid = simSet->GetQuidTable()->Get1(i);
00082 if (QuidClass(quid) != QUID_CLASS_FRAME)
00083 ILOG_ERROR("Quid is not a frame");
00084 int frameNr = QuidId(quid);
00085 String name = "frame_" + MakeString(frameNr);
00086 double sim = table->Get1(i);
00087 mp7.AddAnnotation(concept, name, frameNr, frameNr, 1, sim);
00088 }
00089 Core::VideoSet::Mpeg7DocWrite(&mp7, vs, fileId);
00090 ILOG_NDC_POP;
00091 }
00092 delete simSet;
00093 }
Here is the call graph for this function: