Figura 5.1.9
Clases
bicotiImage2DSingle
bicotiImage2DVectorial
bicotiImage3DSingle
bicotiImage3DVectorial
Templates Clases
ImageType
ColorType
PixelType
PrecisionType
class bicotiImage3DSingle
<
class ImageType, class ColorType,
class PixelType, class PrecisionType >
Public Types
typedef PixelType Pixel
typedef ImageType Implementation
typedef bicotiImageIterator< PixelType >
Iterator
typedef bicotiOperatorUnaryFacade< PixelType
> OperatorUnary
typedef bicotiOperatorMultipleFacade< PixelType
> OperatorMultiple
typedef bicotiDexelFacade3D< PixelType > Dexel
typedef bicotiPropertyFacade< bicotiCoordinate3D<
INTEGER > , ColorType , PixelType ,
PrecisionType > Property
typedef bicotiNeighbourFilterFacade3D< PixelType,
PrecisionType > NeighbourFilter
typedef bicotiGeometricalFacade3D< PixelType,
PrecisionType > Geometrical
Public Methods
void
BuildImplementation(
unsigned , 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(
)
bicotiDexelFacade3D<
PixelType > * GetDexel( )
void
DestroyDexel(
)
void
BuildProperty(
)
bicotiPropertyFacade<
bicotiCoordinate3D< INTEGER >, ColorType, ColorType, REAL > * CreateProperty(
)
bicotiPropertyFacade<
bicotiCoordinate3D< INTEGER >, ColorType, PixelType, PrecisionType >
*
GetProperty( )
void
DestroyProperty(
)
void
BuildNeighbourFilter(
)
bicotiNeighbourFilterFacade3D<
ColorType, REAL > * CreateNeighbourFilter(
)
bicotiNeighbourFilterFacade3D<
PixelType, PrecisionType > * GetNeighbourFilter(
)
void
DestroyNeighbourFilter(
)
void
LoadNeighbourFilterResult(
)
ImageType
* GetNeighbourFilterResult( )
void
BuildGeometrical(
)
void
DestroyGeometrical(
)
bicotiGeometricalFacade3D<
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 y x_2_size de profundidad.
Por ejemplo si creo una imagen con el constructor por defecto :
bicotiImage3DArrayFloat imagen;
Se crea una
imagen con una implementación 0 x 0 x 0.
Para cambiar
el tamaño puedo hacer :
imagen.BuildImplementation( 10, 15 , 5 );
Ahora tiene 15 filas , 10 columnas y 5 de profundidad.
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 bicotiImage3D.
Ver CreateOperatorUnary en bicotiImage3D.
Ver GetOperatorUnary en bicotiImage.
Ver DestroyOperatorUnary en bicotiImage.
Ver BuildOperatorMultiple en bicotiImage3D.
Ver CreateOperatorMultiple en bicotiImage3D.
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 :
bicotiImage3DArrayFloat 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 bicotiImage3D.
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 :
bicotiImage3DArrayFloat 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 :
bicotiImage3DArrayFloat imagen;
Puedo tener un puntero a una fachada de Property para esta imagen haciendo :
bicotiImage3DArrayFloat
:: 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 bicotiImage3D.
Ver DestroyProperty en bicotiImage3D.
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 :
bicotiImage3DArrayFloat 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 :
bicotiImage3DArrayFloat imagen;
Puedo tener un puntero a una fachada de NeighbourFilter para esta imagen haciendo :
bicotiImage3DArrayFloat
:: 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 bicotiImage3D.
Ver DestroyNeighbourFilter en bicotiImage3D.
Ver LoadNeighbourFilterResult en bicotiImage3D.
Ver GetNeighbourFilterResult en bicotiImage3D.
Ver BuildGeometrical en bicotiImage3D.
Ver DestroyGeometrical en bicotiImage3D.
Ver GetGeometrical en bicotiImage3D.
Ver GetGeometricalResult en bicotiImage3D.
Ver LoadGeometricalResult en bicotiImage3D.