Clases
bicotiImageImplementation
bicotiImageImplementation2D
bicotiImageImplementation2DSimple
bicotiImageImplementation2DByLayers
bicotiImageImplementation2DArray
bicotiImageImplementation2DSparse
bicotiImageImplementation3D
bicotiImageImplementation3DArray
bicotiImageImplementation3DLinear
Templates Clases
PixelType
class bicotiImageImplementation3D < class PixelType >
virtual ~bicotiImageImplementation3D ( )
double
GetScale
(
)
PixelType
GetDefaultPixel
(
)
PixelCases
PixelCase
(
)
int
GetX0Size
(
)
int
GetX1Size
(
)
int
GetX2Size
(
)
void
Resize
(
int , int , int )
void
Resize
(
bicotiImageDescriptor * )
virtual
PixelType GetPixel ( int , int , int ) =
0
virtual
PixelType GetPixel ( bicotiCoordinate<
INTEGER >& ) = 0
virtual
void
SetPixel ( int , int , int , const
PixelType
& ) = 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 ( bicotiImageImplementation3D< 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 ( dimensión X0 ).
Retorna el número de filas de la imagen ( dimensión X1 ).
Retorna la profundidad de la imagen ( dimensión X2 ).
Esta
función permite modificar el tamaño de un imagen, pasando
el nuevo número de columnas
( x_0_size ) , de filas ( x_1_size ) y profundidad ( x_2_size ).
Si por ejemplo creo una imagen 3DArray 10 x 10 x 3 de enteros :
bicotiImage3DArray<int> image( 0 , 10 , 10 , 3 , 1 , single );
Puedo cambiar el tamaño a 3 x 5 x 2 ( 3 columnas , 5 filas , profundidad 2 ) haciendo :
image.Resize( 3 , 5 , 2 );
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 x 2 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, profundidad x_2.
Por ejemplo
, si tengo la imagen 3D de la figura 2.1.3
Si Hago :
pix = imagen.GetPixel(
2 , 1 , 0 );
Obtengo pix = 2.
pix = imagen.GetPixel(
4 , 0 , 1 );
Obtengo pix = 3.
pix = imagen.GetPixel(
5 , 3 , 2 );
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.
Escribe en la posición indicada por ( x_0 , x_1 , x_2 ) el valor
de pix_val.
Por ejemplo, si quiero poner un 3 en la columna 1 , fila 0 , profundidad
3 , hago:
imagen.SetPixel( 1 , 0 , 3 , 3 );
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 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 ( 3D 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 3D Linear 10 x 10 x 3
bicotiImageImplementation3DLinear< int > * ptr_ima_src;
ptr_ima_src = new bicotiImageImplementation3DLinear< int >( 0 , 10 ,
10 , 3 );
Hago algo con esta imagen, y luego defino una imagen 3D Array 5 x 6 x 4
bicotiImageImplementation3DArray< int > * ptr_ima_dest;
ptr_ima_dest = new bicotiImageImplementation3DArray< int >( 0 , 5 ,
6 , 4 );
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 x 3
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 )