bicotiImagePixelInterpolator2DLagrange

bicotiImagePixelInterpolator2D
bicotiImagePixelInterpolator2DLinear
bicotiImagePixelInterpolator2DLagrange

bicotiImagePixelInterpolator3D
bicotiImagePixelInterpolator3DLinear
bicotiImagePixelInterpolator3DLagrange


class bicotiImagePixelInterpolator2DLagrange< class PixelType,
                                                                       class PrecisionType = PixelType >



Comentarios Generales :

    El template en PrecisionType es un tipo de pixel adecuado para obtener una buena precisión numérica, sin el costo de que la imagen a interpolar sea de este tipo ( PrecisionType ), que por lo general es mas costoso en terminos de memoria a utilizar. Es RESPONSABILIDAD DEL USUARIO contemplar este hecho y elegir un tipo adecuado de precisión numérica.

Por ejemplo si tenemos una bicotiImageImplementation2DArray< unsigned char > uno puede utilizar un bicotiImagePixelInterpolator2DLagrange< unsigned char >, como existe un default template
PrecisionType = PixelType en este caso, pero la precisión lograda será pobre y el resultado será inservible. Pero si se utiliza un interpolador del tipo
bicotiImagePixelInterpolator2DLagrange< unsigned char, float >, como internamente la cuentas se hacen con float se logra una mejor precisión y el resultado tiene mas sentido. Observar que no hace falta que la imagen sea de float, si no fuera así uno necesitaría tres veces mas memoria para guardar la imagen en float en ves de unsigned char.

Si esta interesando en conocer mas sobre PrecisionType ir a Restricciones de Pixels y Criterios de Diseño.

Breve explicación del algoritmo matemático:

    Dado un punto p ( punto rojo en la imagen ), considero F( p ) valor de pixel interpolado como lo indica la ecuación, siendo F( pi ) el valor de pixel en el punto pi.



Public Methods

void bicotiImagePixelInterpolator2DLagrange( bicotiImageImplementation2D< PixelType > * = NULL  )

PixelType operator( ) ( bicotiCoordinate< REAL > & )



void bicotiImagePixelInterpolator2DLagrange( bicotiImageImplementation2D< PixelType > *
                                                                                                                                        = NULL  )

    Constructor del objeto, recibe como parámetros la imagen referencia.



PixelType operator( ) ( bicotiCoordinate< REAL > & )

     Dado un punto, uno obtiene el "valor de pixel" interpolado usando este operador.



Vease la especificación detallada de cada clase en :