aimsalgo  5.0.5
Neuroimaging image processing
aims::ScaleSpace< Geom, Text > Class Template Reference

#include <aims/primalsketch/scalespace.h>

Inheritance diagram for aims::ScaleSpace< Geom, Text >:
Collaboration diagram for aims::ScaleSpace< Geom, Text >:

Classes

struct  BlobDescriptor
 

Public Types

enum  MeshShape { Surface, Tore }
 
enum  BlobSaddleType { Junction, Bottom }
 
enum  MeshGrowingMode { Translate, Scale, PushNormal }
 
enum  MergeCode { OK = 0, PbUp = 1, PbDown = 2, PbBoth = 3 }
 

Public Member Functions

 ScaleSpace ()
 
virtual ~ScaleSpace ()
 
void PutSmoother (Smoother< Geom, Text > *blur)
 
ScaleLevel< Geom, Text > * Scale (float t)
 
Text & GetScaleImage (float t)
 
Text & GetOriginalImage ()
 
std::map< float, ScaleLevel< Geom, Text > * > GetScaleLevels ()
 
void AddScale (float t)
 
void RemoveScale (float t)
 
void GenerateDefaultScaleSpace (float tmax)
 
std::set< float > GetScaleList ()
 
void WriteScale (float t, std::string name)
 
void WriteScaleSpace (std::string name)
 
Texture< int > meshBlobExtract (const AimsSurface< 3, Void > &mesh, const Texture< float > &inittex, std::map< int, BlobDescriptor > &limits)
 
int blobToGraph (Graph &g, const Texture< int > &blobs, const AimsSurfaceTriangle &mesh, const AimsSurfaceTriangle &infl_mesh, const Texture< float > &values, float scale, std::map< int, BlobDescriptor > &limits, int startindex)
 
void cleanGraphScale (Graph &g, float scale)
 
MergeCode mergeGraphs (Graph &g, Graph &h)
 
void createSubMeshes (Graph &g, const AimsSurface< 3, Void > &mesh, float depl=0, float depl0=0, MeshShape ms=Surface, MeshGrowingMode gm=Scale, bool compressedMeshes=true)
 
void grayLevel2PrimalSketch (Graph &glevel, Graph &psketch)
 
std::multimap< float, unsigned > sortGLB (std::string key, const std::map< unsigned, Vertex *> &nodes, const std::map< unsigned, std::set< Vertex *> > &scblobs)
 
void GLBVertexToSSBVertex (Graph &psketch, const std::multimap< float, unsigned > &ordering, const std::map< unsigned, Vertex *> &nodes, const std::map< unsigned, std::set< Vertex *> > &scblobs)
 
void GLBEdgeToSSBEdge (Graph &glevel, Graph &psketch, const std::map< Vertex *, unsigned > &labels, const std::map< unsigned, Vertex *> &nodes)
 
void setGraphLabelAndName (const std::multimap< float, unsigned > &ordering, const std::map< unsigned, Vertex *> &nodes, const std::map< unsigned, std::set< Vertex *> > &scblobs)
 
float getRepresentativeScale (const std::set< Vertex *> &SSB)
 
carto::rc_ptr< AimsSurfaceTrianglegetRepresentativeBlobMesh (float scale0, const std::set< Vertex *> &SSB)
 
int adaptiveScaleSpace (Graph &psketch, const AimsSurfaceTriangle &mesh, const AimsSurfaceTriangle &infl_mesh, const Texture1d &inittex, std::map< float, Texture< int > > &tex_blobs, std::map< float, Texture< float > > &tex_curv, int index, float tbegin, float tend, float dt, float dts, float dtmin, const float HMAX, bool logFlag, const std::map< unsigned, std::set< std::pair< unsigned, float > > > &weightLapl)
 
AimsSurfaceTriangle surface2Tore (const AimsSurfaceTriangle &)
 
- Public Member Functions inherited from aims::BaseScaleSpace
 BaseScaleSpace ()
 
virtual ~BaseScaleSpace ()
 

Protected Member Functions

float dt ()
 
- Protected Member Functions inherited from aims::BaseScaleSpace
int get_timediff (float t1, float t2)
 

Protected Attributes

std::map< float, ScaleLevel< Geom, Text > * > scales
 
Smoother< Geom, Text > * _smoother
 

Detailed Description

template<typename Geom, typename Text>
class aims::ScaleSpace< Geom, Text >

