next up previous contents
Next: Orientaation esitys Up: Tietorakenteet Previous: Tietorakenteet

Kuvan esitysmuoto muistissa

Kuvat voivat olla yksi-, kaksi- tai kolmiulotteisia kokonais-, reaali- tai kompleksilukutaulukoita, joissa on tieto kuvan dimensioista ja sen keskipisteestä:

typedef struct {
 int x, y, z;
 double x0, y0, z0;
 uchar *data;
} image_uchar;

typedef struct {
 int x, y, z;
 double x0, y0, z0;
 real *data;
} image_real;

typedef struct {
 int x, y, z;
 double x0, y0, z0;
 complex *data;
} image_complex;
Origon ollessa (0, 0, 0) se osoittaa kuvan vasemmassa alanurkassa syvimmällä olevan pikselin (tai vokselin) keskipisteeseen. Oletamme pikselien (ja vokselien) olevan pisteitä. Kuvat sijoitetaan muistiin sanakirjajärjestykseen niin, että akselit vähiten merkitsevästä eniten merkitsevään ovat X, Y ja Z, jolloin kolmiulotteinen kuva koostuu jonosta kaksiulotteisia Z-akselin kanssa kohtisuorassa olevia kuvia (katso kuva 6.1). Reaali- ja kompleksiluvut peritään FFTW-kirjastosta ja kokonaislukutyyppinä käytetään kahdeksanbittistä etumerkitöntä kokonaislukua unsigned char.


typedef unsigned char uchar;
typedef fftw_real real;
typedef fftw_complex complex;
FFTW:n kyseiset tietotyypit on määritelty seuraavasti:

typedef double fftw_real;

typedef struct {
 fftw_real re, im;
} fftw_complex;

Nämä tietorakenteet on esitelty moduulissa Kuvankäsittelijä 5.2.4.



T Valtteri Rahkonen
2000-04-02