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

virtual void Impala::Core::ImageSet::ClusterFeatures::HandleNewFile ( ImageSet is,
int  fileId,
Array::Array2dVec3UInt8 im 
) [inline, virtual]

Arrived at given DB_FILE in a "normal" walk.

Reimplemented from Impala::Core::ImageSet::Listener.

Definition at line 70 of file ClusterFeatures.h.

References Impala::Core::Feature::Computor::ComputeRegionFeatures(), Impala::Core::ImageSet::Reporter::DoPrint(), Impala::Core::Feature::Computor::GetNrPixelFeatureSets(), Impala::Core::Feature::Computor::GetNrRegionFeatureSets(), Impala::Core::Feature::Computor::GetRegionFeatureTable(), Impala::Core::Feature::Computor::GetRegionFeatureTableSet(), HandleDoneWalk(), ILOG_DEBUG, ILOG_INFO, mClusterors, mComputor, and mReporter.

00071     {
00072         ILOG_DEBUG("new file " << fileId);
00073         Quid quid = is->GetQuidImage(fileId);
00074 
00075         mComputor->ComputeRegionFeatures(im, quid);
00076 
00077         for (int p=0 ; p<mComputor->GetNrPixelFeatureSets() ; p++)
00078         {
00079             for (int r=0 ; r<mComputor->GetNrRegionFeatureSets() ; r++)
00080             {
00081                 FeatureTable* tab = mComputor->GetRegionFeatureTable(p, r);
00082                 for (int clustID=0 ; clustID<mClusterors.size() ; clustID++)
00083                 {
00084                     if (mClusterors[clustID]->GetPixelFeatureSet() == p
00085                         && mClusterors[clustID]->GetRegionFeatureSet() == r)
00086                     {
00087                         mClusterors[clustID]->Cluster(tab);
00088                     }
00089                 }
00090             }
00091         }
00092 
00093         mComputor->GetRegionFeatureTableSet()->SetEmpty();
00094 
00095         // experimental
00096         bool allDone = true;
00097         for (int i=0 ; i<mClusterors.size() ; i++)
00098         {
00099             if (mReporter->DoPrint())
00100                 mClusterors[i]->PrintStatus();
00101             allDone = allDone && mClusterors[i]->HadEnough();
00102         }
00103         if (allDone)
00104         {
00105             ILOG_INFO("all clusterors had enough");
00106             HandleDoneWalk(is);
00107             ILOG_INFO("had enough, bye");
00108             exit(0);
00109         }
00110         ILOG_DEBUG("done file " << fileId);
00111     }

Here is the call graph for this function:


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