next up previous contents
Next: Toiminnot Up: Vertailija Previous: Yleiskuva

Tietorakenteet

Moduulissa Vertailija on seuraavat julkiset tietorakenteet:
typedef struct {
  double angle;
  double quality_info;
} angle_quality;

struct sect {
  struct sect *next;
  int index;
  double weight;
};

typedef struct sect sector;

typedef struct {
  int w, h, steps;
  sector *first;
} sectors;

Tietorakennetta angle_quality käytetään rotaatioinvarianttien vertailualgoritmien palautusarvojen välityksessä. Kenttä angle ilmoittaa kulman, jonka hyvyyttä tietorakenne kuvaa. Kentässä quality_info välitetään vertailun tulosta kuvaavaa hyvyysinformaatiota.

 Tietorakenne sectors määrittelee w 7#7h -kokoisen yksiulotteisen taulukon, jonka alkiot ova tyyppiä sector. Nämä alkiot sisältävät tiedon siitä, mihin sektoreihin kuvapisteen massa jakautuu (index on sektorin järjestysnumero ja weight on kuvapisteen paino sektorissa), ja muodostavat linkitetyn listan, jos piste jakautuu useampaan kuin yhteen sektoriin (next -kenttä). Kenttä sectors.steps ilmoittaa kuinka moneen sektoriin kuvan ala on jaettu. Tietorakennetta käytetään kuvan massan tehokkaaseen laskemiseen sektoreittain, mitä voidaan käyttää apuna vertailtaessa kuvia rotaatioinvariantisti.



T Valtteri Rahkonen
2000-04-02