
Clases:
bicotiGeometricalFacade
bicotiGeometricalFacade2D
bicotiGeometricalFacade3D
class bicotiGeometricalFacade< class CoordType, class PixelType >
       Los argumentos template:
CoordType y PixelType, corresponden al tipo de coordenada a utilizar y
al tipo pixel a utilizar. Uno pensaría que en CoordType se podría
poner cualquier Coordinate,
no es así el algoritmo esta pensado para que se trabaje con coordenadas
reales, o sea,
para bicotiCoordiante2D<
REAL
> o bicotiCoordinate3D<
REAL >, esto es porque las coordenadas hacen referencia a
ubicaciones en la implementación de la imagen, ya no como imagen
"discreta", sino como imagen "continua". Para conocer mas sobre PixelType
ir a Pixels.
bicotiImageDescriptor
* SizeImaDest( )
Public Methods
virtual
~bicotiGeometricalFacade(
)
virtual
void BuildAffimTransformation( ) = 0
virtual
void
BuildRotation(
double ) = 0
virtual
void
UsePixelInterpolatorLinear(
) = 0
virtual
void
UsePixelInterpolatorLagrange(
) = 0
bicotiMatrix2D<
double
>& Matrix( )
CoordType&
Vector(
)
CoordType&
RotationCenter(
)
bicotiImageImplementation<
PixelType
> * GetResult( )
bicotiImageImplementation<
PixelType
> * LoadResult( )
        Retorna
un Descriptor para redimensionar una imagen según el tipo de transformación
afin a
        realizar.
Destructor virtual de la clase.
Construye una transformación afin.
          
Crea una rotación( caso particular de transformacón affim
) generando la matriz T y el vector b
          
adecuados.
          
Para definir una rotación siempre hay que pasar un ángulo
y un punto( centro de rotación ). Al
          
centro de rotación se accede mediante la función RotationCenter(
), al ángulo se pasa
          
como parámetro de esta función.
          
El ángulo se expresa en radianes y se mide en sentido antihorario,
otra restricción mas es que este
          
debe estar entre -pi y pi.
Ejecuta la transformación afin.
         
Realiza los algoritmos con el interpolador lineal, según la dimensión
será
         bicotiImagePixelInterpolator2DLinear
o bicotiImagePixelInterpolator3DLinear.
         
Realiza los algoritmos con el interpolador lineal, según la dimensión
será
         bicotiImagePixelInterpolator2DLagrange
o bicotiImagePixelInterpolator3DLagrange.
         
Para definir una transformación afin hay que definir una matriz(
invertible ) y un vector, ver
         bicotiAffinTransformation.
Mediante esta función se puede pasar o leer la matriz
         
( bicotiMatrix2D< double
> ) a utilizar en el algoritmo.
         Para
definir una transformación afin hay que definir una matrix( invertible
) y un vector, ver
         bicotiAffinTransformation.Mediante
esta función se puede pasar o leer el vector que intervieneen
         
el algoritmo, este será un CoordType( argumento template que como
ya mencionamos será
         bicotiCoordinate2D<
REAL
> o bicotiCoordinate3D<
REAL
> según la dimensión con la que se este
         
trabajando).
          
En el caso particular de que la transformación afin sea una rotación,
hay que pasar un punto como
          
centro de rotación, mediante esta función se puede pasar
este parámetro CoordType( argumento
          
template que como ya mencionamos será bicotiCoordinate2D<
REAL
> o
         bicotiCoordinate3D<
REAL
> según la dimensión con la que se este trabajando).
         Retorna
el resultado de los Algorimos, ver los casos particulares para saber si
l reultado es
         
un bicotiImageImplementation2D
o bicotiImageImplementation3D.
         Esta
función hay que considerarla con cuidado, retorna el resultado como
la función anterior, pero
         
se pone este resultado como la próxima imagen fuente( imagen a aplicar
los algoritmos ). Recordar
         
que se pide memoria al realizar los algoritmos y si se pierde la referencia
a las imagenes no hay
         
forma de  devolverla, en particular tener cuidado con el resultado
de cortes en 3D, el resultado es
         
una imagen 2D y las imagenes fuente son 3D.