Definition at line 137 of file Octaves.h. References BuildOctave(), Impala::Core::Array::Array2dTem< StorT, elemSize, ArithT >::CH(), Impala::Core::Array::Array2dTem< StorT, elemSize, ArithT >::CW(), ILOG_INFO, Impala::Max(), Impala::Min(), mLevels, mMinOctave, mOctaveArray, mOctaves, mResample, mScales, mSigmas, mSrcArray, and mSrcScalar. Referenced by Octaves(). 00137 { 00139 //If a negative count is given for the octaves, we calculate the max 00140 //possible, deducing it from the image size. A minimum size of 8x8 00141 //array is produced from the original array 00142 if(mOctaves<1) 00143 { 00144 mOctaves = Max(1, 00145 int(std::floor(log2(Min(mSrcScalar->CW(),mSrcScalar->CH()))) 00146 - mMinOctave - 3)); 00147 } 00149 //We need levels+3 in each octave, since they will first be subtracted, 00150 //and then the subtration will be used for extrema localization 00151 //within +/- 1 scales 00152 mScales=mLevels+3; 00153 00154 ILOG_INFO("Initializing "<<mOctaves 00155 <<" octaves, each with "<<mLevels<<" levels and " 00156 <<mScales<<" scales."); 00157 ILOG_INFO((mResample?"Resampling Enabled":"Resampling Disabled")); 00158 00159 00160 mSigmas = new double[mOctaves*mScales]; 00162 mOctaveArray = new Array2dScalarReal64*[mOctaves*mScales]; 00163 for(int i=0;i<mOctaves*mScales;i++) 00164 mOctaveArray[i]=0; 00165 00167 //mSrcArray holds the images that will be gaussian smoothed, 00168 //for first octave it's the original image 00169 //for octaves below, it is calculated from the gaussian smoothing with 00170 //2*sigma 00171 mSrcArray = new Array2dScalarReal64*[mOctaves]; 00172 for(int i=0;i<mOctaves;i++) 00173 mSrcArray[i]=0; 00174 00175 00176 ILOG_INFO("Octave structures constructed!"); 00177 BuildOctave(); 00178 ILOG_INFO("Octave structures initialized!"); 00179 00180 00181 }
Here is the call graph for this function:
|