Maa-57.301 Fotogrammetrian yleiskurssi (3 op)

Matlab-ohjelmointiosuus / Matlab programming

(English version is in the exercise paper. Just download the files...)

Harjoituksen ohjelmointiosuudessa täydennetään annettua Matlab-ohjelmaa tarvittavilla aliohjelmilla. Valmis ohjelma suorittaa keskinäisen orientoinnin kuvaliitosmenetelmällä koplanariteettiehtoa käyttäen. Harjoituksessa tehdään siis ainoastaan(!) seuraavat puuttuvat aliohjelmat:

Nämä m-päätteiset ns. script-tiedostot on luotu valmiiksi ja niiden sisältämät parametrit on annettu valmiina. Niistä puuttuu kuitenkin varsinainen Matlab-komentokielinen koodi, joka siis tehdään tässä harjoituksessa. Haluttaessa funktioiden parametrien nimet voi vaihtaa, mutta tällöin on muistettava säilyttään niiden järjestys ja dimensiot. Pääohjelma ja muut tarvittavat funktiot (myös aliohjelmien kutsumat) ovat valmiina ja niitä ei siis tarvitse muuttaa.

Harjoitus tehdään Matlabilla. Matlab on käytettävissä esimerkiksi TKK:n laskentakeskuksen koneilla. Mikäli Matlab ei ole täysin tuttu kannattaa tutustua esimerkiksi kirjaseen Simo Kivelä: "Matlab-opas" (myynnissä TKK:n päärakennuksen kirjakaupassa).

Harjoituksessa tarvittava lähtöaineisto on saatavissa www-sivujen kautta. Mikäli harjoituksen materiaalin hakemisessa ja tallettamisessa www-sivujen kautta, on ongelmia, ottanette heti yhteyttä.HUOM: Ohjelmoinnissa (form.m aliohjelmassa) tarvitaan kollineaarisuusehdon osittaisderivaattoja tuntemattomien parametrien suhteen. Näin ollen linearisointiharjoitus on syytä tehdä ensin!

Lähtöaineisto / Downloads

Alkuperäisen Matlab-ohjelman kahden kuvan keskinäistä orientointia varten on tehnyt Ilkka Niini. Harjoituksen suorittamista varten tarvitset seuraavat tiedostot. Saat ne itsellesi esimerkiksi näpäyttämällä kutakin "linkkiä" eli tiedoston nimiä ja tallettamalla ne sitten Save as -komennolla selaimessasi. "relor.mat"-tiedosto näyttää ainakin itselläni tyhjältä netscapessa katsottuna(binääritiedosto), mutta toimii oikein tallennettuna em. komennolla relor.mat-nimiseksi tiedostoksi. Ohjelmien nimet ovat maksimissaan 8 merkkiä pitkiä, jotta ne toimivat varmasti kaikissa järjestelmissä.

Kopioi kaikki seuraavat tiedostot (download all following files):

Ohjeita harjoituksen tekemisestä

Sinun tehtäväksesi tarkoitettujen funktioiden rungot on annettu valmiina parametrilistoineen. Annettu numeroaineisto (kuvahavainnot, projektiparametrit) on periaatteessa sinulta näkymättömissä ja pääohjelma lukee sen automaattisesti muistiin. Voit tehdä sopivia välitulosteita omiin funktioihisi, jos haluat nähdä mitä arvoja parametreilla ja havainnoilla kulloinkin on. Mikäli jätät puolipisteen pois ohjelmarivin lopusta, Matlab tulostaa muuttujien arvot. Välitulosteita ei valmiissa ohjelmassa kuitenkaan välttämättä tarvita, sillä ohjelma tulostaa itse vaadittavat lopputulokset päätteelle sekä 'diary'-tiedostoon.

Tutustu erityisesti relor.m pääohjelman alussa olevaan selostus-osaan, jossa esitellään mm. parametrit!

Muutamia vinkkejä:

  • Valitse Matlab-komentoikkunan valikko FILE ja hae tiedosto form.m (OPEN-komennolla). Kirjoita oma koodipätkäsi tähän tiedostoon ja talleta tiedosto uudestaan (SAVE-komennolla). (NEW-komento puhdistaa editorin muistin, jonka jälkeen voit hakea uuden tiedoston näytölle.)
  • Muokkaa myös tiedostot test.m ja compute.m kuntoon.
  • Aja pääohjelma Matlabin komentoikkunassa komennolla <relor>, jolloin myös omat funktiosi suoritetaan, mikäli ne toimivat oikein.
  • Jos relor-ohjelma pääsee loppuun asti, se pyytää sinua antamaan oikean etu- ja sukunimesi, joka tulostetaan ohjelman tuottamaan loppuraporttiin DIARY. Tarkista lopputulokset ruudulta.
  • Kun ohjelma tulostaa mielestäsi järkevän näköisen tuloslistan, niin voit lopettaa. Ellei, niin toista edelliset vaiheet. Tee samoin, jos ohjelma ei toimi oikein.
  • Lopeta Matlab.
  • Tulosta tuottamasi diary-raporttitiedosto
  • Tulosta itse tekemäsi aliohjelmat

    Huomioita

    Sinun kannattaa suunnitella funktioittesi rakenne etukäteen. Valmis ohjelma tuottaa siistin loppuraportin (diary-tiedoston). Neuvoja voi kysellä tarpeen mukaan. Älä jätä turhaan harjoitusta roikkumaan!!! Alkuun päästyäsi se ei ole niin vaikea kuin näyttää...
    Last update: October 12, 2001
    katri.koistinen@hut.fi