Definition at line 88 of file scalespace.h.

Member Enumeration Documentation

◆ BlobSaddleType

template<typename Geom, typename Text>
enum aims::ScaleSpace::BlobSaddleType
Enumerator
Junction 
Bottom 

Definition at line 66 of file meshBlob.h.

◆ MergeCode

template<typename Geom, typename Text>
enum aims::ScaleSpace::MergeCode
Enumerator
OK 
PbUp 
PbDown 
PbBoth 

Definition at line 87 of file meshBlob.h.

◆ MeshGrowingMode

template<typename Geom, typename Text>
enum aims::ScaleSpace::MeshGrowingMode
Enumerator
Translate 
Scale 
PushNormal 

Definition at line 72 of file meshBlob.h.

◆ MeshShape

template<typename Geom, typename Text>
enum aims::ScaleSpace::MeshShape
Enumerator
Surface 
Tore 

Definition at line 60 of file meshBlob.h.

Constructor & Destructor Documentation

◆ ScaleSpace()

template<typename Geom, typename Text>
aims::ScaleSpace< Geom, Text >::ScaleSpace ( )
inline

Definition at line 98 of file scalespace.h.

◆ ~ScaleSpace()

template<typename Geom, typename Text>
virtual aims::ScaleSpace< Geom, Text >::~ScaleSpace ( )
inlinevirtual

Definition at line 100 of file scalespace.h.

Member Function Documentation

◆ adaptiveScaleSpace()

template<typename Geom, typename Text>
int aims::ScaleSpace< Geom, Text >::adaptiveScaleSpace ( Graph psketch,
const AimsSurfaceTriangle mesh,
const AimsSurfaceTriangle infl_mesh,
const Texture1d inittex,
std::map< float, Texture< int > > &  tex_blobs,
std::map< float, Texture< float > > &  tex_curv,
int  index,
float  tbegin,
float  tend,
float  dt,
float  dts,
float  dtmin,
const float  HMAX,
bool  logFlag,
const std::map< unsigned, std::set< std::pair< unsigned, float > > > &  weightLapl 
)

◆ AddScale()

template<int D, typename T >
void aims::ScaleSpace< D, T >::AddScale ( float  t)

Definition at line 424 of file scalespace.h.

References aims::BaseScaleSpace::get_timediff().

◆ blobToGraph()

template<typename Geom, typename Text>
int aims::ScaleSpace< Geom, Text >::blobToGraph ( Graph g,
const Texture< int > &  blobs,
const AimsSurfaceTriangle mesh,
const AimsSurfaceTriangle infl_mesh,
const Texture< float > &  values,
float  scale,
std::map< int, BlobDescriptor > &  limits,
int  startindex 
)

◆ cleanGraphScale()

template<typename Geom, typename Text>
void aims::ScaleSpace< Geom, Text >::cleanGraphScale ( Graph g,
float  scale 
)

◆ createSubMeshes()

template<typename Geom, typename Text>
void aims::ScaleSpace< Geom, Text >::createSubMeshes ( Graph g,
const AimsSurface< 3, Void > &  mesh,
float  depl = 0,
float  depl0 = 0,
MeshShape  ms = Surface,
MeshGrowingMode  gm = Scale,
bool  compressedMeshes = true 
)

◆ dt()

template<typename Geom, typename Text>
float aims::ScaleSpace< Geom, Text >::dt ( )
inlineprotectedvirtual

Implements aims::BaseScaleSpace.

Definition at line 91 of file scalespace.h.

Referenced by aims::PrimalSketch< Geom, Text >::SetMinDt().

◆ GenerateDefaultScaleSpace()

template<typename Geom, typename Text>
void aims::ScaleSpace< Geom, Text >::GenerateDefaultScaleSpace ( float  tmax)
inline

Definition at line 119 of file scalespace.h.

◆ GetOriginalImage()

template<typename Geom, typename Text>
Text& aims::ScaleSpace< Geom, Text >::GetOriginalImage ( )
inline

Definition at line 112 of file scalespace.h.

◆ getRepresentativeBlobMesh()

template<typename Geom, typename Text>
carto::rc_ptr<AimsSurfaceTriangle> aims::ScaleSpace< Geom, Text >::getRepresentativeBlobMesh ( float  scale0,
const std::set< Vertex *> &  SSB 
)

◆ getRepresentativeScale()

