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

void Impala::Core::VideoSet::ShotSegmenter::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 222 of file ShotSegmenter.h.

References Impala::Core::Array::Array2dTem< StorT, elemSize, ArithT >::CW(), Impala::FileNameBase(), Impala::Core::Stream::RgbDataSrc::FrameHeight(), Impala::Core::Stream::RgbDataSrc::FrameWidth(), Impala::Util::Database::GetInstance(), Impala::Core::Stream::RgbDataSrc::GetName(), ILOG_ERROR, ILOG_INFO, Impala::Core::Stream::RgbDataSrc::LastFrame(), mBinCount, mCentered, mCUTs, mDISs, mDoProcessing, mFeatures, mFeaturesReversed, mFOIs, mGroundTruth, mHistograms, mHistPerFrame, mMode, mOTHs, mPredictions, mPyramid, mRadius, mRunName, mScores, mShotNr, mSigma, mSrc, mWeights, mWindowSize, ReadGroundTruth(), Impala::Util::IOBuffer::ReadLine(), Impala::Core::Geometry::RectanglePyramid::SetImageSize(), Impala::Core::Array::SetVal(), Impala::Core::Array::Array2dTem< StorT, elemSize, ArithT >::SetValue(), and Impala::Util::IOBuffer::Valid().

Referenced by Impala::Core::VideoSet::ShotSegmenterGUI::ShotSegmenterGUI().

00223     {
00224         mSrc=src;
00225         mShotNr=0;
00226         //Allocate the arrays for the next file
00227         mWeights = Array::ArrayCreate<Array2dScalarReal64>(mWindowSize,mWindowSize);
00228         SetVal(mWeights,0);
00229 
00230         if (src->LastFrame() < 0)
00231         {
00232             ILOG_ERROR("[HandleNewFile] src->LastFrame() = " << src->LastFrame()
00233                        << " (fileId = " << fileId << ")");
00234             exit(-1);
00235         }
00236 
00237         int lastFrame = src->LastFrame();
00238         mPredictions = Array::ArrayCreate<Array2dScalarReal64>(lastFrame,1,0,0);
00239         SetVal(mPredictions,0);
00240 
00241         mScores = Array::ArrayCreate<Array2dScalarReal64>(src->LastFrame(),1,0,0);
00242         SetVal(mScores,0);
00243 
00244         mFeatures=new Vector::VectorTem<Real64>(mCentered?mWindowSize+1:mWindowSize);
00245         mFeaturesReversed=new Vector::VectorTem<Real64>(mCentered?mWindowSize+1:mWindowSize);
00246         mHistograms = new HistType*[mWindowSize*mHistPerFrame];
00247         for(int i=0;i<mWindowSize*mHistPerFrame;i++)
00248         {
00249             mHistograms[i]=new HistType(0, 256, mBinCount, 0);
00250         }
00251         
00252         mGroundTruth= Array::ArrayCreate<Array2dScalarReal64>(mSrc->LastFrame(),4,0,0);
00253         mCUTs= Array::ArrayCreate<Array2dScalarReal64>(mSrc->LastFrame(),1,0,0);
00254         mDISs= Array::ArrayCreate<Array2dScalarReal64>(mSrc->LastFrame(),1,0,0);
00255         mOTHs= Array::ArrayCreate<Array2dScalarReal64>(mSrc->LastFrame(),1,0,0);
00256         mFOIs= Array::ArrayCreate<Array2dScalarReal64>(mSrc->LastFrame(),1,0,0);
00257 
00258         Array::SetVal(mGroundTruth,0);
00259         Array::SetVal(mCUTs,0);
00260         Array::SetVal(mDISs,0);
00261         Array::SetVal(mOTHs,0);
00262         Array::SetVal(mFOIs,0);
00263         
00264         mPyramid.SetImageSize(mSrc->FrameWidth(),mSrc->FrameHeight());
00265      
00266         //if((mMode=="Train")||(mMode=="Test")||(mMode=="EvalTrain")||(mMode=="EvalTest"))
00267         ReadGroundTruth();
00268 #ifndef REPOSITORY_USED // Here comes the deprecated stuff
00269         if(!mDoProcessing){
00270             char OutFileName[300];
00271             Util::Database D;
00272             String SrcName = mSrc->GetName();
00273             SrcName=Impala::FileNameBase(SrcName);
00274 
00275             //Scores File
00276             sprintf(OutFileName,"%s_%d-%g-%d.txt",SrcName.c_str(),
00277                                         mRadius,mSigma,mBinCount);
00278             Util::Database& Db = Util::Database::GetInstance();
00279             String FileName=Db.GetFilePath("ShotSegmentation","Scores",mMode,mRunName,OutFileName,false,false);
00280             Util::IOBuffer* Input=Db.GetIOBuffer(FileName,true,false,"tmp");
00281             if(Input && Input->Valid())
00282             {
00283                 ILOG_INFO("No Processing will be done,");
00284                 ILOG_INFO("Reading Scores from "<<FileName);
00285                 int frame;
00286                 double score;
00287                 std::strstream oss;
00288                 for (int i=0;i<mScores->CW();i++){
00289                     oss<<Input->ReadLine();
00290                     oss>>frame;
00291                     oss>>score;
00292                     //Output->ReadNativeTypeRead(&frame);
00293                     //Output->ReadNativeTypeRead(&score);
00294                     mScores->SetValue(score,frame,0);
00295                 }
00296             }else
00297                 mDoProcessing=true;
00298         }
00299 #endif // REPOSITORY_USED
00300     }

Here is the call graph for this function:


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