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

String Impala::Core::Trec::TrecTopic::GenerateDataSets ( String  year  )  [inline]

Definition at line 96 of file TrecTopic.h.

References Impala::Core::Table::TableTem< Col1T, Col2T, Col3T, Col4T, Col5T, Col6T, Col7T, Col8T, Col9T >::Add(), Impala::Core::Database::RawDataSet::AddFile(), Impala::atol(), GenExampleName(), Impala::Core::Database::RawDataSet::GetLocator(), Impala::Core::Database::RawDataSet::GetSetName(), GetVideoExampleEndFrame(), GetVideoExampleStartFrame(), ILOG_DEBUG, ILOG_ERROR, LoadDataSets(), Impala::MakeString(), Impala::Core::Trec::SearchTopic::mNum, mVideoSrc, mYear, Impala::Core::Trec::SearchTopic::NrTopic(), Impala::Core::VideoSet::Keyframes::Save(), Impala::Core::VideoSet::Segmentation::Save(), Impala::Core::ImageSet::ImageSet::SaveImageSet(), Impala::Core::VideoSet::VideoSet::SaveVideoSet(), and Impala::Core::VideoSet::Keyframes::WriteImageSets().

00097     {
00098         mYear = atol(year);
00099 #ifndef REPOSITORY_USED // Here comes the deprecated stuff
00100         Util::Database* db = new Util::Database();
00101         String setBase = "trec" + year + "topic";
00102         ImageSet::ImageSet keySet(db, setBase + "_keyframes.txt", false);
00103         ImageSet::ImageSet thumbSet(db, setBase + "_thumbnails.txt", false);
00104         VideoSet::VideoSet vidSet(db, setBase + ".txt", false);
00105 #else // REPOSITORY_USED
00106         String setBase = "trec" + year + "topic";
00107         ImageSet::ImageSet keySet(setBase + "_keyframes.txt");
00108         ImageSet::ImageSet thumbSet(setBase + "_thumbnails.txt");
00109         VideoSet::VideoSet vidSet(setBase + ".txt");
00110 #endif // REPOSITORY_USED
00111         VideoSet::Segmentation segm(&vidSet, "");
00112         VideoSet::Keyframes keyframes(&vidSet, "");
00113         int videoId = 0;
00114         int shotId = 0;
00115         for (int i=0 ; i<NrTopic() ; i++)
00116         {
00117             ILOG_DEBUG("topic = " << mNum[i]);
00118             if (mVideoSrc[i].size() == 0)
00119             {
00120                 ILOG_ERROR(mNum[i] << " has no videoExample, insert dummy!");
00121                 exit(1);
00122             }
00123             for (int j=0 ; j<mVideoSrc[i].size() ; j++)
00124             {
00125                 keySet.AddFile(GenExampleName(i, j) + ".jpg",
00126                                "keyframes/" + mNum[i]);
00127                 thumbSet.AddFile(GenExampleName(i, j) + ".jpg",
00128                                  "thumbnails/" + mNum[i]);
00129                 vidSet.AddFile(GenExampleName(i, j) + ".mpg", mNum[i]);
00130                 int startFr = GetVideoExampleStartFrame(i, j);
00131                 int endFr = GetVideoExampleEndFrame(i, j);
00132                 String name = "shot" + MakeString(videoId+1) + "_"
00133                     + MakeString(shotId+1);
00134                 segm.Add(videoId, 0, endFr - startFr, name);
00135                 keyframes.Add(videoId, shotId, (endFr - startFr) / 2,
00136                               GenExampleName(i, j) + ".jpg");
00137                 videoId++;
00138                 shotId++;
00139             }
00140         }
00141         ILOG_DEBUG("Saving");
00142 #ifndef REPOSITORY_USED // Here comes the deprecated stuff
00143         keySet.SaveImageSet();
00144         thumbSet.SaveImageSet();
00145         vidSet.SaveVideoSet();
00146         bool binary = true;
00147         segm.Save("segmentation", binary);
00148         keyframes.Save("keyframes", binary);
00149 #else // REPOSITORY_USED
00150         Persistency::Locator baseLoc = vidSet.GetLocator();
00151         Persistency::ImageSetLocator keySetLoc(baseLoc, keySet.GetSetName());
00152         Persistency::ImageSetRepository().Add(keySetLoc, &keySet);
00153         Persistency::ImageSetLocator thumbSetLoc(baseLoc, thumbSet.GetSetName());
00154         Persistency::ImageSetRepository().Add(thumbSetLoc, &thumbSet);
00155         Persistency::VideoSetRepository().Add(baseLoc, &vidSet);
00156         bool binary = true;
00157         Persistency::SegmentationLocator sLoc(baseLoc, "segmentation");
00158         Persistency::SegmentationRepository().Add(sLoc, &segm);
00159         Persistency::KeyframesLocator kLoc(baseLoc, "keyframes");
00160         Persistency::KeyframesRepository().Add(kLoc, &keyframes);
00161 #endif // REPOSITORY_USED
00162         keyframes.WriteImageSets();
00163         ILOG_DEBUG("Loading");
00164         LoadDataSets(year);
00165         ILOG_DEBUG("Done");
00166         return setBase + ".txt";
00167     }

Here is the call graph for this function:


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