template<typename Geom, typename Text>
float aims::ScaleSpace< Geom, Text >::getRepresentativeScale ( const std::set< Vertex *> &  SSB)

◆ GetScaleImage()

template<typename Geom, typename Text>
Text& aims::ScaleSpace< Geom, Text >::GetScaleImage ( float  t)
inline

Definition at line 110 of file scalespace.h.

◆ GetScaleLevels()

template<typename Geom, typename Text>
std::map<float, ScaleLevel<Geom, Text>*> aims::ScaleSpace< Geom, Text >::GetScaleLevels ( )
inline

Definition at line 114 of file scalespace.h.

◆ GetScaleList()

template<typename Geom, typename Text>
std::set<float> aims::ScaleSpace< Geom, Text >::GetScaleList ( )

◆ GLBEdgeToSSBEdge()

template<typename Geom, typename Text>
void aims::ScaleSpace< Geom, Text >::GLBEdgeToSSBEdge ( Graph glevel,
Graph psketch,
const std::map< Vertex *, unsigned > &  labels,
const std::map< unsigned, Vertex *> &  nodes 
)

◆ GLBVertexToSSBVertex()

template<typename Geom, typename Text>
void aims::ScaleSpace< Geom, Text >::GLBVertexToSSBVertex ( Graph psketch,
const std::multimap< float, unsigned > &  ordering,
const std::map< unsigned, Vertex *> &  nodes,
const std::map< unsigned, std::set< Vertex *> > &  scblobs 
)

◆ grayLevel2PrimalSketch()

template<typename Geom, typename Text>
void aims::ScaleSpace< Geom, Text >::grayLevel2PrimalSketch ( Graph glevel,
Graph psketch 
)

◆ mergeGraphs()

template<typename Geom, typename Text>
MergeCode aims::ScaleSpace< Geom, Text >::mergeGraphs ( Graph g,
Graph h 
)

◆ meshBlobExtract()

template<typename Geom, typename Text>
Texture<int> aims::ScaleSpace< Geom, Text >::meshBlobExtract ( const AimsSurface< 3, Void > &  mesh,
const Texture< float > &  inittex,
std::map< int, BlobDescriptor > &  limits 
)

◆ PutSmoother()

template<typename Geom, typename Text>
void aims::ScaleSpace< Geom, Text >::PutSmoother ( Smoother< Geom, Text > *  blur)
inline

Definition at line 102 of file scalespace.h.

◆ RemoveScale()

template<typename Geom, typename Text>
void aims::ScaleSpace< Geom, Text >::RemoveScale ( float  t)

◆ Scale()

template<typename Geom, typename Text>
ScaleLevel<Geom, Text>* aims::ScaleSpace< Geom, Text >::Scale ( float  t)
inline

Definition at line 104 of file scalespace.h.

◆ setGraphLabelAndName()

template<typename Geom, typename Text>
void aims::ScaleSpace< Geom, Text >::setGraphLabelAndName ( const std::multimap< float, unsigned > &  ordering,
const std::map< unsigned, Vertex *> &  nodes,
const std::map< unsigned, std::set< Vertex *> > &  scblobs 
)

◆ sortGLB()

template<typename Geom, typename Text>
std::multimap<float, unsigned> aims::ScaleSpace< Geom, Text >::sortGLB ( std::string  key,
const std::map< unsigned, Vertex *> &  nodes,
const std::map< unsigned, std::set< Vertex *> > &  scblobs 
)

◆ surface2Tore()

template<typename Geom, typename Text>
AimsSurfaceTriangle aims::ScaleSpace< Geom, Text >::surface2Tore ( const AimsSurfaceTriangle )

◆ WriteScale()

template<typename Geom, typename Text>
void aims::ScaleSpace< Geom, Text >::WriteScale ( float  t,
std::string  name 
)

◆ WriteScaleSpace()

template<typename Geom, typename Text>
void aims::ScaleSpace< Geom, Text >::WriteScaleSpace ( std::string  name)

Member Data Documentation

◆ _smoother

template<typename Geom, typename Text>
Smoother<Geom, Text>* aims::ScaleSpace< Geom, Text >::_smoother
protected

Definition at line 94 of file scalespace.h.

◆ scales

template<typename Geom, typename Text>
std::map<float, ScaleLevel<Geom, Text>*> aims::ScaleSpace< Geom, Text >::scales
protected

Definition at line 91 of file scalespace.h.


The documentation for this class was generated from the following files: