Reimplemented from Impala::Core::Test::TestBase. Definition at line 32 of file TestWeibull.h. References Impala::Core::Table::TableTem< Col1T, Col2T, Col3T, Col4T, Col5T, Col6T, Col7T, Col8T, Col9T >::Add(), Impala::Core::Array::Array2dTem< StorT, elemSize, ArithT >::CH(), Impala::Core::Test::TestImage::Compare(), Impala::Core::Histogram::ComputeWeibull(), Impala::Core::Array::Array2dTem< StorT, elemSize, ArithT >::CW(), Impala::Core::Array::ArraySet< ArrayT >::Delete(), Impala::FileNameCtor(), Impala::Core::Database::RawDataSet::GetDatabase(), Impala::Core::Database::RawDataSet::GetFileId(), Impala::Core::Database::RawDataSet::GetFilePathReference(), Impala::Core::Array::InvWiccest(), Impala::Core::Histogram::MakeHistogram1dSet(), mBinCount, mHistExt, Impala::Core::Test::TestImage::mImSet, mPyramid, mSigma, mSrcName, mTestNameBase, Impala::Core::Geometry::RectanglePyramid::NrLevels(), Impala::Core::Geometry::RectanglePyramid::NrRects(), Impala::Core::Test::TestImage::OpenSrcArray(), Impala::Core::Geometry::RectanglePyramid::Rect(), Impala::Core::Geometry::RectanglePyramid::SetImageSize(), Impala::Core::Array::ArraySet< ArrayT >::Size(), and Impala::Util::Write(). 00033 { 00034 typedef Vector::VectorTem<Real64> VectorReal64; 00035 typedef Histogram::Histogram1dSet<Array2dScalarReal64> HistSetType; 00036 typedef Vector::VectorSet<Array2dScalarReal64> VecSetType; 00037 typedef Feature::FeatureTable FeatureTable; 00038 00039 Array2dVec3UInt8* src = OpenSrcArray(mSrcName); 00040 mPyramid.SetImageSize(src->CW(), src->CH()); 00041 00042 Array::ArraySet<Array2dScalarReal64> invSet; 00043 Array::InvWiccest(invSet, src, false, false, mSigma, 3, true); 00044 HistSetType histSet(-mHistExt, mHistExt, mBinCount, invSet.Size()); 00045 int vecSize = 2; 00046 Feature::FeatureDefinition def("dummy"); 00047 FeatureTable histTab(def, 1000, mBinCount); 00048 FeatureTable weiTab(def, 1000, vecSize); 00049 for (int l=0 ; l<mPyramid.NrLevels() ; l++) 00050 { 00051 for (int r=0 ; r<mPyramid.NrRects(l) ; r++) 00052 { 00053 Geometry::Rectangle rect = mPyramid.Rect(l, r); 00054 Histogram::MakeHistogram1dSet(&histSet, invSet, rect, true); 00055 for (int h=0 ; h<histSet.Size() ; h++) 00056 { 00057 histTab.Add(r, histSet.Hist(h)); 00058 VectorReal64 v(vecSize); 00059 Histogram::ComputeWeibull(v, histSet.Hist(h), false, false); 00060 weiTab.Add(r, v); 00061 } 00062 } 00063 } 00064 int id = mImSet->GetFileId(mSrcName); 00065 String histS = FileNameCtor("", mTestNameBase, "histogram", mSigma, 00066 mBinCount, mHistExt, ".tab"); 00067 String weiS = FileNameCtor("", mTestNameBase, "weibull", mSigma, 00068 mBinCount, mHistExt, ".tab"); 00069 if (1) // 1 to compare to the reference, 0 to generate the reference 00070 { 00071 Compare(&histTab, 00072 mImSet->GetFilePathReference(id, histS, false, false)); 00073 Compare(&weiTab, 00074 mImSet->GetFilePathReference(id, weiS, false, false)); 00075 } 00076 else 00077 { 00078 Table::Write(&histTab, 00079 mImSet->GetFilePathReference(id, histS, true, false), 00080 mImSet->GetDatabase(), true); 00081 Table::Write(&weiTab, 00082 mImSet->GetFilePathReference(id, weiS, true, false), 00083 mImSet->GetDatabase(), true); 00084 } 00085 invSet.Delete(); 00086 delete src; 00087 }
Here is the call graph for this function:
|