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

void Impala::Visualization::SimilarityTableSetRank::HandleUpdate (  )  [inline]

Definition at line 274 of file SimilarityTableSetRank.h.

References Impala::Visualization::ImagesWindow::AddImage(), Impala::Visualization::ImageSetIdxGrid::AddImageSetIdx(), Impala::Visualization::Plot::Points::AddPoint(), Impala::Core::Table::AveragePrecisionJudged(), FindImSetId(), Impala::Core::Table::SimilarityTableSet::FindQuid(), Impala::Core::Table::TableTem< Col1T, Col2T, Col3T, Col4T, Col5T, Col6T, Col7T, Col8T, Col9T >::Get1(), Impala::Core::Table::SimilarityTableSet::GetDescription(), Impala::Core::Table::AnnotationTable::GetNrPositive(), Impala::Core::Table::SimilarityTableSet::GetSimTable(), ILOG_ERROR, ILOG_INFO, Impala::Core::Table::AnnotationTable::IsNegative(), Impala::Core::Table::AnnotationTable::IsPositive(), Impala::Core::Table::AnnotationTable::IsSkip(), Impala::MakeString(), mAnno, mCurConcept, mImagesSet, mImSetIdxGrid, Impala::Min(), mInfoText, mKeyframeSet, mLineData1, mLineData2, mLineSize1, mLineSize2, mNrToShow, mPlotLine1, mPlotPoints, mPoints, mSelectedRanking, mSimSet, mStartIm, SetCurrent(), OglGui::TextArea::SetText(), Impala::Core::Table::Table::Size(), Impala::Timer::SplitTime(), Impala::Timer::SplitTimeStr(), UpdateAnno(), Impala::Visualization::ImageSetIdxGrid::UpdateLayout(), UpdateLinePlot(), UpdateLineSize(), UpdatePointPlot(), and UpdateRanking().

Referenced by HandleNewFile().

00275     {
00276 Timer timer(1);
00277 ILOG_INFO("============================= start");
00278 ILOG_INFO("1 : " << timer.SplitTime() << " = " << timer.SplitTimeStr());
00279         UpdateAnno();
00280 ILOG_INFO("2 : " << timer.SplitTime() << " = " << timer.SplitTimeStr());
00281         UpdateRanking();
00282 ILOG_INFO("3 : " << timer.SplitTime() << " = " << timer.SplitTimeStr());
00283         int nrPlot = mSelectedRanking->Size();
00284         int nrIm = Min(nrPlot, mNrToShow);
00285         int nrOk = 0;
00286         UpdateLineSize(Min(nrPlot, 1000));
00287         SimTableType* simTable = mSimSet->GetSimTable(mCurConcept);
00288         for (int i=0 ; i<nrPlot ; i++)
00289         {
00290             Quid quid = mSelectedRanking->Get1(i);
00291             if (i>=mStartIm && i<mStartIm+mNrToShow)
00292             {
00293                 int imSetId = FindImSetId(quid);
00294                 if (imSetId == -1)
00295                 {
00296                     ILOG_ERROR("Unable to find keyframe for " << QuidObj(quid));
00297                 }
00298                 else
00299                 {
00300                     if (mImagesSet)
00301                         mImagesSet->AddImage(imSetId, mKeyframeSet);
00302                     if (mImSetIdxGrid)
00303                         mImSetIdxGrid->AddImageSetIdx(mKeyframeSet,imSetId);
00304                 }
00305             }
00306             if (mPlotLine1 && i < mLineSize2)
00307             {
00308                 int idx = mSimSet->FindQuid(quid);
00309                 mLineData2[i] = simTable->Get1(idx);
00310                 if (i<mLineSize1)
00311                     mLineData1[i] = simTable->Get1(idx);
00312             }
00313             if (mPlotPoints && mAnno)
00314             {
00315                 int x = i%200;
00316                 int y = -(i/200);
00317                 if (mSelectedRanking->IsPositive(i))
00318                 {
00319                     mPoints->AddPoint(x, y, 0, 0, 1, 0, 3, false);
00320                     nrOk++;
00321                 }
00322                 else if (mSelectedRanking->IsNegative(i))
00323                     mPoints->AddPoint(x, y, 0, 1, 0, 0, 3, false);
00324                 else if (mSelectedRanking->IsSkip(i))
00325                     mPoints->AddPoint(x, y, 0, 1, 1, 0, 3, false);
00326                 else
00327                     mPoints->AddPoint(x, y, 0, 0.5, 0.5, 0.5, 3, false);
00328             }
00329         }
00330 printf("\n\n");
00331         if (mImSetIdxGrid)
00332             mImSetIdxGrid->UpdateLayout(true);
00333 
00334 ILOG_INFO("4 : " << timer.SplitTime() << " = " << timer.SplitTimeStr());
00335         UpdateLinePlot();
00336 ILOG_INFO("5 : " << timer.SplitTime() << " = " << timer.SplitTimeStr());
00337         UpdatePointPlot();
00338 ILOG_INFO("6 : " << timer.SplitTime() << " = " << timer.SplitTimeStr());
00339         if (mPlotPoints)
00340         {
00341             String judge(" ");
00342             if (mAnno)
00343             {
00344                 using Core::Table::AveragePrecisionJudged;
00345                 Real64 ap = AveragePrecisionJudged(mSelectedRanking, mAnno,
00346                                                    false, -1, true);
00347                 judge = " : nrOK = " + MakeString(nrOk) + " (in first " +
00348                     MakeString(nrPlot) + "), nrMissed = " +
00349                     MakeString(mAnno->GetNrPositive() - nrOk) +
00350                     ", ap = " + MakeString(ap);
00351             }
00352             mInfoText->SetText(mSimSet->GetDescription() + judge);
00353         }
00354 ILOG_INFO("D : " << timer.SplitTime() << " = " << timer.SplitTimeStr());
00355         SetCurrent(mStartIm);
00356     }

Here is the call graph for this function:


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