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

Impala::Core::VideoSet::ComputeKernelData::PrecomputeTask::PrecomputeTask ( String  inputDefinitionFilename,
String  averagesFilename,
String  outputFilename,
Database::RawDataSet dataSet,
Database::RawDataSet mBaseSet,
int  fileId,
String  walkType 
) [inline]

Definition at line 50 of file ComputeKernelData.h.

References Impala::Core::Database::RawDataSet::GetDatabase(), Impala::Util::Database::GetDataChannel(), Impala::Core::Database::RawDataSet::GetFilePathFeatureData(), Impala::Core::Database::RawDataSet::GetFilePathFeatureIndex(), ILOG_ERROR, ILOG_INFO, Impala::Core::VideoSet::ComputeKernelData::mBaseSet, mFeatureAverages, mFeatureNames, mFeatureWeights, mTableNamesA, mTableNamesB, mTotalFeatureWeight, and Size().

00053         : mOutputFilename(outputFilename), mTotalFeatureWeight(0), 
00054           mWriteAsFeatureTable(true)
00055     {
00056         ILOG_INFO("Loading precompute definition (" << inputDefinitionFilename 
00057                   << ")...");
00058         std::ifstream ifs(inputDefinitionFilename.c_str());
00059         std::ifstream fs(averagesFilename.c_str(), std::ios::binary);
00060         if(fs.fail() || fs.eof())
00061         {
00062             ILOG_ERROR("Could not load averages from " << averagesFilename);
00063         }
00064 
00065         if (mBaseSet->GetDatabase()->GetDataChannel() || dataSet->GetDatabase()->GetDataChannel())
00066         {
00067             ILOG_ERROR("Does not work with data channel");
00068             throw("bye");
00069         }
00070 
00071         double weight = 0.0;
00072         String name;
00073         while(ifs >> weight)
00074         {
00075             ifs >> name;
00076             int i = mFeatureNames.size();
00077             mFeatureNames.push_back(name);
00078             mFeatureWeights.push_back(weight);
00079             
00080             double q = 0.0;
00081             fs.read(reinterpret_cast<char *>(&q), sizeof(q));
00082             mFeatureAverages.push_back(q);
00083             ILOG_INFO(i << " " << mFeatureAverages[i] << " (" << mFeatureWeights[i] << "*" << mFeatureNames[i] << ")");
00084             mTotalFeatureWeight += weight;
00085             
00086             String tableA = mBaseSet->GetFilePathFeatureIndex(mFeatureNames[i], "", false, false);
00087             String tableB = dataSet->GetFilePathFeatureData(walkType,
00088                 Feature::FeatureDefinition(mFeatureNames[i]), fileId, false, -1, false, false);
00089             mTableNamesA.push_back(tableA);
00090             mTableNamesB.push_back(tableB);
00091         }
00092         fs.close();
00093         ifs.close();
00094         if(Size() == 0)
00095             ILOG_ERROR("Empty input definition?");
00096     }

Here is the call graph for this function:


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