bicotiDexelFacade
bicotiDexelFacade2D
bicotiDexelFacade2DSingle
bicotiDexelFacade2DVectorial
bicotiDexelFacade3D
bicotiDexelFacade3DSingle
bicotiDexelFacade3DVectorial
class bicotiDexelFacade< class CoordTypeInt,
class CoordTypeReal , class PixelType >
Los argumentos template:
CoordTypeInt y CoordTypeReal, cooresponden a los tipos de coordenada a
utilizar, que serán para CoordTypeInt bicotiCoordinate2D<
INTEGER
>
ó
bicotiCoordinate3D<
INTEGER
>; para CoordTypeReal bicotiCoordinate2D<
REAL
>
ó bicotiCoordinate3D<
REAL
>. El argumento template PixelType cooresponde al tipo de pixel
a utilizar.
typedef CoordTypeInt IntegerCoordinate
typedef CoordTypeReal RealCoordinate
Protected Methods
void
ResetPointers(
)
void
DeleteMe(
)
virtual
void SetPixelInterpolator( ) = 0
Public Methods
void
BuildNewRegion(
)
bicotiDexelRegion<
CoordTypeInt, PixelType > * GetRegion(
unsigned )
unsigned
GetRegionsNumber(
)
void
DestroyRegions(
)
void
BuildRegionsProperties(
)
bicotiRegionProperty<
CoordTypeInt,
PixelType > * GetRegionProperty( unsigned
)
void
DestroyRegionsProperties(
)
void
BuildLabeling(
)
void
LoadRegionLabelingResult(
)
virtual
void
UsePixelLabelingCriterionRange(
PixelType, PixelType ) = 0
bicotiDexelLabeling<
CoordTypeInt,
PixelType > * GetLabeling( )
void
DestroyLabeling(
)
vector<
CoordTypeReal
> & CurveVector( )
void
BuildNewCurveOpenLinear(
vector< CoordTypeReal > & )
void
BuildNewCurveClosedLinear(
vector< CoordTypeReal
> & )
void
BuildNewCurveOpenSimpson(
vector< CoordTypeReal > & )
void
BuildNewCurveClosedSimpson(
vector< CoordTypeReal > & )
void
BuildNewCurveOpenSpline(
vector< CoordTypeReal > & )
void
BuildNewCurveClosedSpline(
vector< CoordTypeReal > & )
bicotiDexelCurveOpen<
CoordTypeReal,
PixelType > * GetCurveOpen( unsigned )
bicotiDexelCurveClosed<
CoordTypeReal,
PixelType > * GetCurveClosed( unsigned
)
unsigned
GetOpenCurvesNumber(
)
unsigned
GetClosedCurvesNumber(
)
void
DestroyCurves(
)
void
BuildCurvesProperties(
)
void
DestroyCurvesProperties(
)
Pone en NULL los punteros internos de la clase.
Se encarga de limpiar la "memoria" pedida en los parámetros internos.
Inicializa un bicotiImagePixelInterpolator a usarse en curvas.
Obs : Es una función de uso interno a la clase.
Destructor virtual.
Crea
una bicotiDexelRegion,
se puede acceder a esta mediante la función GetRegion(
index
),
con
0 <= index < GetRegionsNumber(
).
Se
Accede a las bicotiDexelRegion
que hay creadas mediante un unsigned index,
con
0 <= index < GetRegionsNumber( ).
Nos da la información de la cantidad de regiones que hay creadas.
Destruye las regiones creadas( libera la memoria pedida ) y sus propiedades ( si las hay creadas ).
Crea
una bicotiRegionProperty
para cada una de las bicotiDexelRegion
que
haya creadas, estas se
pueden acceder mediante la función GetRegionProperty(
index ),
con 0 <= index < GetRegionsNumber( ).
Se
Accede a las bicotiRegionProperty
que hay creadas mediante un unsigned index,
con
0 <= index < GetRegionsNumber(
). Observar que se accede a el objeto
bicotiRegionProperty
de la región index ( que se obtiene mediante
GetRegion(
index
) )
Destruye las propiedades de las regiones.
Construye
un bicotiDexelLabeling,
previamente hay que inicializar los parámetros
bicotiPixelLabelingCriterionRange
y bicotiConnectivityLabelingStrategy.
Mediante la función
UsePixelLabelingCriterionRange(
pixel_inf,
pixel_sup
), se buscarán pixels entre
pixels_inf
<=
pixel <= pixel_sup, si son pixels vectorial
se buscará en cada campo. Para definir el
criterio de Connectividad ( bicotiConnectivityLabelingStrategy ) ver en
los objetos
bicotiDexelFacede2D
ó bicotiDexelFacade3D, según la
dimensión.
Mediante
esta función se "borran" las regiones
antes creadas y se crean las regiones generadas con
el labeling.
Para acceder a estas regiones se utilizan las funciones ya antes mencionadas.
Usará los criterios de bicotiPixelLabelingCriterionRange, los parámetros
a pasar son pixel_inf y
pixel_sup. Si el pixel es del tipo single, se "etiquetarán"
los pixels que cumplan
pixel_inf <= pixel <= pixel_sup;
si el pixel es del tipo vectorial se "etiquetarán" los pixel
que cumplan
lo mismo que para pixels single en cada uno de sus campos.
Mediante esta función se accede al bicotiDexelLabeling una vez creado por BuildLabeling( ).
Se libera la memoria pedida durante la construcción del Labeling.
Con
esta función puedo acceder a un vector de coordenadas ( con la dimensión
adecuada ) que es mantenido internamente por la fachada. Puedo setearle
o leer sus coordenadas.
La idea de usar esta función es para no tener
que crear el vector cuando se quiera crear una curva a partir de el.
Crea una curva abierta interpolada
linealmente y la agrega a la lista de curvas cerradas que mantiene la fachada.
Cada curva que se agrega recibe un índice que comienza en cero y
luego aumenta.
Se puede acceder a la curva de índice index
mediante la función GetCurveOpen( index
)
Crea una curva cerrada interpolada
linealmente y la agrega a la lista de curvas cerradas que mantiene la fachada.
Cada curva que se agrega recibe un índice que comienza en cero y
luego aumenta.
Se puede acceder a la curva de índice index
mediante la función GetCurveClosed( index
)
Crea una curva abierta interpolada
con una función cuadrática ( Simpson ) y la agrega a la lista
de curvas cerradas que mantiene la fachada. Cada curva que se agrega recibe
un índice que comienza en cero y luego aumenta.
Se puede acceder a la curva de índice index
mediante la función GetCurveOpen( index
)
Crea una curva cerrada interpolada
con una función cuadrática ( Simpson ) y la agrega a la lista
de curvas cerradas que mantiene la fachada. Cada curva que se agrega recibe
un índice que comienza en cero y luego aumenta.
Se puede acceder a la curva de índice index
mediante la función GetCurveClosed( index
)
Crea una curva abierta interpolada
con un Spline y la agrega a la lista de curvas cerradas que mantiene la
fachada. Cada curva que se agrega recibe un índice que comienza
en cero y luego aumenta.
Se puede acceder a la curva de índice index
mediante la función GetCurveOpen( index
)
Crea una curva cerrada interpolada
con un Spline y la agrega a la lista de curvas cerradas que mantiene la
fachada. Cada curva que se agrega recibe un índice que comienza
en cero y luego aumenta.
Se puede acceder a la curva de índice index
mediante la función GetCurveClosed( index
)
Devuelve un puntero a la curva de índice index dentro de la lista de curvas cerradas interna a la fachada. Para que la curva exista debió ser creada con BuilNewCurveOpen.
Devuelve un puntero a la curva de índice index dentro de la lista de curvas abiertas interna a la fachada. Para que la curva exista debió ser creada con BuilNewCurveClosed.
Devuelve la cantidad de curvas abiertas que componen la lista de curvas abiertas de la fachada.
Devuelve la cantidad de curvas cerradas que componen la lista de curvas cerradas de la fachada.
Borra a todas las curvas de
ambas listas.
Vacía la lista de curvas abiertas
y cerradas.
Para cada una de las curvas en ambas listas, abietas y cerradas, crea un objeto para calcular sus propiedades.A cada propiedad de una curva abierta se la pone en una lista de propeiedades para curvas abiertas con el mismo índice que tiene la curva. Lo mismo para las propiedades de curvas cerradas.
Borra a todas las propeiedades
de ambas listas.
Vacía la lista de propiedades
de curvas abiertas y cerradas.