34 #ifndef AIMS_PRIMALSKETCH_SCALESPACEBLOB_H 35 #define AIMS_PRIMALSKETCH_SCALESPACEBLOB_H 71 _tMid=exp((log(_tUp)+log(_tDown))/2.0);
121 glBlobs = std::list<GreyLevelBlob<T>*>();
127 glBlobs = std::list<GreyLevelBlob<T>*>();
149 void ComputeLifeTime();
150 void ComputeScaleRep();
159 lifeTime=log(topBifurcation->tMid()) - log(bottomBifurcation->tMid());
168 float t, delta=1000.0;
169 typename std::list<GreyLevelBlob<T>*>
::iterator 170 itBlob=glBlobs.begin();
172 scaleRep=exp((log(scaleMin) + log(scaleMax))/2.0);
174 for (; itBlob!=glBlobs.end(); ++itBlob)
176 t=(*itBlob)->GetScale();
178 if (fabs(t-scaleRep) < delta)
180 delta=fabs(t-scaleRep);
Bifurcation< T > * bottomBifurcation
Bifurcation(char type, float tUp, float tDown)
std::list< ScaleSpaceBlob< T > * > TopBlobs()
BlobMeasurements GetMeasurements()
std::list< GreyLevelBlob< T > * > glBlobs
GreyLevelBlob< T > * GlBlobRep()
ScaleSpaceBlob(const std::string &subject, int label)
GreyLevelBlob< T > * glBlobRep
Bifurcation< T > * BottomBifurcation()
std::list< ScaleSpaceBlob< T > * > bottomBlobs
std::list< ScaleSpaceBlob< T > * > topBlobs
std::list< ScaleSpaceBlob< T > * > BottomBlobs()
ScaleSpaceBlob(const std::string &subject)
Bifurcation< T > * topBifurcation
void AddGreyLevelBlob(GreyLevelBlob< T > *blob)
void SetTopBifurcation(Bifurcation< T > *bif)
void SetMeasurements(BlobMeasurements meas)
void SetScaleMin(float t)
BlobMeasurements measurements
void SetBottomBifurcation(Bifurcation< T > *bif)
void settDown(float tDown)
void AddTopBlob(ScaleSpaceBlob< T > *blob)
Bifurcation< T > * TopBifurcation()
void AddBottomBlob(ScaleSpaceBlob< T > *blob)
void SetScaleMax(float t)