bicotiNeighbourFilterFacade2DVectorial


Figura 5.6.1






Clases:

bicotiNeighbourFilterFacade
bicotiNeighbourFilterFacade2D
bicotiNeighbourFilterFacade2DSingle
bicotiNeighbourFilter2DVectorial
bicotiNeighbourFilter3D
bicotiNeighbourFilter3DSingle
bicotiNeighbourFilter3DVectorial

Template Clases:

PixelType
PrecisionType


class bicotiDexelFacade2DVectorial< class PixelType,class
                                                                                PrecisionType=PixelType>



Public Methods

bicotiNeighbourFilterFacade2DVectorial( bicotiImageImplementation< PixelType > *  )
~bicotiNeighbourFilterFacade2DVectorial( )

void BuildLinearFilter( unsigned )
void BuildMedianFilter( unsigned )
void BuildMaximumFilter( unsigned )
void BuildMinimumFilter( unsigned )

void DestroyFilter( )

void UseExtrapolationStrategyConstant( PixelType )
void UseExtrapolationStrategyEqual( )
void UseExtrapolationStrategySimetric( )
void UseExtrapolationStrategyCiclic( )

void Filter( )

bicotiImageImplementation< PixelType > * GetResult( )
bicotiImageImplementation< PixelType > * LoadResult( )

bicotiFrame2DInternal< PrecisionType > * GetKernel( )



bicotiNeighbourFilterFacade2DVectorial( bicotiImageImplementation< PixelType > *  ptr_ima )

        Constructor al que paso como parámetro un puntero a la iamgen a la que apunta la fachada, es la imagen fuente para el filtro, la que se filtra.



virtual ~bicotiNeighbourFilterFacade2DVectorial( )

        Destructor virtual.



void BuildLinearFilter( unsigned frame_size )

        Crea un filtro de vecindad con una función lineal, cuyo tamaño de ventana es el que le paso.
        El filtro queda referenciado por un puntero interno. Una vez llamada esta función puedo acceder
        al kernel por la función GetKernel. para modificar sus valores y puedo usar la función Filter para
        correr el filtro.



void BuildMedianFilter( unsigned frame_size )

        Crea un filtro de vecindad con una función de mediana, cuyo tamaño de ventana es el que le paso.
        El filtro queda referenciado por un puntero interno. Una vez llamada esta función puedo acceder
        usar la función Filter para correr el filtro.



void BuildMaximumFilter( unsigned frame_size )

        Crea un filtro de vecindad con una función de máximo, cuyo tamaño de ventana es el que le paso.
        El filtro queda referenciado por un puntero interno. Una vez llamada esta función puedo acceder
        usar la función Filter para correr el filtro.



void BuildMinimumFilter( unsigned frame_size )

        Crea un filtro de vecindad con una función de mínimo, cuyo tamaño de ventana es el que le paso.
        El filtro queda referenciado por un puntero interno. Una vez llamada esta función puedo acceder
        usar la función Filter para correr el filtro.



void DestroyFilter( )

        Borra el filtro creado con Build y pone en NULL al puntero interno.
        Es conveniente llamar a esta función cuando ya no se use el filtro para ahorrar memoria.



void UseExtrapolationStrategyConstant( PixelType pix_val )

        Setea a la estrategia de extrapolación "constante" como estrategia de extrapolación del filtro.
        El valor que se pone en el borde es el que le paso.
        VerbicotiImageExtrapolationStrategy.



void UseExtrapolationStrategyEqual( )

        Setea a la estrategia de extrapolación "equal" como estrategia de extrapolación del filtro.
        VerbicotiImageExtrapolationStrategy.



void UseExtrapolationStrategySimetric( )

        Setea a la estrategia de extrapolación "simétrica" como estrategia de extrapolación del filtro.
        VerbicotiImageExtrapolationStrategy.



void UseExtrapolationStrategyCiclic( )

        Setea a la estrategia de extrapolación "cíclica" como estrategia de extrapolación del filtro.
        VerbicotiImageExtrapolationStrategy.



void Filter( )

        Esta es la función que corre el filtro.
        Para poder usar esta función primero hay que construir el filtro con la función Build y luego setear
        la estrategia de extrapolación.

        Por ejemplo :

                fachada.BuildMaximumFilter( );
                fachada.UseExtrapolationStrategyCiclic( );
                fachada.Filter( );



bicotiImageImplementation< PixelType > * GetResult( )

        Me devuelve un puntero a la imagen resultante del filtrado, solo estará disponible si se ha construido
        el filtro y corrido la función Filter.



bicotiImageImplementation< PixelType > * LoadResult( )

        Camabia la imagen fuente por el resultado del filtro y devuelve un puntero a él.

        Es decir si por ejemplo, la fachada tiene como imagen fuente a ptr_ima_1 y hacemos :

                fachada.BuildMaximumFilter( );
                fachada.UseExtrapolationStrategyCiclic( );
                fachada.Filter( );
                ptr_ima_2 = fachada.LoadResult( );

        Ahora la fachada apunta a la misma imagen que ptr_ima_2, la salida del filtro.



bicotiFrame2DInternal< PrecisionType > * GetKernel( )

        Devuelve un puntero al nucleo ( Kernel ) de la función lineal, a través de esta función podemos modificar el Kernel.

        Solo tiene sentido cuando se ha creado una función lineal con BuildLinearFilter, de lo contrario la función devuelve NULL.