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

void Impala::Visualization::SimilarityTableSetRank::UpdateAnno (  )  [inline, private]

Definition at line 596 of file SimilarityTableSetRank.h.

References Impala::Core::Table::Copy(), Impala::Core::Table::TableTem< Col1T, Col2T, Col3T, Col4T, Col5T, Col6T, Col7T, Col8T, Col9T >::Get1(), Impala::Core::Database::DataDocument::GetConcept(), Impala::Core::Database::RawDataSet::GetDatabase(), Impala::Core::Database::RawDataSet::GetFilePathAnnotation(), Impala::Core::ImageSet::IxsDocument::GetImageSet(), Impala::Core::Database::RawDataSet::GetLocator(), Impala::Core::Table::AnnotationTable::GetQualification(), Impala::Core::Table::SimilarityTableSet::GetQuidClass(), Impala::Core::Table::SimilarityTableSet::GetRankTable(), Impala::Core::VideoSet::SegmentationDocument::GetVideoSet(), ILOG_ERROR, Impala::Core::Table::AnnotationTable::MakeFromFile(), mAnno, mAnnoConcept, mAnnoSet, mCurConcept, mDataDoc, mIxsDoc, mQualifiedRanking, mSegDoc, mSimSet, Impala::Core::Table::TableTem< Col1T, Col2T, Col3T, Col4T, Col5T, Col6T, Col7T, Col8T, Col9T >::Set2(), and Impala::Core::Table::Table::Size().

Referenced by HandleUpdate().

00597     {
00598         if (mAnnoSet.empty())
00599         {
00600             Core::Table::Copy(mQualifiedRanking,
00601                               mSimSet->GetRankTable(mCurConcept));
00602             return;
00603         }
00604         if (mAnnoConcept == mCurConcept)
00605             return;
00606 
00607         if (mAnno)
00608         {
00609             delete mAnno;
00610             mAnno = 0;
00611         }
00612 #ifndef REPOSITORY_USED // Here comes the deprecated stuff
00613         Util::Database* db;
00614         String conceptTab = mDataDoc->GetConcept() + ".tab";
00615         String fName;
00616         if (mSegDoc)
00617         {
00618             Core::VideoSet::VideoSet* vidSet = mSegDoc->GetVideoSet();
00619             fName = vidSet->GetFilePathAnnotation(mSimSet->GetQuidClass(),
00620                                                   mAnnoSet, conceptTab,
00621                                                   false, false);
00622             db = vidSet->GetDatabase();
00623         }
00624         if (mIxsDoc)
00625         {
00626             Core::ImageSet::ImageSet* imSet = mIxsDoc->GetImageSet();
00627             fName = imSet->GetFilePathAnnotation(mSimSet->GetQuidClass(),
00628                                                  mAnnoSet, conceptTab,
00629                                                  false, false);
00630             db = imSet->GetDatabase();
00631         }
00632         if (fName.empty())
00633         {
00634             ILOG_ERROR("No annations for " << mDataDoc->GetConcept());
00635             mAnnoConcept = -2;
00636             Core::Table::Copy(mQualifiedRanking,
00637                               mSimSet->GetRankTable(mCurConcept));
00638             return;
00639         }
00640         mAnno = Core::Table::AnnotationTable::MakeFromFile(mDataDoc->GetConcept(),
00641                                                            fName, db);
00642 #else // REPOSITORY_USED
00643         typedef Persistency::AnnotationTableLocator AnnoLoc;
00644         AnnoLoc loc;
00645         if (mSegDoc)
00646         {
00647             Core::VideoSet::VideoSet* vidSet = mSegDoc->GetVideoSet();
00648             loc = AnnoLoc(vidSet->GetLocator(), mSimSet->GetQuidClass(),
00649                           mAnnoSet, mDataDoc->GetConcept());
00650         }
00651         if (mIxsDoc)
00652         {
00653             Core::ImageSet::ImageSet* ixsSet = mIxsDoc->GetImageSet();
00654             loc = AnnoLoc(ixsSet->GetLocator(), mSimSet->GetQuidClass(),
00655                           mAnnoSet, mDataDoc->GetConcept());
00656         }
00657         if (! Persistency::AnnotationTableRepository().Exists(loc))
00658         {
00659             ILOG_ERROR("No annations for " << mDataDoc->GetConcept());
00660             mAnnoConcept = -2;
00661             Core::Table::Copy(mQualifiedRanking,
00662                               mSimSet->GetRankTable(mCurConcept));
00663             return;
00664         }
00665 
00666         if (mAnno)
00667             delete mAnno;
00668         mAnno = Persistency::AnnotationTableRepository().Get(loc);
00669 #endif // REPOSITORY_USED
00670         mAnnoConcept = mCurConcept;
00671         Core::Table::Copy(mQualifiedRanking, mSimSet->GetRankTable(mCurConcept));
00672         for (int i=0 ; i<mQualifiedRanking->Size() ; i++)
00673         {
00674             Quid quid = mQualifiedRanking->Get1(i);
00675             mQualifiedRanking->Set2(i, mAnno->GetQualification(quid));
00676         }
00677     }

Here is the call graph for this function:


Generated on Fri Mar 19 11:48:18 2010 for ImpalaSrc by  doxygen 1.5.1