bicotiOperatorMultiple

Clases

bicotiOperatorMultiple

     Templates Clases

PixelType


class bicotiOperatorMultiple < class PixelType >



 Public Methods

bicotiOperatorMultiple();

void Append( bicotiImageImplementation< PixelType > * )
void Reset( unsigned = 0 )

void Apply( bicotiPixelOperatorBinary< PixelType > * )



bicotiOperatorMultiple( )

        Constructor. No se le pasan parámetros, por lo que luego hay que agregarle las imágenes sobre las cuales operará usando la función Append.



void Append( bicotiImageImplementation< PixelType > * ptr_ima )

    Esta clase tiene una lista de punteros a imágenes, de forma que aplica el operador a todas y devuelve el reultado en la primera.
La función Append sirve para agregar nuevas imágenes a la lista. Por ejemplos si quiero sumar dos imágenes 2D de enteros. Debo construir el operador y luego agregarlas.

    bicotiOperatorMultiple< int > oper;

    oper.Append( ptr_ima_1 );
    oper.Append( ptr_ima_2 );

Primero agregé un puntero a ima_1, entonces esta será el "acumulador", todos los resultados se escribirán sobre ella.

Obs : Todas las imágenes de la lista deben tener igual dimensión y tamaño. La primera que agrego define
          la dimensión y el tamaño, las demás deben ser compatibles, de lo contrario la función tira una
          exepción



void Reset( unsigned leave )

    Vacía la lista de punteros a imágenes, de atrás para adelante dejando tantas como lo indique la variable leave, que por defecto es 0.
Por lo tanto si hago :

        oper.Reset( );

Vacío la lista completamente.



void Apply( bicotiPixelOperatorBinary< PixelType > * ptr_oper )

    Aplica el operador de pixeles apuntado por ptr_oper a cada par de pixeles correspondientes en la lista y esribe el resultado en la primer imágen.

Por ejmplo si quiero sumar dos imágenes:
Primero creo el operator multiple y agrego las imágenes :

    bicotiOperatorMultiple< int > oper;

    oper.Append( ptr_ima_1 );
    oper.Append( ptr_ima_2 );

Ahora creo el operador para suma de pixeles :

    bicotiPixelOperatorBinary< int >* ptr_op_pix;
    ptr_op_pix = new  bicotiPixelOperatorBinaryAddition< int >;

y sumo :

    oper.Apply( ptr_op_pix );