Clases
bicotiImageImplementation
bicotiImageImplementation2D
bicotiImageImplementation2DSimple
bicotiImageImplementation2DByLayers
bicotiImageImplementation2DArray
bicotiImageImplementation2DSparse
bicotiImageImplementation3D
bicotiImageImplementation3DArray
bicotiImageImplementation3DLinear
Templates Clases
PixelType
class bicotiImageImplementation2D < class PixelType >
virtual
~bicotiImageImplementation2D ( )
double
GetScale
(
)
PixelType
GetDefaultPixel
(
)
PixelCases
PixelCase
(
)
int
GetX0Size
(
)
int
GetX1Size
(
)
void
Resize
(
int , int )
void
Resize
(
bicotiImageDescriptor * )
virtual
PixelType GetPixel ( int , int ) = 0
virtual
PixelType GetPixel ( bicotiCoordinate<
INTEGER >& ) = 0
virtual
voidSetPixel
(
bicotiCoordinate< INTEGER >& ,
const PixelType & ) = 0
bicotiImageDescriptor
* CreateImageDescriptor ( )
virtual
bicotiImageImplementation<
PixelType > * CreateImageImplementation
(
) = 0
virtual
bicotiImageImplementation<
PixelType > * CreateImageImplementation
(
bicotiImageDescriptor * ) = 0
virtual
bicotiImageIterator<
PixelType > * CreateIterator
( ) =
0
bicotiImageFrameIterator<
PixelType > * CreateFrameIterator
( int , bicotiImageExtrapolationStrategy<PixelType > * )
void
CopyMeFrom
( bicotiImageImplementation2D< PixelType > * )
Destrutor. A pesar de ser virtual necesita tener definido un destructor virtual.
Esta
función se declara e implementa en la clase base bicotiImageImplementation.
Ver GetScale(
) en bicotiImageImplementation.
Esta
función se declara e implementa en la clase base bicotiImageImplementation.
Ver GetDefaultPixel(
) en bicotiImageImplementation.
Esta
función se declara e implementa en la clase base bicotiImageImplementation.
Ver PixelCase(
) en bicotiImageImplementation.
Retorna el número de columnas de la imagen.
Retorna el número de filas de la imagen.
Esta
función permite modificar el tamaño de un imagen, pasando
el nuevo número de columnas
( x_0_size ) y de filas ( x_1_size ).
Si por ejemplo creo una imagen 2DArray 10 x 10 de enteros :
bicotiImage2DArray<int> image( 0 , 10 , 10 , 1 , single );
Puedo cambiar el tamaño a 3 x 5 ( 3 columnas , 5 filas ) haciendo :
image.Resize( 3 , 5 );
Obs:
Es importante aclarar que no cambian los valores del pixel por defecto
, la escala y el
pixel case, pero se pierde todo el contenido de la imagen.
Luego del "Resize" paso a tener una imagen 3 x 5 llena de ceros.
Esta
función se declara en la clase base bicotiImageImplementation y
se implementa
en esta clase.
Ver Resize(
) en bicotiImageImplementation.
Retorna
el valor del pixel ubicado en la fila x_1 y columna x_0.
Por ejemplo
, si tengo la imagen 2D de la figura 2.1.2
Si Hago :
pix = imagen.GetPixel(
2 , 1 );
Obtengo pix = 3.
pix = imagen.GetPixel(
4 , 3 );
Obtengo pix = 2.
Esta función es virtual pura en esta clase, se implementa en las especializaciones.
Esta
función se declara en la clase base bicotiImageImplementation y
se implementa
en las clases
derivadas.
Ver GetPixel(
) en bicotiImageImplementation.
Esta
función se declara en la clase base bicotiImageImplementation y
se implementa
en las clases
derivadas..
Ver SetPixel(
) en bicotiImageImplementation.
Esta
función se declara en la clase base bicotiImageImplementation y
se implementa
en esta clase.
Ver CreateImageDescriptor(
) en bicotiImageImplementation.
Esta
función se declara en la clase base bicotiImageImplementation y
se implementa
en las clases
derivadas.
Ver CreateImageImplementation(
) en bicotiImageImplementation.
Esta
función se declara en la clase base bicotiImageImplementation y
se implementa
en las clases
derivadas.
Ver CreateImageImplementation(
) en bicotiImageImplementation.
Esta
función se declara en la clase base bicotiImageImplementation y
se implementa
en las clases
derivadas.
Ver CreateIterator(
) en bicotiImageImplementation.
Esta
función se declara en la clase base bicotiImageImplementation y
se implementa
en esta clase.
Ver CreateFrameIterator(
) en bicotiImageImplementation.
Esta
función sirve para copiar los datos de otra implementación
de igual dimensión ( 2D en este
caso
). Si los tamaños no coinciden , se ajustan a los de la imagen fuente
( la apuntada por
ptr_ima_src
).
Por ejemplo, si defino una imagen de tipo 2D Sparse 10 x 10
bicotiImageImplementation2DSparse< int > * ptr_ima_src;
ptr_ima_src = new bicotiImageImplementation2DSparse< int >( 0 , 10 ,
10 );
Hago algo con esta imagen, y luego defino una imagen 2D Array 5 x 6
bicotiImageImplementation2DArray< int > * ptr_ima_dest;
ptr_ima_dest = new bicotiImageImplementation2DArray< int >( 0 , 5 ,
6 );
Puedo copiar el contenido de ima_src haciendo :
ptr_ima_dest->CopyMeFrom( ptr_ima_src );
De
esta forma, la imagen apuntada por ptr_ima_dest es 2D Array 10 x 10 con
el mismo
default
pixel, scale, pixel_case y contenido que la apuntada por ptr_ima_src.
Obs
: Esta función copia todo menos el tipo de la imagen. Requiere que
ambas sean de igual
dimensión y tipo de pixel ( el mismo template )