Figura 5.1.1
Clases
bicotiImage2DSingle
bicotiImage2DVectorial
bicotiImage3DSingle
bicotiImage3DVectorial
Templates Clases
ImageType
ColorType
PixelType
PrecisionType
class bicotiImage2DVectorial
<
class ImageType, class ColorType,
class PixelType, class PrecisionType = PixelType >
Public Types
typedef PixelType Pixel
typedef ImageType Implementation
typedef bicotiImageIterator< PixelType >
Iterator
typedef bicotiOperatorUnaryFacade< PixelType
> OperatorUnary
typedef bicotiOperatorMultipleFacade< PixelType
> OperatorMultiple
typedef bicotiDexelFacade2D< PixelType > Dexel
typedef bicotiPropertyFacade< bicotiCoordinate2D<
INTEGER > , ColorType , PixelType ,
PrecisionType > Property
typedef bicotiNeighbourFilterFacade2D< PixelType,
PrecisionType > NeighbourFilter
typedef bicotiGeometricalFacade2D< PixelType,
PrecisionType > Geometrical
Public Methods
void
BuildImplementation(
unsigned , unsigned )
ImageType
* GetImplementation( )
void
SetImplementation
(
ImageType * )
void
BuildOperatorUnary(
)
bicotiOperatorUnaryFacade<
PixelType > * CreateOperatorUnary( )
bicotiOperatorUnaryFacade<
PixelType > * GetOperatorUnary( )
void
DestroyOperatorUnary(
)
void
BuildOperatorMultiple(
)
bicotiOperatorMultipleFacade<
PixelType > * CreateOperatorMultiple( )
bicotiOperatorMultipleFacade<
PixelType > * GetOperatorMultiple( )
void
DestroyOperatorMultiple(
)
bicotiImageIterator<
PixelType > * CreateIterator( )
void
BuildDexel(
)
bicotiDexelFacade2D<
PixelType > * GetDexel( )
void
DestroyDexel(
)
void
BuildProperty(
)
bicotiPropertyFacade<
bicotiCoordinate2D< INTEGER >, ColorType, PixelType, PrecisionType >
*
CreateProperty( )
bicotiPropertyFacade<
bicotiCoordinate2D< INTEGER >, ColorType, PixelType, PrecisionType >
*
GetProperty( )
void
DestroyProperty(
)
void
BuildNeighbourFilter(
)
bicotiNeighbourFilterFacade2D<
ColorType, REAL > * CreateNeighbourFilter(
)
bicotiNeighbourFilterFacade2D<
PixelType, PrecisionType > * GetNeighbourFilter(
)
void
DestroyNeighbourFilter(
)
void
LoadNeighbourFilterResult(
)
ImageType
* GetNeighbourFilterResult( )
void
BuildGeometrical(
)
void
DestroyGeometrical(
)
bicotiGeometricalFacade2D<
PixelType, PrecisionType > * GetGeometrical(
)
ImageType
* GetGeometricalResult( )
void
LoadGeometricalResult(
)
Borra la implementación que tiene la imagen ( si existe ) y crea una nueva, con las dimensiones que le paso, es decir x_0_size columnas y x_1_size filas.
Por ejemplo si creo una imagen con el constructor por defecto :
bicotiImage2DArrayRGBFloat imagen;
Se crea una
imagen con una implementación 0 x 0.
Para cambiar
el tamaño puedo hacer :
imagen.BuildImplementation( 10, 15 );
Ahora tiene 15 filas y 10 columnas.
Obs : la implementación que tenía se borra y la nueva se llena con el pixel por defecto.
Ver GetImplementation en bicotiImage.
Ver SetImplementation en bicotiImage.
Ver DestroyImplementation en bicotiImage.
Ver BuildOperatorUnary en bicotiImage2D.
Ver CreateOperatorUnary en bicotiImage2D.
Ver GetOperatorUnary en bicotiImage.
Ver DestroyOperatorUnary en bicotiImage.
Ver BuildOperatorMultiple en bicotiImage2D.
Ver CreateOperatorMultiple en bicotiImage2D.
Ver GetOperatorMultiple en bicotiImage.
Ver DestroyOperatorMultiple en bicotiImage.
Ver CreateIterator en bicotiImage.
Construye una fachada de Dexel para la implementación de la imagen y mantiene una referencia interna a ella, de modo de poder usar sus funciones.
Por ejemplo si creo :
bicotiImage2DArrayRGBFloat imagen;
Creo la fachada de Dexel haciendo :
imagen.BuildDexel( );
Ahora puedo acceder al operador a través
del puntero que devuelve la función GetDexel.
Cuando no necesite más al objeto
es conveniente liberar la memoria con la función
DestroyDexel. De cualquier forma,
el destructor de la imagen lo hará.
Esta función esconde toda la complejidad que tiene la construcción del operador.
Ver GetDexel en bicotiImage2D.
Ver DestroyDexel en bicotiImage.
Construye una fachada de Property para la implementación de la imagen y mantiene una referencia interna a ella, de modo de poder usar sus funciones.
Por ejemplo si creo :
bicotiImage2DArrayRGBFloat imagen;
Creo la fachada de Property haciendo :
imagen.BuildProperty( );
Ahora puedo acceder al operador a través
del puntero que devuelve la función GetProperty.
Cuando no necesite más al objeto
es conveniente liberar la memoria con la función
DestroyProperty. De cualquier forma,
el destructor de la imagen lo hará.
Esta función esconde toda la complejidad que tiene la construcción de la fachada.
Construye una fachada de Property para la implementación de la imagen y devuelve una referencia a ella. La diferencia con BuildProperty es que luego de construida la fachada se pierde referencia a ella.
Por ejemplo si creo :
bicotiImage2DArrayRGBFloat imagen;
Puedo tener un puntero a una fachada de Property para esta imagen haciendo :
bicotiImage2DArrayRGBFloat
:: Property * ptr_prop;
ptr_prop
= imagen.CreateProperty( );
ptr_prop es un puntero a una
fachada de Property pero no es "vista" desde imagen, por lo tanto
cuando se quiere liberar la memoria hay que hacerlo externamente, la fachada
no lo hará.
Hay que hacer :
delete ptr_prop;
Ver GetProperty en bicotiImage2D.
Ver DestroyProperty en bicotiImage2D.
Construye una fachada de NeighbourFilter para la implementación de la imagen y mantiene una referencia interna a ella, de modo de poder usar sus funciones.
Por ejemplo si creo :
bicotiImage2DArrayRGBFloat imagen;
Creo la fachada de NeighbourFilter haciendo :
imagen.BuildNeighbourFilter( );
Ahora puedo acceder al operador a través
del puntero que devuelve la función GetNeighbourFilter.
Cuando no necesite más al objeto
es conveniente liberar la memoria con la función
DestroyNeighbourFilter. De cualquier
forma, el destructor de la imagen lo hará.
Esta función esconde toda la complejidad que tiene la construcción del operador.
Construye una fachada de Neighbour Filter para la implementación de la imagen y devuelve una referencia a ella. La diferencia con BuildNeighbourFilter es que luego de construida la fachada se pierde referencia a ella.
Por ejemplo si creo :
bicotiImage2DArrayRGBFloat imagen;
Puedo tener un puntero a una fachada de NeighbourFilter para esta imagen haciendo :
bicotiImage2DArrayRGBFloat
:: NeighbourFilter * ptr_filter;
ptr_filter
= imagen.CreateNeighbourFilter( );
ptr_filter es un puntero a una
fachada de NeighbourFilter pero no es "vista" desde imagen, por
lo tanto cuando se quiere liberar la memoria hay que hacerlo externamente,
la fachada no lo hará.
Hay que hacer :
delete ptr_filter;
Ver GetNeighbourFilter en bicotiImage2D.
Ver DestroyNeighbourFilter en bicotiImage2D.
Ver LoadNeighbourFilterResult en bicotiImage2D.
Ver GetNeighbourFilterResult en bicotiImage2D.
Ver BuildGeometrical en bicotiImage2D.
Ver DestroyGeometrical en bicotiImage2D.
Ver GetGeometrical en bicotiImage2D.
Ver GetGeometricalResult en bicotiImage2D.
Ver LoadGeometricalResult en bicotiImage2D.