\documentclass[11pt,a4paper,parskip=full]{article}

\usepackage[utf8]{inputenc}
\usepackage[finnish]{babel}
\usepackage[T1]{fontenc}
\usepackage{palatino}
\usepackage{enumitem}
\usepackage[top=2.0cm, bottom=4.5cm, left=2.5cm, right=2.5cm]{geometry}
\usepackage{scrextend}
\usepackage{lastpage}
\usepackage{graphicx}


% header
\usepackage{fancyhdr}
\pagestyle{fancy}
\setlength{\headheight}{2.0cm}
\renewcommand{\headrulewidth}{0pt}
\lhead{\small Sovellusprojekti Groundhog \\}
\chead{\small 5. palaveri 15.4.2021 \\ \small Pöytäkirja}
\rhead{\small Sivu \thepage/\pageref{LastPage} \\}
\cfoot{}



\setlength{\parindent}{0em}
\setlength{\parskip}{1em}

\setlist{nosep}

\newcommand{\otsikkoA}[1]{{ \textbf{\LARGE #1} \vspace{3em}}}
\newcommand{\otsikkoB}[1]{{\vspace{1em} \textbf{\large #1}}}
\newcommand{\otsikkoC}[1]{ #1}
\newcommand{\sisennys}[1]{\begin{addmargin}[2em]{0em}{#1}\end{addmargin}}
\newcommand{\paatokset}[1]{\otsikkoB{Päätökset:}\begin{itemize}{#1}\end{itemize}} %lista päätöksille

\title{Sovellusprojekti Groundhog, 7. palaveri}
\author{}
\date{}

\makeatletter
\let\Title\@title
\makeatother

\begin{document}

\otsikkoA{\Title}


\noindent \begin{tabular}{@{}p{5em}l}
Aika    &   Torstai 15.4.2021 12.00--13.20 \\
Paikka  & Teams-palaveri
\end{tabular}

\vspace{1.0em}

\otsikkoB{Läsnä}

\otsikkoC{Projektiryhmä}
\sisennys{
Harri Linna, puheenjohtaja \\
Jere Pakkanen \\
Riikka Vilavaara
 \\
Iiro Iivanainen, sihteeri
}
\otsikkoC{Tilaajat}
\sisennys{
Jukka Kuva \\
Arttu Miettinen
}
\otsikkoC{Ohjaajat}
\sisennys{
Jukka-Pekka Santanen \\
Juuso Tuononen
}

\section*{Pöytäkirja}

\begin{tabular}{@{}p{10em}l}
Pöytäkirja laadittu:    &  15.4.2021 \\
Muokattu:               &  \number\day.\number\month.\number\year % muokkauspäivä automaattisesti
                                                                  % kommentoi piiloon jos ei ole vielä
                                                                  % muokattu ja laita tilalle viiva: --
\end{tabular}

\section{Kokouksen avaus}

\sisennys{

Aluksi Linna ehdotti palaverin puheenjohtajaksi itseään ja sihteeriksi Iivanaista. Ehdotus hyväksyttiin.


}

\section{Laillisuus ja päätösvaltaisuus}

\sisennys{
Projektiryhmä oli toimittanut esityslistan edeltävänä tiistaina ja kaikki osapuolet olivat ehtineet tutustumaan siihen. Kokous todettiin lailliseksi ja päätösvaltaiseksi.
}

\section{Esityslistan hyväksyminen}

\sisennys{

Esityslista hyväksyttiin sellaisenaan. Palaverin aikana kohtaan yhdeksän (muut esille tulevat asiat) lisättiin luokkarakenteen ja vaatimusmäärittelyn käsittely sekä ensimmäisen lähdekoodin katselmoinnin ajankohdasta sopiminen.

}


\section{Edellisen palaverin pöytäkirjan tarkastaminen}

\sisennys{

Santanen huomautti, että edellisen pöytäkirjan kohta viisi sisälsi toimenpiteitä, joita ei mainittu alempana. Näitä olivat sopimuksen tulostaminen ja sen kierrättäminen eri osapuolten välillä. Lisäksi pöytäkirjaan tulisi merkitä päätökset kustomoidun liukusäätimen toteutuksesta ja Creative Commons 4.0 -lisenssin käytöstä.

\paatokset{
    \item Pöytäkirja hyväksyttiin korjauksin
}
}

\section{Edellisessä palaverissa sovitut toimenpiteet}

\sisennys{

Harri Linna:
\begin{itemize}
    \item Päivittää projektisopimuksen lisenssien osalta. Tila: SUORITETTU
    \item Lähettää päivitetyn projektisopimuksen muille osapuolille sähköpostilla. Tila: SUORITETTU
    \item Tulostaa projektisopimuksen allekirjoitettavaksi Tila: SUORITETTU
\end{itemize}

Projektisopimuksen osapuolet:
\begin{itemize}
    \item Saatuaan päivitetyn projektisopimuksen kuittaavat Linnalle, onko sopimus hyväksyttävissä Tila: SUORITETTU
\end{itemize}

Projektiryhmä:
\begin{itemize}
    \item Päivittää käyttöliittymäsuunnitelman saadun palautteen perusteella. Tila: KESKEN
    \item Selvittää Jukka Kuvalle tunnukset Jyväskylän yliopiston GitLab-palveluun. Tila: SUORITETTU
\end{itemize}

Jukka-Pekka Santanen:
\begin{itemize}
    \item Lähettää palautteen projektisopimuksesta. Tila: SUORITETTU
\end{itemize}

Jukka Kuva:
\begin{itemize}
    \item Toimittaa projektiryhmälle testidataa. Tila: SUORITETTU
\end{itemize}

Käyttöliittymäsuunnitelman uudistaminen oli projektiryhmältä vielä vaiheessa. Linna mainitsi, että metatietojen näyttämiseen liittyi vielä epäselvyyksiä.


}

\section{Tilakatsaus}

\sisennys{

Linna esitti tilakatsauksen kuluneen viikon ajalta. Luokkarakenne oli suunniteltu ja päivitetty osaksi arkkitehtuurisuunnitelmaa. Lisäksi käyttöliittymän ja tiedostoluvun toteutusta oltiin jatkettu.

Magic.NET-kirjaston dokumentaation puuttellisuus nähtiin ongelmana, joka oli vaikeuttanut tiedon etsintää. Aiemmin kohdattu ongelma tuntimäärätavoitteessa johti viikottaisen tuntitavoitteen laskemisen 70 tuntiin. Tuntimäärät ja versiohallinnan commit-käskyjen tahti olivat kasvaneet viimeisen viikon aikana. Santanen huomautti, että Iivanaisen tunnit ovat edelleen huomattavasti muita jäljessä (n. 35 tunnilla)

Takarajatavoite projektille olisi tuntimäärät huomioiden toukokuun lopun ja heinäkuun välisenä aikana. Kaikille projektijäsenille käy projektin jatkaminen kesän aikana. Kuva ei ole mitoittanut projektille tarkkaa takarajaa. Santasen heinä-elokuun aikainen loma saattaa tuottaa viivästystä. Miettiselle projektin viivästymisen ei ole ongelma ja Tuononen kykenee edelleen ottamaan osaa palavereihin sekä koodikatselmointeihin.

Santanen kysyi, koska ensimmäinen prototyyppiversio saadaan testattavaksi. Linna arveli, että kahden viikon jälkeen käyttöliittymästä tulisi löytyä perustoiminnot jotka mahdollistavat siivujen katsomisen. Santanen myös huomautti, että projektiryhmän käyttämä prosessimalli vastaa jäykän vesiputousmallin sijaan enemmän takaisinkytkettyä vesiputousmallia.

\paatokset{
    \item Uusi takarajatavoite projektin valmistumiselle on toukokuun lopun ja heinäkuun välisenä aikana.
}


}

\section{Testidatan lukeminen}

\sisennys{

Pakkanen oli kohdannut ongelmia tiedostojen nimien jäsentämisessä. Vaikeuksia aiheutti nimeämiskäytänteistä poikkeaminen, mikä hankaloitti oikeiden tiedostojen valintaa sekä järjestysnumeroiden päättelyä. Kuva piti hyvänä ratkaisua, missä ohjelma yrittää havaita järjestysnumeron alaviivan tai muun erottimen avulla ja tarvittaessa kysyy ensimmäisen tiedoston käyttäjältä. Kuva ei pitänyt hyvänä ratkaisuna sitä, missä ohjelma lukee vain tietyillä rajoituksilla nimettyjä tiedostoja.

Miettinen oli ratkaissut vastaavan ongelman pi2-kirjastossa valitsemalla kohdekansiosta ne tiedostot, jotka vastaavat käyttäjän määrittelemää templaattia ja tämän jälkeen järjestämällä ne luonnolliseen järjestykseen. Tällä toteutuksella ei tarvitse huolehtia mm. alkavien nollien käytöstä ja lähestymistapa on Miettisen mukaan toiminut hyvin. Miettinen jakoi GitHub-linkin pi2-kirjaston sequence-luokkaan, joka sisälsi kyseisen toteutuksen. Kuva huomautti että myös Fiji pyytää käyttäjää syöttämään hakusanan, mikä rajoittaa luettuja tiedostoja.

 Miettinen kysyi kuinka realistista on, että kansio sisältää useita kuvapinoja. Kuvan mukaan kansiot voivat sisältää muita tiedostoja, mutta eri sekvenssien tallentaminen samaan sijaintiin ei ole tarpeellista. Kuva huomautti, että käyttäjä tulee todennäköisesti tekemään virheitä pinojen sisältöön liittyen antaen esimerkkinä eri kokoisten kuvien syöttämisen. Ohjelman osalta ratkaisuksi riittää tarpeeksi selkeät virheilmoitukset.

Pakkanen otti seuraavaksi aiheeksi luettujen kuvatiedostojen bittisyvyydet. Kuvan mukaan ohjelman pitäisi tukea etumerkittömiä 8- ja 16-bittisiä formaatteja, sekä 32-bittisiä float-tyyppiä olevia kuvia. 64-bittisten kuvien lukeminen ei ole tarpeellista. Pakkanen ei ollut vielä testannut 32-bittisiä kuvatiedostoja, Kuva sanoi voivansa tarvittaessa lähettää 32-bittisen esimerkin. Kuva myös huomautti, että käyttäjän tulee määritellä 16-bittisissä kuvatiedostoissa joko big-endian tai little-endian lukutapa, mikä määrittelee kahden tavun lukujärjestyksen.

Pakkanen toi esille, että tiff- ja raw-formaatteja olisi hyvä testata isoilla tiedostoilla. Kuvan mukaan hänen lähettämänsä pinot voidaan Fijillä muuntaa näihin formaatteihin. Kuva kysyi tämän jälkeen, että olivatko kaikki tiedostoja tarvinneet jo ladanneet ne Nextcloudista. Projektiryhmäläiset vastasivat, että he lähettävät sähköpostilla varmistuksen sitten, kun testidatan voi poistaa pilvestä.

\paatokset{
    \item Ohjelman tulee antaa käyttäjän valita 16-bittisten kuvien kohdalla  big-endian tai little-endian lukutapa.
    
    \item 64-bittisten kuvien lukeminen ohjelmalla ei ole korkealla prioriteetilla.
}

}


\section{Ohjelman toiminnan esittely}


\sisennys{

Vilavaara esitteli ruudunjaon välityksellä ohjelman toimintaa. Käyttöliittymä pystyy kovakoodatusti lukemaan ja näyttämään esimerkkikuvaa. Lisäksi tomografiakuvan päälle liitetyt akseleita edustavat viivat liikkuvat liukusäätimiä liikuttaessa. Kuva totesi, että tämä on haluttu ominaisuus. Ohjelma ei vielä kykene liittämään dataa koordinaatteihin, mutta editointitilan päälle pistäminen signaloidaan käyttäjälle väripalkin ja tekstin avulla.

Santanen kysyi, onko liitetyn datan näyttäminen välilehtien muodossa hyvä ratkaisu käyttäjän näkökulmasta. Kuvan mielestä se oli ikkunoinnin ansiosta hyvä tapa esittää dataa. 

Iivanainen  esitti kustomoitua liukusäädintä, joka näyttää siivuihin tehtyjen liitosten lukumäärät. Merkit ovat väriltään sitä tummempia mitä  suhteellisesti enemmän niitä edustavat siivut sisältävät merkintöjä. Ohjelma värittää merkit tietyn perusvärin neljällä eri sävyllä varteittain. Kuva piti toteutusta hyvänä kunhan perusväri on käyttäjän määriteltävissä.

}

\section{Muut esille tulevat asiat}

\subsection{Vaatimusmäärittely}


\sisennys{

Pakkasella ei ollut erikseen kysyttävää vaatimusmäärittelystä. Santanen kertoi, että ei-mielekkäät huomiot palautteesta voidaan kuitata ja jättää huomioimatta. Pakkanen oli mielestään käynyt kaikki kohdat läpi. Santanen sanoi lähettävänsä asiasta vielä erillisen sähköpostin.

Santasen mukaan vaatimukset olivat hyvällä mallilla. Pakkanen kertoi, että seuraava versio tulee toukokuun aikana, kun vaatimusten tiloja pystytään päivittämään

}

\subsection{Lähdekoodin ensimmäinen katselmointi}

\sisennys{

Lähdekoodin ensimmäinen katselmointi voidaan pitää viikolla 16. Projektiryhmän tulee viimeistään edeltävänä tiistaina lähettää Tuonoselle versiohallinnan commit-numero, jonka mukaan hän laatii muistion ja jakaa palautetta projektijäsenille. Miettinen, Santanen ja Kuva pyrkivät myös pääsemään paikan päälle. Santasen huomautti että katselmointi ei saa kestää yli kahta tuntia.

}


\subsection{Luokkarakenne}

\sisennys{

Projektiryhmä esitti sovellusta varten laaditun luokkarakenteen. Tekninen ohjaaja oli jo aiemmin käynyt luokkarakennetta läpi projektiryhmän kanssa ja piti sitä hyvänä lähtökohtana. Linna kysyi, pitäisikö kokonaisuuteen liittyvän metadatan olla  näytteen sijasta karttaan liitettynä. Kuvan mielestä tällä ei ole käytännössä eroa ja metadatat voidaan pitää näytteessä. 

Luokkarakenteesta huomautettiin se, että tiedostonkäsittely puuttui siitä kokonaan. Lisäksi todettiin, että WholeStack-luokan toteutusta ei pidetä korkean prioriteetin vaatimuksena. Luokka lataisi pyynnöstä kaiken 3D-datan suoraan muistiin.


}

\subsection{Projektisuunnitelma}

\sisennys{

Santanen tiedusteli projektisuunnitelman tilannetta. Linna kertoi toimittavansa seuraavaan palaveriin uusimman version projektisuunnitelmasta

}

\subsection{Metadata}

\sisennys{

Vilavaara kysyi siitä, miten liitettyjen tiedostojen metadata halutaan näyttää käyttöliittymässä. Kuvan mielestä sen sijaan, että metadataa näytettäisiin datan rinnalla, sen tulisi olla avattavissa painikkeesta. Myös näytteeseen liittyvän metadatan tulee olla erikseen avattavissa.

}

\paatokset{
    \item Lähdekoodin ensimmäinen katselmointi järjestetään torstaina 22.4.2021 klo 12.00 Teamsin kautta.
    \item Ohjelmassa kokonaisuuteen liittyvä metadata liitetään näytteeseen (ei karttaan).
    \item Näytteen ja liitosten metadatat tulee esittää erikseen avattavana ikkunana.
}



\section{Läsnäolijoille sovitut toimenpiteet}


\sisennys{

Projektiorganisaatio:
\begin{itemize}
    \item Pyrkivät ottamaan osaa lähdekoodin katselmointiin. Paikalla tulee olemaan vähintään projektiryhmä sekä tekninen ohjaaja.
\end{itemize}

Jukka Kuva:
\begin{itemize}
    \item Toimittaa tarvittaessa 32-bittisen esimerkkikuvan projektiryhmälle.
\end{itemize}

Harri Linna:
\begin{itemize}
    \item Toimittaa seuraavaan palaveriin projektisuunnitelmasta uusimman version.
\end{itemize}

Juuso Tuononen:
\begin{itemize}
    \item Tarkastaa ja laati palautetta lähdekoodista projektiryhmän jäsenille.
\end{itemize}

Projektiryhmä:
\begin{itemize}
    \item Päivittää käyttöliittymäluonnosta.
    \item Toimittaa Tuonoselle viimeistään tiistaina 20.4.2021 versiohallinta commit-numeron jonka haluaa antaa arvioitavaksi.
    \item Ilmoittaa Kuvalle siitä, milloin esimerkkidatat voidaan poistaa Nextcloudista.
\end{itemize}

Jukka-Pekka Santanen:
\begin{itemize}
    \item Lähettää vaatimusmäärittelyn palautteesta sähköpostin.
\end{itemize}

}

\section{Seuraavan palaverin aika ja paikka}

\sisennys{
Seuraava palaveri järjestetään viikolla 18, tiistaina 4.5.2021  klo 14.00.
}

\section{Kokouksen päättäminen}

\sisennys{
Puheenjohtaja päätti palaverin.
}


\section*{Jaettu ja käsitelty materiaali}

\sisennys{
Linna jakoi projektiryhmän laatiman luokkarakenteen.

Vilavaara esitti ruudunjaon välityksellä sovelluksen käyttöliittymää ja Iivanainen esitti kustomoitua liukusäädintä. 

Miettinen jakoi GitHubin kautta pi2-kirjaston tiedostonluvun toteutuksen joka alkoi sequence.cpp-tiedostosta riviltä 108.
}




\end{document}
