A09-17Kuvanrekisteröinti indosyaniinivihreä videoangiografiaan
|
|
- Satu Härkönen
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 AS A09-17Kuvanrekisteröinti indosyaniinivihreä videoangiografiaan Projektityö Marianna Kontulainen 12/9/2009
2 Sisällysluettelo 1 Projektin tavoite ITK-kirjasto Kuvanrekisteröintiprosessi Intensiteettiin perustuva rekisteröinti Piirteisiin perustuva rekisteröinti Projektin kulku Ajankäyttö Toteutuneet riskit Python-rajapinta Asennus Koodi Toteutunut ohjelma ITK:n asennus ja kääntäminen Videomateriaali Valitut funktiot Ohjelman rakenne Käytetyt keinot suorituksen nopeuttamiseksi Suorituskyky Kehitysehdotuksia Käytettyä kirjallisuutta... 9
3 1 Projektin tavoite Projektityön tavoitteena oli tehdä kuvanreksteröintiohjelma indosyaniinivihreä (ICG, indocyanine green) videoangiografiaan. Angiografiassa potilaan verisuoneen ruiskutetaan varjoainetta, jonka jälkeen aineen etenemistä voidaan kuvata mm. röntgenillä tai infrapunakameralla. Indosyaniinivihreä lääketieteessä yleisesti käytetty varjoaine. Aine fluoresoi lähi-infrapuna-alueella, joten yksinkertaisimmillaan infrapunakamerana voidaan käyttää tavallista digikameraa. Kuvanrekisteröinnissä peräkkäiset videoframet kohdistetaan päällekkäin, jolloin kuvauslaitteen liikkumisesta aiheutuva häiriö poistuu. Rekisteröitävä videokuva on peräisin aivoleikkauksesta. Rekisteröinnistä oli tarkoituksena tehdä nopeaa, jotta sitä voitaisiin käyttää onlinekuvanrekisteröinnissä. Reaaliaikaisessa kuvanrekisteröinnissä rekisteröinti pitäisi pystyä suorittamaan kertaa sekunnissa. Valmiissa ohjelmassa tulisi myös olla mahdollisuus seurata rekisteröinnin etenemistä ja onnistumista suorituksen aikana. Tavoitteena oli käyttää valmista ITK-kirjastoa (Insight Segmentation and Registration Toolkit) apuna ohjelman toteuttamisessa. ITK-kirjasto on toteutettu C++-kielellä, mutta siitä on olemassa rajapinnat Pythonille, Javalle sekä Matlabille. Projektityön aluksi suunnitelmana oli käyttää Python-rajapintaa, jotta ohjelmointi sujuisi helpommin. 2 ITK-kirjasto 2.1 Kuvanrekisteröintiprosessi ITK:n kuvanrekisteröintiprosessi on kuvan 1 mukainen. Sisääntulona prosessiin syötetään kaksi kuvaa, joista toinen on paikallaan oleva kuva ja toinen liikkuva kuva. Iteraatiosyklin mitta-osiossa lasketaan mitta, joka kuvaa paikallaan olevan ja liikkuvan kuvan välistä eroa. Optimointi-osiossa lasketaan edelliseltä iteraatiokierrokselta saadun mitan perusteella uudet transformaatioparametrit. Transformaatio kohdassa tehdään varsinainen mäppäys kahden kuvan pisteiden välillä käyttäen optimointi-osiossa laskettuja transformaatioparametreja. Interpolointia tarvitaan, koska pisteet eivät aina mäppäydy suoraan gridille vaan hieman ohi siitä. Iterointisykliä toistetaan kunnes liikkuva kuva on saatu kohdistettua riittävän hyvin paikallaan olevan kuvan päälle. Kuva 1. Kuvanrekisteröintiprosessi
4 2.2 Intensiteettiin perustuva rekisteröinti Intensiteettiin perustuvassa rekisteröintimenetelmässä käytetään koko kuvadataa. Tämän ansiosta rekisteröintiprosessi on automaattinen, mutta laskennallisesti se voi olla hidas erityisesti käytettäessä suuren resoluution kuvia tai tarkkoja 3D-kuvia. Tarkoituksena on minimoida kustannusfunktiota, joka mittaa kuvien intensiteettiien samankaltaisuutta. Tässä projektityössä tehdyssä ohjelmassa rekisteröintimenetelmä on intensiteettiin perustuva, joten tästä menetelmästä kerrotaan tarkemmin luvussa Piirteisiin perustuva rekisteröinti Piirteisiin perustuvassa rekisteröinnissä kuvasta valitaan tiettyjä tunnistettavia piirteitä, kuten pisteitä, viivoja tai muotoja. Tämä menetelmän on nopeampi verrattuna intensiteettiin perustuvaan menetelmään, koska rekisteröinnin tekemiseen ei tarvita koko kuvadataa. Ennen rekisteröintiprosessin aloittamista käyttäjän on yleensä valittava piirteet, joiden mukaan rekisteröinti tehdään. Näin ollen rekisteröintiprosessi ei ole täysin automaattinen eikä tapauksesta riippumaton. Angiografiakuvissa piirteinä voisi käyttää esimerkiksi suonien risteyskohtia. Eri leikkauksissa sngiografiassa näkyy kuitenkin erilaisia risteyksiä, jolloin käyttäjän olisi aina osoitettava risteyskohdat. Lisäksi osa piirteistä saattaa olla osan aikaa poissa näkyvistä (kuvan ulkopuolella tai leikkausinstrumentin alla), joka aiheuttaa lisävaikeuksia rekisteröintiin. Piirteiden löytäminen ja tunnistaminen kuvasta ei ole helppo tehtävä. ITK-kirjastossa on funktioita liittyen piirteisiin perustuvaan rekisteröintiin. Yksinkertaisimillaan piirteinä voi siis olla yksittäisiä pisteitä. Minimoidaan kahden kuvan pistejoukkojen etäisyyttä. Ensimmäinen skenaaroi soveltuu jäykkään tai affiini transformaatioon. Siinä kahdessa pistejoukossa on sama määrä pisteitä ja tietyllä pisteellä yhdessä joukossa tiedetään olevan täsmälleen yksi vastaava piste toisessa pistejoukossa. Toisessa skenaariossa pisteiden välistä vastaavuutta ei tunneta eikä pistejoukot ole välttämättä saman kokoisia. Ensimmäisen skenaarion mukaiseen rekisteröintiongelmaa voidaan yrittää ratkaista ITK:n funktiolla LandmarkBasedTransformInitializer. Jos kyseessä on deformaation rekisteröinti, voidaan käyttää ITK:n KernelTransform-funktioita. 3 Projektin kulku 3.1 Ajankäyttö Ajankäyttö on esitetty tarkemmin alla olevassa taulukossa. Projektityöhön käytetty aika vastaa vajaata viittä opintopistettä (127,5h/27h=4,72 op). Projektin aluksi asetin omaksi tavoitteekseni 5 opintopistettä. Viikko Käytetty tuntimäärä: 37 Aiheiden jako, alustavaa tutustumista rekisteröintiin 4 38 Tarkennusta työhön ohjaajalta, suunnittelua työparin kanssa 3,5 Kirjallisuuden lukemista (mm. Insight into Images) 6 39 Tapaaminen ohjaajan ja työparin kanssa 1,5 Työsuunnitelman teko ja esittely 6 Kirjallisuuden lukemista (mm. ITK software guide) 9
5 40 Python rajapinnan asennus 6,5 Esimerkkien koodausta Pythonilla Esimerkkien koodausta Pythonilla 2 42 ITK:n kääntäminen (C++-kieleen siirtyminen) 7 43 Alkeellisen rekisteröintiohjelman koodaus C++:lla 7,5 44 Koeviikko, sain työssä käytettävän videomateriaalin Kahden kuvan kaappaus videomateriaalista ja käyttö tehdyssä ohjelmassa 2 Kuvasarjan teko videomateriaalista kaapatusta kuvasta 4 45 Väliraportin teko ja esittely 5 46 Koodausta (multi resolution menetelmä) 3 47 Koodausta (multi resolution menetelmä) 3,5 48 Lopullisen ohjelman koodaus: Ohjelman perusrakenne, tulosteet 14 Eri funktioiden kokeilua 6 49 Parametrien säätöä ja ohjelman suorituskyvyn arviointia 8 50 Loppudemon esittely ja kalvojen teko 4 Loppudokumentin kirjoitus 12 Yhteensä: 127,5 3.2 Toteutuneet riskit Projektin alussa suurimmaksi riskiksi luokiteltiin epäilys siitä, että ITK-kirjaston ei välttämättä sovellu nopeaan kuvanrekisteröintiin. Erityisesti deformaation rekisteröinti nopeasti aiheutti huolta. Projektin aikana tämä epäilys osoittautui todeksi ja toteutetussa ohjelmassa jäätiin kauaksi tavoitellusta rekisteröintinopeudesta huolimatta erilaisista yrityksistä nopeuttaa suoritusta. Ohjelmointikielen epäiltiin myös aiheuttavan ongelmia. Pythonilla ohjelmointi olisi sopinut minulle paremmin ja työtä aloitettiinkin tekemään Python-rajapinnan avulla. Opettelin ITK-kirjaston käyttöä Pythonilla. Ohjelmoin esimerkkiohjelmia ja kokeilin erilaisten funktioiden toimintaa. Selvisi kuitenkin, että rajapinnan kautta ei ole kaikkia tarvittavia funktioita käytettävissä, joten jouduin vaihtamaan C++-kieleen. Osa Pythonilla ohjelmointiin käytetty aika meni hukkaan ja ohjelmointi C++-kielellä oli hitaampaa, koska minulla ei ollut paljoa kokemusta sillä ohjelmoimisesta. Aloitin tekemään työtä parin kanssa ja hän oli mukana vielä väliraportin aikaan. Myöhemmin selvisi kuitenkin, että parini ei suoritakaan kurssia. Kaikki kurssiin liittyvät tuotokset ovat minun tekemiäni. Odotin kuitenkin saavani apua erityisesti loppudokumentin kirjoittamiseen ja siksi en pysynyt täysin aikataulussa. 4 Python-rajapinta Aloitin tekemään projektityötäni Python-rajapinnan kautta. Ajattelin, että Pythonilla ohjelmoiminen olisi nopeampaa ja itselleni helpompaa. ITK:n ohjelmointikieli on siis C++. Itselläni ei ollut aiempaa kokemusta kyseisestä ohjelmointikielestä, joten työtä nopeuttaakseni päätin käyttää Pythonrajapintaa.
6 4.1 Asennus Python-rajapinnan käyttöönottoa varten asensin seuraavat ohjelmat: Python 2.16 wrapitk (binäärit) ITK Koodi Opettelin ITK:n käyttöä Pythonilla ja ohjelmoin ITK:n esimerkkejä Pythonilla, jotka oli aiemmin toteutettu C++:lla. Lopputuloksena tästä työstä on muutamia ohjelmia, joissa tehdään yksinkertainen rekisteröinti kahdelle kuvalle. Kaikki funktiot eivät kuitenkaan ole käytössä Pythonrajapinnan kautta. Päätös ohjelmointikielenvaihdosta syntyi, kun selvisi, että esimerkiksi käyttämäni CenteredRigid2DTransform-funktio ei ollut käytettävissä rajapinnan kautta. Lopullisen toteutuksessa en voinut käyttää Pythonilla tekemääni koodia. 5 Toteutunut ohjelma 5.1 ITK:n asennus ja kääntäminen ITK:n kääntämistä ja asennusta varten tarvitsin seuraavat ohjelmat: MinGW MSYS Cmake ITK ITK Software Guiden luvussa kaksi on selkeät ohjeet kirjaston asennukseen ja tein asennuksen sen mukaan. 5.2 Videomateriaali Alkuperäisenä suunnitelmana oli tehdä ohjelma, joka pilkkoo videomateriaalin ensin yksittäisiin kuviin, suorittaa rekisteröinnin kuville ja yhdistää sitten yksittäiset kuvat takaisin videoksi. Ennen kuin sain videomateriaalin käsiini, etsin valmiita ohjelmia ja muita ratkaisuja, joilla videokuvan saisi helposti jaettua yksittäisiin kuviin. ITK:ssa ei ollut valmiita funktioita tämän tekemiseen. Saadessani lopulta videomateriaalin jouduin muuttamaan suunnitelmiani. Videomateriaalissa kirurgi paineli kudosta leikkaustyökalulla, jolloin verisuonten muoto muuttui. Aikaisemmin oli todettu, että ITK:n rekisteröintifunktiot, jotka ottivat deformaation huomioon olivat liian raskaita reaaliaikaiseen rekisteröintiin. Videomateriaalia oli ilmeisesti käytetty opetustarkoitukseen ja kuvan päälle oli lisätty selventäviä tekstejä. Myös nämä tekstit todettiin ongelmallisiksi rekisteröinnin kannalta. Näistä syistä päätin olla käyttämättä saatua videota sellaisenaan. Sen sijaan kaappasin videomateriaalista yhden kuvan ja liikuttelemalla tätä yhtä kuvaa sain muodostettua sarjan kuvia, jotka syötin ohjelmaani. Käytin apuna vidonkäsittelyohjelmaa. Tekemässäni kuvasarjassa kuvat ovat resoluutioltaan 256x256, ne siirtyvät sekä kiertyvät ja ne on tallennettu png-formaatissa.
7 5.2 Valitut funktiot Projektityön aikana kokeilin useita rekisteröintifunktioita ja luin ITK Software Guidea sekä dokumentaatiota. Tärkeimpänä valintakriteerinä oli nopeus. Esittelen tässä lyhyesti rekisteröintiprosessin eri osiin liittyvät funktiot. Muitakin funktioita toki käytettiin, mutta nämä ovat rekisteröinnin kannalta tärkeimmät. Transformaatiofunktioksi valitsin CenteredRigid2Dtransformfunktion. Funktio on tarkoitettu jäykkien kappaleiden 2D-kuvien rekisteröintiin. Iteraatioprosessin aikana kuvaa kierretään keskipisteen ympäri, kun normaalisti kierto tehdään kuvan kulmassa olevan pisteen ympäri. Mittana käytin MeanSquaresImageToImageMetric-funktiota, jossa lasketaan keskineliöllinen pikselikohtainen ero intensiteetissä kahden kuvan välillä. Mitan optimaalinen arvo on nolla. Interpolaattorifunktioksi valitsin LinearInterpolateImageFunction-funktion, jossa oletetaan, että intensiteetti muuttuu lineaarisesti grid-sijaintien välillä. Optimointi funktiona käytin RegularStepGradientDescentOptimizer-funktiota. Funktiossa parametreja muutetaan gradientin suuntaan. 5.3 Ohjelman rakenne Ohjelma ajetaan komentoriviltä ja se ottaa komentoriviparametreinä rekisteröitävän kuvasarjan sijainnin ja formaatin, kuvasarjan viimeisen kuvan numeron sekä sijainnin ja formaatin, jolla rekisteröity kuvasarja tallennetaan. Komento, jolla ohjelma käynnistetään on seuraavanlainen Registration1 input/img%03d.png 49 output/out%03d.png Kuvien tiedostoformaatti on png ja tässä esimerkissä rekisteröitävät kuvat löytyvät input-kansiosta ja rekisteröidyt kuvat laitetaan output-kansioon. Kuvien tiedostonimet ovat img000.ong, img001.png, img002.png jne. Toteutetussa ohjelmassa paikallaan oleva kuva on koko ajan kuvasarjan ensimmäinen kuva. Rekisteröintiprosessi tehdään for-loopissa, jossa kuvasarjan jokainen kuva käydään läpi ja asetetaan liikkuvaksi kuvaksi. Rekisteröinti tehdään aina yhdelle kuvaparille kerrallaan. Lopuksi rekisteröity kuvasarja siis palautetaan tiedostoon. 5.4 Käytetyt keinot suorituksen nopeuttamiseksi Kuvamateriaalista tehtiin useita oletuksia, joiden odotettiin nopeuttavan rekisteröintiä. Ensimmäinen oletus oli, että kuvassa ei tapahdu deformaatiota. Tämä oletus tehtiin, koska ITK:n deformaation huomioon ottavien funktioiden suoritus kesti useita minuutteja. Vertasin funktioiden suoritusaikoja ajamalla ITK:n valmiita esimerkkiohjelmia. Projektityössä käytettävä kuvamateriaalissa ei siis tapahdu muodon muutosta, se ainoastaan siirtyy ja kiertyy. Oletettiin myös, että videokuva on pieniresoluutioista eli tässä tapauksessa 256x256. Lisäksi maksimikiertymä ja -siirtymä oletettiin melko pieniksi. Kuvasarja, joka tehtiin tätä projektityötä varten oli kaikkien näiden oletusten mukainen. Kaikki edellä mainituista oletuksista eivät todennäköisesti pätisi oikealle videomateriaalille verisuonikartoituksesta. Kirurgin leikkaustyökalut saattavat olla kohteen edessä ja kirurgi saattaa koskea kudosta niin, että kohteen muoto muuttuu. Resoluutio ja oletus siitä, että kuva liikkuu vain vähän eri framejen välillä voi pitää paikkansa oikeassakin tilanteessa. Eräs keino, jolla ohjelman suoritusta pyrittiin nopeuttamaan oli Multi Resolution menetelmän käyttäminen. Tässä menetelmässä paikallaan olevasta ja liikkuvasta kuvasta muodostetaan
8 kuvapyramidit, joissa alkuperäisistä kuvista on muodostettu annetujen kutistustekijöiden mukaan pienempiresoluutioisia kuvia. Rekisteröinti tehdään ensin pienimmän resoluution kuville ja iteraatiokierrosten edetessä resoluutiota kasvatetaan. Lisäksi suoritusta voidaan nopeuttaa tekemällä rekisteröinti vain joka toiselle kuvalle. 5.5 Suorituskyky Multi resolution -menetelmä ei nopeuttanut ohjelman suoritusta kuten odotettiin; eroa tuskin huomasi. Menetelmästä on apua, jos rekisteröitävät kuvat ovat kaukana toisistaan. Projektityössä toteutetussa ohjelmassa kuvan oletettiin liikkuvan todella vähän, joten menetelmä ei vähentänyt iteraatiokertoja merkittävästi. Ohjelman suoritukseen kului omalla koneellani kuusi minuuttia. Ohjelman suoritusnopeus riippuu hyvin paljon käytettävän PC:n tehokkuudesta. Kokeilin ohjelman suoritusta myös toisella, tehokkaammalla koneella ja suoritusaika oli 50 sekuntia. Myös sillä oli merkitystä, millä alustalla ohjelma käännettiin. Parhaimmillaan pääsin 40 sekunnin suoritusaikaan. Suoritusaika puolittuu, jos rekisteröinnissä käytetään vain joka toista kuvaa. Jätettäessä joka toinen kuva huomioimatta, suorituksen tarkkuus kärsii ja mitan arvo kasvaa. Ohjelman suoritusajassa jäätiin kauaksi tavoitellusta, mutta optimoimalla ohjelmaa edelleen ja käyttämällä riittävän tehokasta PC:tä voidaan päästä reaaliaikaisen rekisteröinnin tavoitteisiin. Liitteenä on taulukko rekisteröintituloksista. Niistä nähdään, että mitan arvo on yhtä rekisteröintikierrosta lukunnottamatta alle yhden. Ero alkuperäisestä kuvasarjasta laskettujen arvojen ja rekisteröinnin tuloksena saatavien arvojen välillä on todella pieni kierron ja y-suuntaisen translaation kohdalla. X-suunnassa ero on hieman suurempi. Tämä johtuu todennäköisesti vain siitä, että alkuperäisessä kuvasarjassa kuva liikkuu x-suunnassa enemmän, jolloin eroa on jäljellä enemmän myös rekisteröinnin jälkeen. Katsottaessa rekisteröinnin tuloksena saatavaa kuvasarjaa rekisteröinti näyttää onnistuneen hyvin; kuva pysyy paikallaan ja se on riittävän tarkka. 6 Kehitysehdotuksia Toteutettu ohjelma ottaa 50 kuvaa, tekee kaikille rekisteröinnin ja palauttaa 50 rekisteröityä kuvaa. Jos rekisteröintiohjelmaa käytettäisi online-rekisteröinnissä, pitäisi ohjelma toteuttaa niin, että se ottaa yhden kuvaparin eli kaksi peräkkäistä kuvaa, joista ensimmäinen asetetaan paikallaan olevaksi kuvaksi ja toinen liikkuvaksi kuvaksi. Ohjelma tekee tälle kuvaparille rekisteröinnin ja palauttaa yhden rekisteröidyn kuvan. Kuvaparin jälkimmäinen kuva siirtyy seuraavaksi paikallaan olevaksi kuvaksi ja videovirrasta otetaan uusi kuva liikkuvaksi kuvaksi. Jos kuva liikkuu hitaasti kauaksi alkuperäisestä kohteesta ja rekisteröinti tehdään aina kahdelle peräkkäiselle kuvalle, myös rekisteröity kuva alkaa liikkua eikä pysy paikallaan kuten oli tarkoitus. Tästä syystä rekisteröinnissä tulee ottaa huomioon myös ensimmäisen kuvan koordinaatit ja laskea jäljessä tulevien kuvien koordinaatit ensimmäisen kuvan suhteen. Vaikka kuva siirtyisi kokonaan pois ensimmäisen kuvan määrittämältä kohdealueelta, ohjelma säilyttää kuitenkin tiedon liikkuvan kuvan sijainnista, mutta rekisteröity kuva pysyy paikallaan. Koordinaattien selvittämiseksi on tutkittava tarkemmin ITK:n tapaa tehdä rekisteröinti. Mikäli rekisteröinti halutaan tehdä FPGA:lla, on ITK näkemykseni mukaan liian raskas kirjasto siihen tarkoitukseen. Jos rekisteröintiohjelmaa suoritetaan PC:ssä, on ITK:n käyttäminen mahdollista myös
9 online-rekisteröinnin tapauksessa. Toinen kirjasto, jonka sopivuutta kuvanrekisteröintiin voisi tutkia on OpenCV-kirjasto. OpenCV (Open Source Computer Vision) on konenäkösovelluksia varten tehty avoimen lähdekoodin kirjasto, joka on tarkoitettu erityisesti reaaliaikaiseen kuvaprosessointiin. Kirjaston funktioita voisi soveltaa piirteisiin perustuvaan rekisteröintiin. Lisäksi kirjastosta löytyy valmis funktio still-kuvien kaappaamiseen videokuvasta. 7 Käytettyä kirjallisuutta [1] Tuomas Seppälä; Indosyaniinivihreä silmän optisessa verisuonikartoituksessa; Kandidaatintyö; [2] Luis Ibáñez, Will Schroeder, Lydia Ng, Josh Cates, Insight Software Consortium; The ITK Software Guide; ; [3]Terry S. Yoo; Insight into Images: Principles and Practice for Segmentation, Registration, and Image Analysis; 2004; ISBN: [4] ITK Documentation;
10 Translaatio x-suunta Alkuperäinen Rekisteröity Ero Translaatio y-suunta Alkuperäinen Rekisteröity Ero -0,4327-0, , ,03 0, , ,8629-0, ,0178 0,0955 0, , ,2868-1, , ,1944 0, , ,7013-1, , ,3254 0, , ,1035-2,0692-0,0343 0,4877 0,4781 0,0096-2,4905-2,4484-0,0421 0,6809 0, , ,8595-2, , ,905 0, , ,2076-3, , ,1605 1, , ,5315-3, , ,4483 1, , ,8259-3, , ,7674 1, , ,0849-4, , ,1151 2, , ,304-4, , ,4882 2, , ,4799-5, , ,8826 2, , ,6109-5, , ,2941 3, , ,6967-5, , ,718 3, , ,7384-5, , ,1498 4, , ,7384-5, , ,5848 4,5439 0,0409-4,6999-5, , ,0188 4, , ,3923-1, , ,2478 7, , ,8283 2, , ,0024 6, , ,7663 4,8955-0,1292 3,9643 3, , ,3002 4, , ,224 3, , ,7226 4, , ,576 2, , ,0392 3, , ,0483 2, , ,2687 3, , ,6546 1, , ,442 2, , ,3923 1, , ,5862 1, , ,2419 1, , ,2801 0, , ,1786 1, , ,1453-0, , ,1782 1, , ,0096-0, , ,2198 1, , ,8745-1, , ,2859 1, , ,7416-2, , ,3601 1, , ,6116-3, , ,4244 1,399 0,0254-5,4834-3, , ,4565 1, , ,3528-4, , ,4254 1, , ,2104-5, , ,2843 1, , ,0154-6, , ,967 0, , ,6824-7, , ,4223 0, , ,1378-8, , ,3182-0, , ,4806-6, , ,7562-3, , ,1227-2, , ,2938-5, , ,0546 1, , ,8953-3, ,01532
11 2,5059 2, , ,1344-3, , ,8339 2, , ,3191-2, , ,9049 2, , ,4455-1, , ,4982 2, , ,6835-0, , ,7378 1, , ,2512-0, , ,878 0, , ,0617-0, , Kierto (astetta) Alkuperäinen Rekisteröity Ero Mitta -0,0242-0, , , ,0638-0, , , ,1057-0, , , ,1457-0, , , ,1812-0, , , ,2096-0, , , ,2281-0, , , ,2321-0, , , ,2142-0, , , ,1573-0, , , , , , ,3048 1, , , ,8872 2, , , ,998 0,002 0, ,5451 3, , , ,9392 2, , , ,2756 2, , , ,581 1, , , ,8678 0, , , ,1438 0,1498-0,006 0, ,5854-0, , , ,3145-1, , , ,0375-2, , , ,7453-2, , , ,42-3, , , , , , ,4146-4, , , ,7874-4, , , ,1372-5, , , ,4683-5, , , ,7818-5, , , ,0769-6, , , ,3513-6, , , ,6009-6,6027 0,0018 0, ,8186-6, , ,785109
12 -6,9909-6, , , ,0875-7, , , ,9972-0,0028 0, ,6982-4, , , ,7528-1, , , ,6622 0, , , ,9183 0, ,9E-05 0, ,9179 0, ,7E-05 0, ,8284 0, , , ,6907 0, , , ,5237 0, , , ,34 0, ,0008 0, ,153 0, , ,524027
Ohjelmointi 1. Kumppanit
Ohjelmointi 1 Kumppanit November 20, 2012 2 Contents 1 Mitä ohjelmointi on 7 2 Ensimmäinen C#-ohjelma 9 2.1 Ohjelman kirjoittaminen......................... 9 A Liite 11 3 4 CONTENTS Esipuhe Esipuhe 5
S09 04 Kohteiden tunnistaminen 3D datasta
AS 0.3200 Automaatio ja systeemitekniikan projektityöt S09 04 Kohteiden tunnistaminen 3D datasta Loppuraportti 22.5.2009 Akseli Korhonen 1. Projektin esittely Projektin tavoitteena oli algoritmin kehittäminen
Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo
Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...
Zeon PDF Driver Trial
Matlab-harjoitus 2: Kuvaajien piirto, skriptit ja funktiot. Matlabohjelmoinnin perusteita Numeerinen integrointi trapezoidaalimenetelmällä voidaan tehdä komennolla trapz. Esimerkki: Vaimenevan eksponentiaalin
Algoritmit 1. Luento 3 Ti Timo Männikkö
Algoritmit 1 Luento 3 Ti 17.1.2017 Timo Männikkö Luento 3 Algoritmin analysointi Rekursio Lomituslajittelu Aikavaativuus Tietorakenteet Pino Algoritmit 1 Kevät 2017 Luento 3 Ti 17.1.2017 2/27 Algoritmien
CUDA. Moniydinohjelmointi 17.4.2012 Mikko Honkonen
CUDA Moniydinohjelmointi 17.4.2012 Mikko Honkonen Yleisesti Compute Unified Device Architecture Ideana GPGPU eli grafiikkaprosessorin käyttö yleiseen laskentaan. Nvidian täysin suljetusti kehittämä. Vuoden
811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu
811312A Tietorakenteet ja algoritmit, 2018-2019, Harjoitus 3, Ratkaisu Harjoituksessa käsitellään algoritmien aikakompleksisuutta. Tehtävä 3.1 Kuvitteelliset algoritmit A ja B lajittelevat syötteenään
Videon tallentaminen Virtual Mapista
Videon tallentaminen Virtual Mapista Kamera-ajon tekeminen Karkean kamera ajon teko onnistuu nopeammin Katseluohjelmassa (Navigointi > Näkymät > Tallenna polku). Liikeradan ja nopeuden tarkka hallinta
Harjoitustyön testaus. Juha Taina
Harjoitustyön testaus Juha Taina 1. Johdanto Ohjelman teko on muutakin kuin koodausta. Oleellinen osa on selvittää, että ohjelma toimii oikein. Tätä sanotaan ohjelman validoinniksi. Eräs keino validoida
TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2
TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos TKT-3200 Tietokonetekniikka I Harjoitustyö 4: Cache, osa 2.. 2010 Ryhmä Nimi Op.num. 1 Valmistautuminen Cache-työn toisessa osassa
IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit
IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,
ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014
18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,
Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla
Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla ALKUHARJOITUS Kynän ja paperin avulla peilaaminen koordinaatistossa a) Peilaa pisteen (0,0) suhteen koordinaatistossa sijaitseva - neliö, jonka
Opi kuvin: By Choice v.1.4 asennus Asennus järjestelmänvalvojan oikeuksin
Opi kuvin: By Choice v.1.4 asennus Asennus järjestelmänvalvojan oikeuksin Opi kuvin: By Choice 1.4 sisältää ilmaisen, yli 3000 symbolia sisältävän symbolipäivityksen. Uudet kuvasymbolit löytyvät erillisistä
Matopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö
Matopeli C#:lla Aram Abdulla Hassan Ammattiopisto Tavastia Opinnäytetyö Syksy 2014 1 Sisällysluettelo 1. Johdanto... 3 2. Projektin aihe: Matopeli C#:lla... 3 3. Projektissa käytetyt menetelmät ja työkalut
ANVIA ONLINE BACKUP ASENNUSOPAS 1(7) ANVIA ONLINE BACKUP ASENNUSOPAS 1.0
1(7) ANVIA ONLINE BACKUP Asioita, jotka tulee huomioida ennen asennusta! Koska palvelu sisältää myös sharing-ominaisuuden, on asiakas itse vastuussa millaisia tiedostoja palvelimelle varmuuskopioi ja kenelle
Tietotekniikan valintakoe
Jyväskylän yliopisto Tietotekniikan laitos Tietotekniikan valintakoe 2..22 Vastaa kahteen seuraavista kolmesta tehtävästä. Kukin tehtävä arvostellaan kokonaislukuasteikolla - 25. Jos vastaat useampaan
11/20: Konepelti auki
Ohjelmointi 1 / syksy 2007 11/20: Konepelti auki Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/11 Tämän luennon
Python-ohjelmointi Harjoitus 2
Python-ohjelmointi Harjoitus 2 TAVOITTEET Kerrataan tulostuskomento ja lukumuotoisen muuttujan muuttaminen merkkijonoksi. Opitaan jakojäännös eli modulus, vertailuoperaattorit, ehtorakenne jos, input-komento
PRINCIPLES OF PROGRAMMING LANGUAGES - DEBUGGER
PRINCIPLES OF PROGRAMMING LANGUAGES - DEBUGGER Group 16 Ville Laatu Henri Myllyoja - i SISÄLLYSLUETTELO 1. DEBUGGERI YLEISESTI... II 1.1 Debuggerin käyttämien... ii 1.2 Debuggerin käynnistäminen... ii
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 30.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 30.9.2015 1 / 27 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
Nexetic Shield Unlimited
Nexetic Shield Unlimited Käyttöohje 1. Asennus ja käyttöönotto 2. Ohjelman käyttäminen 3. Lisäasetukset 4. Tietojen palautus 1. Asennus ja käyttöönotto Asiakasohjelman asennus Tehtyäsi tilauksen varmistusohjelmasta
JOHDATUS TEKOÄLYYN TEEMU ROOS
JOHDATUS TEKOÄLYYN TEEMU ROOS TERMINATOR SIGNAALINKÄSITTELY KUVA VOIDAAN TULKITA KOORDINAATTIEN (X,Y) FUNKTIONA. LÄHDE: S. SEITZ VÄRIKUVA KOOSTUU KOLMESTA KOMPONENTISTA (R,G,B). ÄÄNI VASTAAVASTI MUUTTUJAN
f(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n))
Määritelmä: on O(g(n)), jos on olemassa vakioarvot n 0 > 0 ja c > 0 siten, että c g(n) kun n > n 0 O eli iso-o tai ordo ilmaisee asymptoottisen ylärajan resurssivaatimusten kasvun suuruusluokalle Samankaltaisia
P6SLite ohjaus- ja zoom komennot
1, Ohjaus zoom -toiminnot P6SLite ohjaus- ja zoom komennot Osa 1 pikanäppäintoiminnon Valitse APP-käyttöliittymää ja APP ilmestyy toimintopainikkeeseen. Paina + = ZOOM +, paina - = ZOOM-. 2, Manuaalinen
811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto
811312A Tietorakenteet ja algoritmit 2015-2016 I Johdanto Sisältö 1. Algoritmeista ja tietorakenteista 2. Algoritmien analyysistä 811312A TRA, Johdanto 2 I.1. Algoritmeista ja tietorakenteista I.1.1. Algoritmien
Ohjeissa pyydetään toisinaan katsomaan koodia esimerkkiprojekteista (esim. Liikkuva_Tausta1). Saat esimerkkiprojektit opettajalta.
Ohjeissa pyydetään toisinaan katsomaan koodia esimerkkiprojekteista (esim. Liikkuva_Tausta1). Saat esimerkkiprojektit opettajalta. Vastauksia kysymyksiin Miten hahmon saa hyppäämään? Yksinkertaisen hypyn
Kon Mekanismiopin perusteet
Kon-16.4001 Mekanismiopin perusteet Kari Tammi Tommi Lintilä Kurssin osasuoritteet Viikkoharjoitukset: 6 kpl 1/3 arvosanasta Harjoitustyö: 2/3 arvosanasta - Molemmat suoritetaan itsenäisesti! Hyväksyttyyn
Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla
Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Viimeksi muokattu 5. toukokuuta 2012 Maastotietokannan torrent-jakeluun sisältyy yli 5000 zip-arkistoa,
S14 09 Sisäpeltorobotti AS Automaatio ja systeemitekniikan projektityöt. Antti Kulpakko, Mikko Ikonen
S14 09 Sisäpeltorobotti AS 0.3200 Automaatio ja systeemitekniikan projektityöt Antti Kulpakko, Mikko Ikonen 1. Projektin tavoitteet Projektin tavoitteena on toteuttaa ohjelmisto sisäpeltorobottiin seuraavien
Valppaan asennus- ja käyttöohje
Versio Päiväys Muokkaaja Kuvaus 0.9 16.2.2006 Tuukka Laakso Korjattu versio 0.1 Antti Kettunen Alustava versio Sisällysluettelo 1 Johdanto...2 2 Valppaan asennus...3 2.1 Valppaan kääntäminen...3 2.2 Valmiiksi
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 11.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 11.2.2009 1 / 33 Kertausta: listat Tyhjä uusi lista luodaan kirjoittamalla esimerkiksi lampotilat = [] (jolloin
Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä
Rekursiolause Laskennan teorian opintopiiri Sebastian Björkqvist 23. helmikuuta 2014 Tiivistelmä Työssä käydään läpi itsereplikoituvien ohjelmien toimintaa sekä esitetään ja todistetaan rekursiolause,
erasmartcardkortinlukijaohjelmiston
erasmartcardkortinlukijaohjelmiston asennusohje Sisällysluettelo 1. erasmartcard... 2 2. erasmartcard-ohjelmiston normaali asennus... 3 2.1. Ennen asennusta... 3 2.2. Asennus... 3 3. Muut asennustavat...
Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.
Python linkit: Python tutoriaali: http://docs.python.org/2/tutorial/ Numpy&Scipy ohjeet: http://docs.scipy.org/doc/ Matlabin alkeet (Pääasiassa Deni Seitzin tekstiä) Matriisit ovat matlabin perustietotyyppejä.
Johdatus ohjelmointiin
Johdatus ohjelmointiin EXAM tentin liitetiedostojen lataaminen, käyttäminen ja palauttaminen Kerro mahdolliset puutteet tai parannusehdotukset: pietari.heino@tut.fi Tällä sivulla on selitetty lyhyesti
Lue käyttöohje huolellisesti läpi ennen tuotteen käyttöönottoa.
KÄYTTÖOHJE 1 (5) VAROITUKSET Lue käyttöohje huolellisesti läpi ennen tuotteen käyttöönottoa. HUOMIO! Laite ei sovellu alle 3-vuotiaille lapsille. Sisältää pieniä osia - Tukehtumisvaara. Pidä huoli ettei
Kanta ja Kannan-vaihto
ja Kannan-vaihto 1 Olkoon L vektoriavaruus. Äärellinen joukko L:n vektoreita V = { v 1, v 2,..., v n } on kanta, jos (1) Jokainen L:n vektori voidaan lausua v-vektoreiden lineaarikombinaationa. (Ts. Span(V
erasmartcard-kortinlukijaohjelmiston asennusohje (mpollux jää toiseksi kortinlukijaohjelmistoksi)
erasmartcard-kortinlukijaohjelmiston asennusohje (mpollux jää toiseksi kortinlukijaohjelmistoksi) Sisällysluettelo 1 erasmartcard 3 2 erasmartcard-ohjelmiston normaali asennus 4 2.1 Ennen asennusta 4 2.2
Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b
Pythonin Kertaus Cse-a1130 Tietotekniikka Sovelluksissa Versio 0.01b Listat 1/2 esimerkkejä listan peruskäytöstä. > lista=['kala','kukko','kissa','koira'] ['kala','kukko','kissa','koira'] >lista.append('kana')
Rahastosalkun faktorimallin rakentaminen
Teknillinen korkeakoulu Mat 2.177 Operaatiotutkimuksen projektityöseminaari Kevät 2007 Evli Pankki Oyj Väliraportti 28.3.2007 Kristian Nikinmaa Markus Ehrnrooth Matti Ollila Richard Nordström Ville Niskanen
Vektorien pistetulo on aina reaaliluku. Esimerkiksi vektorien v = (3, 2, 0) ja w = (1, 2, 3) pistetulo on
13 Pistetulo Avaruuksissa R 2 ja R 3 on totuttu puhumaan vektorien pituuksista ja vektoreiden välisistä kulmista. Kuten tavallista, näiden käsitteiden yleistäminen korkeampiulotteisiin avaruuksiin ei onnistu
CTRL+F Android-sovellus
CTRL+F Android-sovellus Vili-Robert Hietala Opinnäytteen raportointi Sähköosasto Toukokuu 2015 KUVAILULEHTI 14.04.2015 Tekijä(t) Vili-Robert Hietala Työn laji Opinnäytteen raportointi Sivumäärä 7 Luottamuksellisuus
Tieverkon kunnon stokastinen ennustemalli ja sen soveltaminen riskienhallintaan
Mat 2.4177Operaatiotutkimuksenprojektityöseminaari Tieverkonkunnonstokastinenennustemallija sensoveltaminenriskienhallintaan Väliraportti 3/4/2009 Toimeksiantajat: PöyryInfraOy(PekkaMild) Tiehallinto(VesaMännistö)
Kuvaruudun striimaus tai nauhoitus. Open Broadcaster Software V.20. Tero Keso, Atso Arat & Niina Järvinen (muokattu )
Kuvaruudun striimaus tai nauhoitus Open Broadcaster Software V.20 Tero Keso, Atso Arat & Niina Järvinen (muokattu 28.11.2017) OBS 1 (12) Sisällysluettelo Mikä on OBS... 2 Ohjelman perusasetukset... 2 Tarvittavat
Algoritmit 2. Luento 13 Ti Timo Männikkö
Algoritmit 2 Luento 13 Ti 30.4.2019 Timo Männikkö Luento 13 Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Ositus ja rekursio Rekursion toteutus Algoritmit 2 Kevät 2019 Luento 13 Ti 30.4.2019
Yhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014
Yhtälönratkaisusta Johanna Rämö, Helsingin yliopisto 22. syyskuuta 2014 Yhtälönratkaisu on koulusta tuttua, mutta usein sitä tehdään mekaanisesti sen kummempia ajattelematta. Jotta pystytään ratkaisemaan
Kieliversiointityökalu Java-ohjelmistoon. Ohje
Kieliversiointityökalu Java-ohjelmistoon Ohje 2/6 SISÄLLYSLUETTELO 1 YLEISTÄ OHJELMASTA... 3 2 PÄÄ-IKKUNA...4 3 YLÄVALIKKO... 4 3.1 TIEDOSTO... 4 3.2 TOIMINTO... 4 3.3 ASETUKSET... 5 3.4 OHJE... 5 4 VÄLILEHDET...5
Kopioi cd-levyt kiintolevylle, niin fyysiset levyt joutavat eläkkeelle.
TEE KONEESTA CD-VARASTO: Kopioi cd-levyt kiintolevylle, niin fyysiset levyt joutavat eläkkeelle. Siirrä cd-levysi TIETOJA Kopioi cd-levyt kiintolevylle levykuviksi, niin pääset sisältöön nopeasti käsiksi
ELOKUVATYÖKALUN KÄYTTÖ ANIMAATION LEIKKAAMISESSA. Kun aloitetaan uusi projekti, on se ensimmäisenä syytä tallentaa.
ELOKUVATYÖKALUN KÄYTTÖ ANIMAATION LEIKKAAMISESSA Kun aloitetaan uusi projekti, on se ensimmäisenä syytä tallentaa. Projekti kannattaa tallentaa muutenkin aina sillöin tällöin, jos käy niin ikävästi että
Kuvaruudun striimaus tai nauhoitus. Open Broadcaster Software V.20. Tero Keso, Atso Arat, Niina Järvinen & Valtteri Virtanen (muokattu 20.2.
Kuvaruudun striimaus tai nauhoitus Open Broadcaster Software V.20 Tero Keso, Atso Arat, Niina Järvinen & Valtteri Virtanen (muokattu 20.2.2019) Sivu 1 / 14 Sisällysluettelo Mikä on OBS... 2 Ohjelman perusasetukset...
Nexetic Shield Unlimited
Nexetic Shield Unlimited Käyttöohje 1. Asennus ja käyttöönotto 2. Ohjelman käyttäminen 3. Lisäasetukset 4. Tietojen palautus 1. Asennus ja käyttöönotto Asiakasohjelman asennus Tehtyäsi tilauksen varmistusohjelmasta
Fluoresenssitomografian simulointia Loppudokumentti
AS-0.3200 Fluoresenssitomografian simulointia Loppudokumentti Marianna Kontulainen 5/5/2010 1 Projektin tavoite Projektin tavoitteena oli simuloida fluoresenssitomografiaa Matlabilla. Fluoresenssitomografialla
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 9.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 9.2.2009 1 / 35 Listat Esimerkki: halutaan kirjoittaa ohjelma, joka lukee käyttäjältä 30 lämpötilaa. Kun lämpötilat
815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 6 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/
ax + y + 2z = 0 2x + y + az = b 2. Kuvassa alla on esitetty nesteen virtaus eräässä putkistossa.
BM20A5800 Funktiot, lineaarialgebra ja vektorit Harjoitus 7, Syksy 206 Tutkitaan yhtälöryhmää x + y + z 0 2x + y + az b ax + y + 2z 0 (a) Jos a 0 ja b 0 niin mikä on yhtälöryhmän ratkaisu? Tulkitse ratkaisu
z 1+i (a) f (z) = 3z 4 5z 3 + 2z (b) f (z) = z 4z + 1 f (z) = 12z 3 15z 2 + 2
BM20A5700 - Integraauunnokset Harjoitus 2 1. Laske seuraavat raja-arvot. -kohta ratkeaa, kun pistät sekä yläkerran että alakerran muotoon (z z 1 )(z z 2 ), missä siis z 1 ja z 2 ovat näiden lausekkeiden
Kerro kuvin: InPrint 2.8 asennus Asennus järjestelmänvalvojan oikeuksin
Kerro kuvin: InPrint 2.8 asennus Asennus järjestelmänvalvojan oikeuksin Kerro kuvin: InPrint 2.8 sisältää ilmaisen, yli 3000 symbolia sisältävän symbolipäivityksen. Uudet kuvasymbolit löytyvät erillisistä
Hellä ensikosketus. Tomi Kiviniemi
Hellä ensikosketus Tomi Kiviniemi Asialista Vähän debuggauksen filosofiaa. GDB:n peruskäyttö Netbeansissä. GDB:n peruskäyttö komentoriviympäristössä. Hieman edistyneempää sähellystä komentoriviympäristössä.
Suoran yhtälöt. Suoran ratkaistu ja yleinen muoto: Suoran yhtälö ratkaistussa, eli eksplisiittisessä muodossa, on
Suoran htälöt Suoran ratkaistu ja leinen muoto: Suoran htälö ratkaistussa, eli eksplisiittisessä muodossa, on ANALYYTTINEN GEOMETRIA MAA5 = k + b, tai = a missä vakiotermi b ilmoittaa suoran ja -akselin
Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti
C! Perusteet 19.1.2017 Palautteesta (1. kierros toistaiseksi) Toistaiseksi helppoa Miksi vain puolet pisteistä? Vaikeinta oli ohjelmointiympäristön asennus ja käyttö Vaikeaa eroavuudet Pythonin ja C:n
GPS Miten opin käyttämään? Mihin käytän?
GPS Miten opin käyttämään? Mihin käytän? Perusohjeita GPS-reitin siirtämisestä kartalle, Vinkkejä oman suunnistustekniikan analysoimiseen GPS-tiedon avulla Kuvat alla: o-training.net ja worldofo.com GPS-viiva
Picasa 3 -kuvankäsittelyopas, osa 2, käytä tehokkaasti
Picasa 3 -kuvankäsittelyopas, osa 2, käytä tehokkaasti Tämä on ensimmäisen kuvankäsittelyoppaan jatko-osa. Tässä jatko-osassa opimme käyttämään Picasan mainioita ominaisuuksia tehokkaasti ja monipuolisesti.
4.3. Matemaattinen induktio
4.3. Matemaattinen induktio Matemaattinen induktio: Deduktion laji Soveltuu, kun ominaisuus on osoitettava olevan voimassa luonnollisilla luvuilla. Suppea muoto P(n) : Ominaisuus, joka joka riippuu luvusta
Telecrane F24 Käyttö-ohje
1 Telecrane F24 Käyttö-ohje Sisällysluettelo - F24 Takuu & turvallisuusohjeet 3 - Käyttöönotto / paristot / vastaanottimen virtalähde 4 - Tunnistuskoodin vaihto 6 - Vastaanottimen virtalähteen jännitteen
Kimppu-suodatus-menetelmä
Kimppu-suodatus-menetelmä 2. toukokuuta 2016 Kimppu-suodatus-menetelmä on kehitetty epäsileiden optimointitehtävien ratkaisemista varten. Menetelmässä approksimoidaan epäsileitä funktioita aligradienttikimpulla.
Videon tallentaminen Virtual Mapista
Videon tallentaminen Virtual Mapista Kamera-ajon tekeminen Karkean kamera ajon teko onnistuu nopeimmin Katseluohjelmassa (Navigointi > Näkymät > Tallenna polku). Liikeradan ja nopeuden tarkka hallinta
Sääasema Probyte JUNIOR
Sääasema Probyte JUNIOR JUNIOR sääanturi COM1 12VDC RS-232 signaali PC W9x Excel-tiedosto PROBYTE JUNIOR sääanturin toimintaperiaate Yleistä Probyte SÄÄASEMA JUNIOR1 on sään mittaukseen tarkoitettu ulkoanturi,
Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:
Dokumentaatio, osa 1 Tehtävämäärittely Kirjoitetaan lyhyt kuvaus toteutettavasta ohjelmasta. Kuvaus tarkentuu myöhemmin, aluksi dokumentoidaan vain ideat, joiden pohjalta työtä lähdetään tekemään. Kuvaus
Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti
C! Perusteet 19.1.2017 Palautteesta (1. kierros toistaiseksi) (Erittäin) helppoa Miksi vain puolet pisteistä? Vaikeinta oli ohjelmointiympäristön asennus ja käyttö Ei selvää että main funktion pitikin
2 Konekieli, aliohjelmat, keskeytykset
ITK145 Käyttöjärjestelmät, kesä 2005 Tenttitärppejä Tässä on lueteltu suurin piirtein kaikki vuosina 2003-2005 kurssin tenteissä kysytyt kysymykset, ja mukana on myös muutama uusi. Jokaisessa kysymyksessä
AS-0.3200 Automaatio- ja systeemitekniikan projektityöt
AS-0.3200 Automaatio- ja systeemitekniikan projektityöt A11-03 USB-käyttöinen syvyysanturi 5op 13.9.2011-29.11.2011 Johan Backlund Ohjaaja: Johan Grönholm Johdanto Projektin tavoitteena oli suunnitella
Chapel. TIE Ryhmä 91. Joonas Eloranta Lari Valtonen
Chapel TIE-20306 Ryhmä 91 Joonas Eloranta Lari Valtonen Johdanto Chapel on Amerikkalaisen Cray Inc. yrityksen kehittämä avoimen lähdekoodin ohjelmointikieli. Chapel on rinnakkainen ohjelmointikieli, joka
Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.
Tehtävä. Tämä tehtävä on aineistotehtävä, jossa esitetään ensin tehtävän teoria. Sen jälkeen esitetään neljä kysymystä, joissa tätä teoriaa pitää soveltaa. Mitään aikaisempaa tehtävän aihepiirin tuntemusta
Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A4000 - Kandidaatintyö ja seminaari
LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A4000 - Kandidaatintyö ja seminaari Alkuraportti Avoimen lähdekoodin käyttö WWW-sovelluspalvelujen toteutuksessa Lappeenranta, 30.3.2008,
Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä
Edistymisraportti v. T4 (Toteutus 4) Päivitetty 15.3.2001 klo 18:13 2 (8) Sisällys 1 PROJEKTIN TILA...3 2 SUORITETUT TEHTÄVÄT...6 3 KÄYTETYT MENETELMÄT...7 4 ONGELMAT...8 EDISTYMISRAPORTTI 2 3 (8) 1. Projektin
TTY TKT-1110 Mikroprosessorit TKT. HEW-ohjeet ver 1.0
Johdanto Nämä ohjeet opastavat sinut tekemään kurssiin TKT-1110 Mikroprosessorit liittyvät harjoitustyöt. Ohjeet sisältävät kolme osiota. Ensimmäisenä esitellään projektin luonti, mikä tehdään ainoastaan
MAA4 Abittikokeen vastaukset ja perusteluja 1. Määritä kuvassa olevien suorien s ja t yhtälöt. Suoran s yhtälö on = ja suoran t yhtälö on = + 2. Onko väittämä oikein vai väärin? 2.1 Suorat =5 +2 ja =5
2009 Mat-2.4177 Operaatiotutkimuksen Projektityöseminaari L
2009 Mat-2.4177 Operaatiotutkimuksen Projektityöseminaari L Väliraportti 25.2.2009 Puustokuvioiden korjuukelpoisuus- ja saavutettavuusanalyysi Juha Valvanne Juho Matikainen Joni Nurmentaus Lasse Östring
4. Funktion arvioimisesta eli approksimoimisesta
4. Funktion arvioimisesta eli approksimoimisesta Vaikka nykyaikaiset laskimet osaavatkin melkein kaiken muun välttämättömän paitsi kahvinkeiton, niin joskus, milloin mistäkin syystä, löytää itsensä tilanteessa,
GIS-automatisointi ja ohjelmointi/skriptaus. Harri Antikainen
GIS-automatisointi ja ohjelmointi/skriptaus Harri Antikainen Mistä nyt puhutaan? Automatisointi: Mikä tahansa tapa teettää tietokoneella asioita ilman että käyttäjän tarvitsee tehdä muuta kuin laittaa
Lauseen erikoistapaus on ollut kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa seuraavassa muodossa:
Simo K. Kivelä, 13.7.004 Frégier'n lause Toisen asteen käyrillä ellipseillä, paraabeleilla, hyperbeleillä ja niiden erikoistapauksilla on melkoinen määrä yksinkertaisia säännöllisyysominaisuuksia. Eräs
Tietokanta.java Luokka tarjoaa välineet tietokannan lukemiseen. Haetuista tiedoista muodostetaan kurssi- ja opetus-olioita.
Arkkitehtuurikuvaus Käytössä olevat java-luokat: Kansio: /WEB_INF/classes/ - käännetyt luokat Kansio: /WEB_INF/src/ - lähdekoodi custom_pojos: Kurssi.java Java-luokka, jonka sisältö vastaa tietokannassa
Automaattinen arviointi ja pika-arviointi EXAM-tenteissä. Marjut Anderson
Automaattinen arviointi ja pika-arviointi EXAM-tenteissä Marjut Anderson Yleistä automaattisesta arvioinnista Opettaja voi valita tentilleen automaattisen arvioinnin, jos tentti sisältää vain automaattisesti
Verkkotietopalvelu Käyttöopas osiot koskien Green Card suoritusten vastaanottajien sekä suorittajien tietojen lisäämistä
Verkkotietopalvelu Käyttöopas osiot koskien Green Card suoritusten vastaanottajien sekä suorittajien tietojen lisäämistä Seurakäyttäjille Pähkinänkuoressa: 1. Kirjaudu järjestelmään admin.golf.fi seurakohtaisilla
Käännös, linkitys ja lataus
Luento 10 (verkkoluento 10) Käännös, linkitys ja lataus Ohjelmasta prosessiin Käännösyksikkö Kääntämisen vaiheet Makrot, literaalit Staattinen ja dynaaminen linkitys Nimien sidonta Lausekielestä suoritukseen
Tentin asetukset. Tentin lisääminen. Tentin asetukset
Tentin asetukset Moodlen tentti-aktiviteetin perusasetukset käydään läpi tällä sivulla. Jos etsit ohjetta kysymysten luomiseen, katso erillinen ohjesivu kysymyspanki sta. Tentti soveltuu "perinteisen tenttimisen"
Käyttöliittymän muokkaus
Käyttöliittymän muokkaus Ohjelman pitkän kehityshistorian takia asetukset ovat jakaantuneet useampaan eri kohtaan ohjelmassa. Ohessa yhteenveto nykyisistä asetuksista (versio 6.4.1, 2/2018). Ylä- ja sivupalkkien
Pika-asennusohjeet Suomeksi
Pika-asennusohjeet Suomeksi (Virallinen ohje löytyy asennuslevyltä Englanninkielisenä) Tulosta tämä ohje asennuksen avuksi. Ensiksi asennetaan itse ohjelma, sitten rekisteröidytään testerin käyttäjäksi
TEEMU ROOS (KALVOT MUOKATTU PATRIK HOYERIN LUENTOMATERIAALISTA)
JOHDATUS TEKOÄLYYN TEEMU ROOS (KALVOT MUOKATTU PATRIK HOYERIN LUENTOMATERIAALISTA) KONEOPPIMISEN LAJIT OHJATTU OPPIMINEN: - ESIMERKIT OVAT PAREJA (X, Y), TAVOITTEENA ON OPPIA ENNUSTAMAAN Y ANNETTUNA X.
Yksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } }
Yksikkötestauksella tarkoitetaan lähdekoodiin kuuluvien yksittäisten osien testaamista. Termi yksikkö viittaa ohjelman pienimpiin mahdollisiin testattaviin toiminnallisuuksiin, kuten olion tarjoamiin metodeihin.
TEHTÄVÄ 4: Microsoft Windows Deployment Services asennus ja hallinta
TEHTÄVÄ 4: Microsoft Windows Deployment Services asennus ja hallinta Windows Deployment Services, WDS Käyttöjärjestelmän asennus työasemalle Dynamic Host Configuration Protocol, DHCP * Domain Name System,
Käyttöohje. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Käyttöohje Boa Open Access Helsinki 5.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Ilmari Heikkinen
Hannu Mäkiö. kertolasku * jakolasku / potenssiin korotus ^ Syöte Geogebran vastaus
Perusohjeita, symbolista laskentaa Geogebralla Kielen vaihtaminen. Jos Geogebrasi kieli on vielä englanti, niin muuta se Options välilehdestä kohdasta Language suomeksi (finnish). Esittelen tässä muutaman
EMVHost Online SUBJECT: EMVHOST ONLINE CLIENT - AUTOMAATTISIIRROT COMPANY: EMVHost Online Client sovelluksen käyttöohje AUTHOR: DATE: 15.03.
EMVHost Online SUBJECT: COMPANY: COMMENTS: AUTHOR: EMVHOST ONLINE CLIENT - AUTOMAATTISIIRROT NETS OY EMVHost Online Client sovelluksen käyttöohje NETS OY DATE: 15.03.2011 VERSION: 1.0 1 SISÄLLYS SISÄLLYS...
Nosturirobotti. robotin tarkoitus. mikä on robotin tehtävä. Kurssin robottiohjelmointi, kesä 2011 harjoitustyö
Kurssin robottiohjelmointi, kesä 2011 harjoitustyö Juha Hämäläinen (juha.h.hamalainen@jyu.fi) Jussi Jokinen (jussi.p.p.jokinen@jyu.fi) Videoita robotin toiminnasta: http://www.youtube.com/user/hamismies
JOHDATUS TEKOÄLYYN TEEMU ROOS
JOHDATUS TEKOÄLYYN TEEMU ROOS TERMINATOR SIGNAALINKÄSITTELY KUVA VOIDAAN TULKITA KOORDINAATTIEN (X,Y) FUNKTIONA. LÄHDE: S. SEITZ VÄRIKUVA KOOSTUU KOLMESTA KOMPONENTISTA (R,G,B). ÄÄNI VASTAAVASTI MUUTTUJAN
NEX-3/NEX-5/NEX-5C A-DTS-100-12(1) 2010 Sony Corporation
NEX-3/NEX-5/NEX-5C Tämän laiteohjelmistopäivityksen uudet toiminnot ja niiden toiminta on kuvattu tässä. Käyttöopas ja mukana toimitetulla CD-ROM-levyllä oleva α-käsikirja sisältävät lisätietoja. 2010
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print
TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD)
TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD) Ohjelmointikäytännöt 21/3/11 Mikko Vuorinen Metropolia Ammattikorkeakoulu 1 Sisältö 1) Mitä on hyvä koodi? 2) Ohjelmointikäytäntöjen merkitys? 3) Koodin asettelu