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

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

Definition at line 49 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::ImageSet::ComputeKernelData::mBaseSet, mFeatureAverages, mFeatureNames, mFeatureWeights, mTableNamesA, mTableNamesB, mTotalFeatureWeight, and Size().

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

Here is the call graph for this function:


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