SMIL  0.9
MaxTree Algorithm
+ Collaboration diagram for MaxTree Algorithm:

Classes

class  MaxTree2< T, CriterionT, OffsetT, LabelT >
 

Macros

#define COLUMN_MOD   (COLUMN_SIZE-1)
 
#define COLUMN_NBR   20
 
#define COLUMN_SHIFT   (COLUMN_NBR+1)
 
#define COLUMN_SIZE   2097152
 
#define GET_TREE_OBJ(type, node)   type[node >> COLUMN_SHIFT][node & COLUMN_MOD]
 

Functions

template<class T >
RES_T areaClose (const Image< T > &imIn, size_t stopSize, Image< T > &imOut, const StrElt &se=DEFAULT_SE)
 Area closing. More...
 
template<class T >
RES_T areaOpen (const Image< T > &imIn, size_t stopSize, Image< T > &imOut, const StrElt &se=DEFAULT_SE)
 Area opening. More...
 
template<class T , class CriterionT , class OffsetT , class LabelT >
RES_T attributeOpen (const Image< T > &imIn, Image< T > &imOut, size_t stopSize, const StrElt &se)
 
template<class T , class CriterionT , class OffsetT , class LabelT , class tAttType >
void compute_AttributeOpening (MaxTree2< T, CriterionT, OffsetT, LabelT > &tree, T *lut_node, LabelT root, tAttType stopSize)
 
template<class T1 , class T2 >
void compute_contrast (MaxTree2< T1, HeightCriterion, size_t, UINT32 > &tree, T1 *transformee_node, T2 *indicatrice_node, UINT32 root, T2 stopSize, UINT delta=0)
 
template<class T1 , class T2 >
void compute_contrast_MSER (MaxTree2< T1, HWACriterion, size_t, UINT32 > &tree, T1 *transformee_node, T2 *indicatrice_node, UINT32 root, T2 stopSize, UINT delta=0, UINT method=2, UINT minArea=0, T1 threshold=0, bool use_textShape=0)
 
template<class T1 , class T2 >
void compute_max (MaxTree2< T1, HeightCriterion, size_t, UINT32 > &tree, T1 *transformee_node, T2 *indicatrice_node, UINT32 node, T2 stop, T1 max_tr, T2 max_in, T2 hauteur_parent, T1 valeur_parent, T1 previous_value)
 
template<class T , class CriterionT , class OffsetT , class LabelT , class tAttType >
void ComputeDeltaUO (MaxTree2< T, CriterionT, OffsetT, LabelT > &tree, T *transformee_node, tAttType *indicatrice_node, int node, int nParent, T prev_residue, tAttType stop, UINT delta, int isPrevMaxT)
 
template<class T , class CriterionT , class OffsetT , class LabelT , class tAttType >
void ComputeDeltaUOMSER (MaxTree2< T, CriterionT, OffsetT, LabelT > &tree, T *transformee_node, tAttType *indicatrice_node, int node, int nParent, int first_ancestor, tAttType stop, UINT delta, UINT method, int isPrevMaxT, UINT minArea=0, T threshold=0, T mymax=0)
 
template<class T , class CriterionT , class OffsetT , class LabelT , class tAttType >
void ComputeDeltaUOMSERSC (MaxTree2< T, CriterionT, OffsetT, LabelT > &tree, T *transformee_node, tAttType *indicatrice_node, int node, int nParent, int first_ancestor, tAttType stop, UINT delta, int isPrevMaxT)
 
void computeFillAspectRatioFactor (UINT wNode, UINT cNode, UINT area, UINT width, UINT height, float &fillRatio, float &AspectRatio)
 
template<class T >
RES_T heightClose (const Image< T > &imIn, size_t stopSize, Image< T > &imOut, const StrElt &se=DEFAULT_SE)
 
template<class T >
RES_T heightOpen (const Image< T > &imIn, size_t stopSize, Image< T > &imOut, const StrElt &se=DEFAULT_SE)
 Height opening. More...
 
template<class T , class CriterionT , class OffsetT , class LabelT , class tAttType >
void processMaxTree (MaxTree2< T, CriterionT, OffsetT, LabelT > &tree, LabelT node, T *lut_out, T previousLevel, tAttType stop)
 
template<class T1 , class T2 >
RES_T ultimateOpen (const Image< T1 > &imIn, Image< T1 > &imTrans, Image< T2 > &imIndic, const StrElt &se=DEFAULT_SE, T2 stopSize=0, UINT delta=0)
 Ultimate Opening using the max-trees. More...
 
template<class T1 , class T2 >
RES_T ultimateOpenMSER (const Image< T1 > &imIn, Image< T1 > &imTrans, Image< T2 > &imIndic, const StrElt &se=DEFAULT_SE, T2 stopSize=0, UINT delta=0, UINT method=2, UINT minArea=0, T1 threshold=0, bool use_textShape=0)
 
void updateCriteria (const int node)
 Update criteria of a given max-tree node.
 
template<class T >
RES_T widthClose (const Image< T > &imIn, size_t stopSize, Image< T > &imOut, const StrElt &se=DEFAULT_SE)
 
template<class T >
RES_T widthOpen (const Image< T > &imIn, size_t stopSize, Image< T > &imOut, const StrElt &se=DEFAULT_SE)
 Width opening. More...
 

Detailed Description

Function Documentation

RES_T smil::areaClose ( const Image< T > &  imIn,
size_t  stopSize,
Image< T > &  imOut,
const StrElt se = DEFAULT_SE 
)

Area closing.

Max-tree based algorithm

Warning
4-connex only (6-connex in 3D)
Parameters
[in]imInInput image
[in]stopSizeThe size of the closing
[out]imOutOutput image
[in]seStructuring element
RES_T smil::areaOpen ( const Image< T > &  imIn,
size_t  stopSize,
Image< T > &  imOut,
const StrElt se = DEFAULT_SE 
)

Area opening.

Max-tree based algorithm

Warning
4-connex only (6-connex in 3D)
Parameters
[in]imInInput image
[in]stopSizeThe size of the opening
[out]imOutOutput image
[in]seStructuring element
RES_T smil::heightOpen ( const Image< T > &  imIn,
size_t  stopSize,
Image< T > &  imOut,
const StrElt se = DEFAULT_SE 
)

Height opening.

Max-tree based algorithm

Warning
4-connex only (6-connex in 3D)
Parameters
[in]imInInput image
[in]stopSizeThe size of the opening
[out]imOutOutput image
[in]seStructuring element
RES_T smil::ultimateOpen ( const Image< T1 > &  imIn,
Image< T1 > &  imTrans,
Image< T2 > &  imIndic,
const StrElt se = DEFAULT_SE,
T2  stopSize = 0,
UINT  delta = 0 
)

Ultimate Opening using the max-trees.

Max-tree based algorithm as described by Fabrizio and Marcotegui (2009) [3]

Parameters
[in]imInInput image
[out]imTransThe transformation image
[out]imIndicThe indicator image
[in]stopSize(optional)
[in]delta(optional)
[in]sestructuring element
RES_T smil::widthOpen ( const Image< T > &  imIn,
size_t  stopSize,
Image< T > &  imOut,
const StrElt se = DEFAULT_SE 
)

Width opening.

Max-tree based algorithm

Warning
4-connex only (6-connex in 3D)
Parameters
[in]imInInput image
[in]stopSizeThe size of the opening
[out]imOutOutput image
[in]seStructuring element