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:
|