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

virtual void Impala::Core::VideoSet::ImportConcepts::HandleNewFile ( VideoSet vs,
int  fileId,
Stream::RgbDataSrc src 
) [inline, virtual]

Arrived at given DB_FILE in a "normal" walk.

Reimplemented from Impala::Core::VideoSet::Listener.

Definition at line 50 of file ImportConcepts.h.

References Impala::Core::Table::TableTem< Col1T, Col2T, Col3T, Col4T, Col5T, Col6T, Col7T, Col8T, Col9T >::Add(), Impala::Core::VideoSet::Mpeg7Doc::Confidence(), Impala::Core::Stream::RgbDataSrc::FrameRateDen(), Impala::Core::Stream::RgbDataSrc::FrameRateNum(), Impala::Core::Table::SimilarityTableSet::GetName(), Impala::Core::Table::SimilarityTableSet::GetQuidTable(), Impala::Core::Table::SimilarityTableSet::GetSimTable(), mConceptSet, mSimSet, Impala::Core::VideoSet::Mpeg7Doc::NrShots(), Impala::Core::Table::SimilarityTableSet::NrTables(), and Impala::Core::VideoSet::Mpeg7Doc::StartFrame().

00051     {
00052         String vidName = vs->GetFile(fileId);
00053         int frameRateNum = (src) ? src->FrameRateNum() : 0;
00054         int frameRateDen = (src) ? src->FrameRateDen() : 0;
00055         for (int c=0 ; c<mSimSet->NrTables() ; c++)
00056         {
00057             String concept = mSimSet->GetName(c);
00058             SimTableType* table = mSimSet->GetSimTable(c);            
00059             String container = mConceptSet + "/" + vs->GetContainerFile(fileId);
00060             typedef Persistency::Mpeg7DocLocator MP7Loc;
00061             MP7Loc loc(vs->GetLocator(), MP7Loc::MPEG7_CONCEPT, container,
00062                        concept + ".xml");
00063             if (!Persistency::Mpeg7DocRepository().Exists(loc))
00064                 continue;
00065 
00066             Mpeg7Doc* mp7 = Persistency::Mpeg7DocRepository().Get(loc);
00067             for (int s=0 ; s<mp7->NrShots() ; s++)
00068             {
00069                 double sim = mp7->Confidence(s);
00070                 table->Add(sim);
00071             }
00072             if (c == 0)
00073             {
00074                 Table::QuidTable* qTable = mSimSet->GetQuidTable();
00075                 for (int s=0 ; s<mp7->NrShots() ; s++)
00076                 {
00077                     Quid quid = vs->GetQuidFrame(fileId, mp7->StartFrame(s));
00078                     qTable->Add(quid);
00079                 }
00080             }
00081             delete mp7;
00082         }
00083     }

Here is the call graph for this function:


Generated on Thu Jan 13 09:21:53 2011 for ImpalaSrc by  doxygen 1.5.1