bicotiImage3DVectorial


Figura 5.1.9

     Clases

bicotiImage

bicotiImage2D
bicotiImage3D

bicotiImage2DSingle
bicotiImage2DVectorial
bicotiImage3DSingle
bicotiImage3DVectorial

     Templates Clases

ImageType
ColorType
PixelType
PrecisionType


class bicotiImage3DVectorial < 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 DestroyImplementation( )

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, PixelType, PrecisionType > *
                                                                                                                                                    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( )



void BuildImplementation( unsigned x_0_size , unsigned x_1_size , unsigned x_2_size )

    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 , x_1_size filas y x_2_size de profundidad.

Por ejemplo si creo una imagen con el constructor por defecto :

        bicotiImage3DArrayRGBFloat 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,3 );

        Ahora tiene 15 filas ,10 columnas y 3 de profundidad.

        Obs : la implementación que tenía se borra y la nueva se llena con el pixel por defecto.



ImageType * GetImplementation( )

    Ver GetImplementation en bicotiImage.



void SetImplementation ( ImageType * )

    Ver SetImplementation en bicotiImage.



void DestroyImplementation( )

    Ver DestroyImplementation en bicotiImage.



void BuildOperatorUnary( )

    Ver BuildOperatorUnary en bicotiImage3D.



bicotiOperatorUnaryFacade< PixelType > * CreateOperatorUnary( )

    Ver CreateOperatorUnary en bicotiImage3D.



bicotiOperatorUnaryFacade< PixelType > * GetOperatorUnary( )

    Ver GetOperatorUnary en bicotiImage.



void DestroyOperatorUnary( )

    Ver DestroyOperatorUnary en bicotiImage.



void BuildOperatorMultiple( )

    Ver BuildOperatorMultiple en bicotiImage3D.



bicotiOperatorMultipleFacade< PixelType > * CreateOperatorMultiple( )

    Ver CreateOperatorMultiple en bicotiImage3D.



bicotiOperatorMultipleFacade< PixelType > * GetOperatorMultiple( )

    Ver GetOperatorMultiple en bicotiImage.



void DestroyOperatorMultiple( )

    Ver DestroyOperatorMultiple en bicotiImage.



bicotiImageIterator< PixelType > * CreateIterator( )

    Ver CreateIterator en bicotiImage.



void BuildDexel( )

    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 :

        bicotiImage3DArrayRGBFloat  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.



bicotiDexelFacade3D< PixelType > * GetDexel( )

    Ver GetDexel en bicotiImage3D.



void DestroyDexel( )

    Ver DestroyDexel en bicotiImage.



void BuildProperty( )

    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 :

        bicotiImage3DArrayRGBFloat  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.



bicotiPropertyFacade < bicotiCoordinate3D< INTEGER >, ColorType, PixelType ,
                                                                                           PrecisionType > *  CreateProperty( )

    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 :

        bicotiImage3DArrayRGBFloat  imagen;

    Puedo tener un puntero a una fachada de Property para esta imagen haciendo :

        bicotiImage3DArrayRGBFloat  :: 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;



bicotiPropertyFacade < bicotiCoordinate3D< INTEGER > , ColorType ,
                                                            PixelType,PrecisionType > * GetProperty( )

    Ver GetProperty en bicotiImage3D.



void DestroyProperty( )

    Ver DestroyProperty en bicotiImage3D.



void BuildNeighbourFilter( )

    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 :

        bicotiImage3DArrayRGBFloat  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.



bicotiNeighbourFilterFacade3D< ColorType, REAL > * CreateNeighbourFilter( )

    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 :

        bicotiImage3DArrayRGBFloat  imagen;

    Puedo tener un puntero a una fachada de NeighbourFilter para esta imagen haciendo :

        bicotiImage3DArrayRGBFloat  :: 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;



bicotiNeighbourFilterFacade3D< PixelType, PrecisionType > * GetNeighbourFilter( )

    Ver GetNeighbourFilter en bicotiImage3D.



void DestroyNeighbourFilter( )

    Ver DestroyNeighbourFilter en bicotiImage3D.



void LoadNeighbourFilterResult( )

    Ver LoadNeighbourFilterResult en bicotiImage3D.



ImageType * GetNeighbourFilterResult( )

    Ver GetNeighbourFilterResult en bicotiImage3D.



void BuildGeometrical( )

    Ver BuildGeometrical en bicotiImage3D.



void DestroyGeometrical( )

    Ver DestroyGeometrical en bicotiImage3D.



bicotiGeometricalFacade3D< PixelType, PrecisionType > * GetGeometrical( )

    Ver GetGeometrical en bicotiImage3D.



ImageType * GetGeometricalResult( )

    Ver GetGeometricalResult en bicotiImage3D.



void LoadGeometricalResult( )

    Ver LoadGeometricalResult en bicotiImage3D.