34 #ifndef AIMS_PRIMALSKETCH_SCALESPACEBLOB_H
35 #define AIMS_PRIMALSKETCH_SCALESPACEBLOB_H
56 template<
class T>
class ScaleSpaceBlob;
121 glBlobs = std::list<GreyLevelBlob<T>*>();
127 glBlobs = std::list<GreyLevelBlob<T>*>();
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(char type, float tUp, float tDown)
std::list< ScaleSpaceBlob< T > * > bottomBlobs
void AddTopBlob(ScaleSpaceBlob< T > *blob)
std::list< ScaleSpaceBlob< T > * > TopBlobs()
void AddBottomBlob(ScaleSpaceBlob< T > *blob)
std::list< ScaleSpaceBlob< T > * > BottomBlobs()
std::list< ScaleSpaceBlob< T > * > topBlobs
void settDown(float tDown)
Class for grey-level blobs Templated with respect to the type of points: TypeSite<carto::VolumeRef<T>...
Bifurcation< T > * bottomBifurcation
void AddGreyLevelBlob(GreyLevelBlob< T > *blob)
BlobMeasurements measurements
Bifurcation< T > * TopBifurcation()
void SetScaleMin(float t)
void SetBottomBifurcation(Bifurcation< T > *bif)
GreyLevelBlob< T > * GlBlobRep()
Bifurcation< T > * BottomBifurcation()
GreyLevelBlob< T > * glBlobRep
BlobMeasurements GetMeasurements()
void SetMeasurements(BlobMeasurements meas)
ScaleSpaceBlob(const std::string &subject, int label)
std::list< GreyLevelBlob< T > * > glBlobs
void SetTopBifurcation(Bifurcation< T > *bif)
ScaleSpaceBlob(const std::string &subject)
Bifurcation< T > * topBifurcation
void SetScaleMax(float t)