next up previous contents
Next: Toiminnot Up: Kuvankäsittelijä Previous: Yleiskuvaus

Tietorakenteet

Moduuli sisältää seuraavat julkiset tietotyypit ja tietorakenteet:
typedef unsigned char uchar;

typedef fftw_real real;

typedef fftw_complex complex;

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

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

typedef struct {
  int type;
  int x, y, z;
  double x0, y0, z0;
  complex *data;
} image_complex;

typedef struct {
  int type;
  int dim[IMAGE_MAX_DIMS];
  double center[IMAGE_MAX_DIMS];
  void *data;
} image;      

typedef struct {
  double a1, a2, a3;
} orientation;

typedef struct {
  double x, y, z;
} point;

Tietotyyppejä uchar, real ja complex käytetään kuvien pisteiden tallettamiseen. Tietotyypit fftw_real ja fftw_complex on lainattu FFTW-kirjastosta [#!fftw!#] yhteensopivuuden varmistamiseksi.

Tietorakenteita image_uchar, image_real ja image_complex käytetään kaksi- ja kolmiulotteisten reaali- ja imaginäärikuvien esittämiseen muistissa. Kuvien tyyppi on talletettu kenttään type, jonka mahdollisia arvoja ovat IMAGE_2D_UCHAR, IMAGE_2D_REAL, IMAGE_2D_COMPLEX, IMAGE_3D_UCHAR, IMAGE_3D_REAL ja IMAGE_3D_COMPLEX. Kentät x, y ja z ilmoittavat kuvan dimensiot; jos z == 1 kuva on kaksiulotteinen. Kentät x0, y0 ja z0 ilmoittavat kuvan keskipisteen sijainnin. Kenttä data on osoitin muistialueelle, johon kuvan pisteiden intensiteetit on talletettu. Pisteen, jonka koordinaatit ovat (i, j, k), intensiteetti talletetaan paikkaan data[i + j*x + k*x*y]. Tietorakenteiden image_uchar, image_real ja image_complex ainoa ero on kentän data tyypissä, joka on uchar, real tai complex vastaavasti.

Tietorakenne image on edellisessä kappaleessa esitettyjen kuvatietorakenteiden yleistys. Kenttää type käytetään kuvan tyypin määrittämiseen samalla tavalla kuin tietorakenteissa image_uchar, image_real ja image_complex. Kuvan dimensiot esitetään taulukossa dim ja keskipisteen koordinaatit taulukossa center, joiden koot ilmoittaa käännösaikana määritelty vakio IMAGE_MAX_DIMS (arvo tyypillisesti 3). Kuvan pisteiden intensiteetit talletetaan taulukkoon data samassa järjestyksessä kuin muissakin kuvatietorakennetyypeissä. Taulukon data alkioiden tietotyyppi määräytyy kuvan type-kentän arvon perusteella.

Tietorakennetta orientation käytetään orientaatioiden esittämiseen. Tarkempi kuvaus löytyy luvusta Tietorakenteet (6.2).

Tietorakennetta point käytetään sijaintien esittämiseen kolmiulotteisessa avaruudessa.

Edellä mainittujen tietorakenteiden lisäksi moduulin toteutuksessa käytetään joitakin yksinkertaisia paikallisia tietorakenteita, joiden dokumentaatio löytyy lähdekoodin yhteydestä.


next up previous contents
Next: Toiminnot Up: Kuvankäsittelijä Previous: Yleiskuvaus
T Valtteri Rahkonen
2000-04-02