Teknisk dokumentation MCIV
|
|
- Rasmus Georg Sundström
- för 9 år sedan
- Visningar:
Transkript
1 Segmentering av MR-bilder med ITK Teknisk dokumentation MCIV Version 1.0 Granskad Godkänd Status Bilder och grafik projektkurs, CDIO MCIV LIPs 1
2 Segmentering av MR-bilder med ITK PROJEKTIDENTITET MCIV 2006 VT Linköpings Tekniska Högskola, CVL Namn Ansvar Telefon E-post Fredrik Larsson Projektledare (PL) Dokumentansvarig (DOK) Lars Arvidsson Designansvarig (DES) Nils Ingemars Testansvarig (TST) Linus Gustafsson Kvalitetsansvarig (KVA) Kund: Context Vision, LINKÖPING, tel , fax: , Kontaktperson hos kund: Hagen Spies, tel , Kursansvarig: Klas Nordberg, tel , Handledare: Johan Wiklund, tel , Anders Moe, tel , Bilder och grafik projektkurs, CDIO MCIV LIPs 2
3 Innehåll 1 ÖVERSIKT AV SYSTEMET GROV BESKRIVNING AV SYSTEMET BEROENDEN TILL ANDRA SYSTEM INGÅENDE DELSYSTEM MATLAB GUI INLEDNING BESKRIVNING AV CALLBACKFUNKTIONER GRÄNSSNITT CIV MEX-FILER EXPORTERA DATA TILL MATLAB IMPORTERA DATA FRÅN MATLAB FUNKTIONER Funktion: mciv_watershed2d Funktion: mciv_watershed3d Funktion: mciv_geodesic2d Funktion: mciv_geodesic3d Funktion: mciv_fastmarching2d Funktion: mciv_fastmarching3d Funktion: mciv_slice Funktion: mciv_mpr Funktion: mciv_mip Funktion: mciv_surface Funktion: mciv_mxvtkconvert KOMPILERINGSINSTRUKTIONER LÄGGA TILL EGNA FUNKTIONER (ITK) INSTRUKTIONER FÖR ATT LÄGGA TILL EGNA FUNKTIONER TILL ITK EGEN FUNKTION ITKINVERTIMAGEFILTER.H PLACERING AV KOD KOMPILERING (EJ MEX) SAMMANFATTNING ITK OCH VTK GENOM MATLAB UTVÄRDERING AV METODER OCH BILDDATA UTÖKNING AV ITK SLUTSATS REFERENSER
4 Segmentering av MR-bilder med ITK Dokumenthistorik version datum Utförda förändringar utförda av granskad Första utkastet AE,NI,LA,LG Alla Slutgiltig version LG, NI, AE Alla Bilder och grafik projektkurs, CDIO MCIV LIPs 4
5 1 Översikt av systemet Figur 1. Denna bild visar en översikt av systemet. 1.1 Grov beskrivning av systemet Ett Matlab-GUI som anropar C++-funktioner som kompilerats till mex-filer, vilka antingen utför segmenteringar med ITK eller visualiseringar med VTK. Programmet startas genom att i kommandofönstret i Matlab skriva kommandot MCIV. Detta startar upp GUI t. Via GUI t hanteras inläsning och nedsparning av bilder från/på fil. Inställning av de aktuella parametrarna för segmentering och visualisering hanteras också via GUI t. Då segmentering/visualisering önskas utföras anropas korresponderande mex-fil med inbild/volym och berörda parametrar. Segmenteringsoch visualiseringsrutinerna är implementerade i C++ och sedan omgjorda till mex-filer för att kunna anropas från Matlab, t.ex. mciv_mpr(inputimage). 1.2 Beroenden till andra system MS Windows XP Matlab v 7.1 ITK v 2.4 VTK v 5.0 MS Visual Studio.NET 2003 (för kompilering) Bilder och grafik projektkurs, CDIO MCIV LIPs 5
6 1.3 Ingående delsystem ITK programbibliotek med bildbehandlingsfunktioner. VTK programbibliotek med visualiseringsfunktioner. CIV kopplingen mellan ITK och VTK. Matlab GUI användargränssnitt i Matlab. 2 Matlab GUI 2.1 Inledning GUI t är implementerat med hjälp av den inbyggda GUI-guiden i Matlab. Man lägger in rutor och knappar som alla har varsin callback-funktion som talar om vad som händer när man ändrar värdet i en ruta eller trycker på en knapp. Om man vill ändra vad som händer för en viss knapp eller ruta så är det bara att söka upp rutans eller knappens funktionsnamn i MCIV.m. 2.2 Beskrivning av callbackfunktioner Nedan följer en kort beskrivning av vad alla callbackfunktioner i GUI t gör. about_callback addseedbutton_callback fastmarchingpipeline_callback geodesicpipeline_callback import_original_callback import_segmentation_callback import_seeds_button_callback methodbutton1_callback nextlayer_callback open_callback Visar fönstret med About MCIV då man väljer About MCIV i menyn. Lägger till ett frö i listan med frön. Visar flödesschemat för fast marching. Visar flödesschemat för geodesic active contours. Importerar originalbilden eller originalvolymen till Matlab. Importerar segmenteringsresultatet till Matlab. Importerar frön som man satte vid visualiseringen. Hanterar vad som händer när man byter segmenteringsmetod eller visualiseringsmetod, samma för methodbutton2- methodbutton4. Visar nästa bild av volymen i förvisningsfönstret. Hanterar inläsning av filer. 6
7 parameter1_callback previouslayer_callback Hanterar vad som händer då man fyllt i ett värde i en parameterruta, samma för parameter2-parameter15. Visar föregående bild i volymen i förvisningsfönstret. removeallseeds_button_callback Tar bort alla frön i frölistan. removeseedbutton_callback resetbutton_callback Tar bort det markerade fröet från frölistan. Återställer alla värden. save_segmentation_image_callback Sparar den segmenterade bilden, om det är en segmenterad volym så sparas varje snitt som en bild. seedvalue_button_callback segmentationbutton_callback start_callback useoriginal_callback usesegmented_callback usesegmentedoriginal_callback visualization_help_callback visualizationbutton_callback watershedpipeline_callback Ändrar ett värde för ett frö som redan lagts till i listan med frön. Ändrar läge till segmentering. Startar olika segmenterings- och visualiseringsrutiner, beroende på vad man valt, med rätt inparametrar. Hanterar vad som händer då man väljer att visualisera originalbilden eller originalvolymen. Hanterar vad som händer då man väljer att visualisera den segmenterade bilden eller volymen. Hanterar vad som händer då man väljer att visualisera den segmenterade delen av originalbilden eller originalvolymen. Visar fönstret med alla kommandon som man kan använda vid visualiseringen. Byter läge till visualisering. Visar flödesschemat för watershed. 7
8 Segmentering av MR-bilder med ITK 2.3 Gränssnitt De parametrar som behövs i MCIV-funktionerna återfinns i följande Matlab-variabler som endast är tillgängliga för GUI t. watershed_iterations watershed_conductance watershed_time_step watershed_threshold watershed_maximum_flood_level geodesic_iterations geodesic_conductance geodesic_timestep geodesic_sigma geodesic_alpha geodesic_beta geodesic_seeds geodesic_propagation geodesic_curvature geodesic_advection geodesic_lower_threshold geodesic_upper_threshold fast_marching_iterations fast_marching_conductance fast_marching_timestep fast_marching_sigma fast_marching_alpha fast_marching_beta fast_marching_seeds fast_marching_stop_time fast_marching_lower_time_threshold fast_marching_upper_time_threshold mip_zspacing mpr_zspacing 8
9 Segmentering av MR-bilder med ITK slice_zspacing surface_rendering_zspacing surface_rendereing_iso_value 9
10 3 CIV CIV är implementerat i C++ och består av en mex-funktion per segmenterings- och visualiseringsmetod. Varje mex-funktion är uppdelad i konvertering från Matlab till ITK/VTK, själva koden för den aktuella metoden och konvertering från ITK till Matlab (om det är en ITK-metod). Inläsningen av bilder sker via Matlab och dessa skickas sedan tillsammans med de andra parametrarna med i funktionsanropen till de olika rutinerna. Om det är en ITKmetod så får man sedan tillbaka den behandlade bilden i Matlab. 3.1 Mex-filer Om man vill göra funktioner, skrivna i C++, som ska kunna anropas från Matlab så måste man använda sig av mex-filer. Först måste man inkludera mex.h och sedan alla andra h-filer som behövs. Man behöver även ett skal i vilket man kan skriva sin kod, istället för main så har man mexfunction. Anropsnamnet i Matlab kommer att bli samma som filnamnet på cpp-filen. Alla mex-filer kommer att innehålla nedanstående rader: #include "mex.h" void mexfunction(int nlhs, mxarray *plhs[], int nrhs, const mxarray *prhs[]) { //din kod } nlhs är en parameter som talar om hur många olika parametrar det finns på vänster sida om tilldelningsoperatorn plhs är en pekare till det som står på vänster sida om tilldelningsoperatorn nrhs är en parameter som talar om hur många olika parametrar det finns på höger sida om tilldelningsoperatorn prhs är en pekare till det som står på höger sida om tilldelningsoperatorn Exempel: >> [a,b] = mex_test_function(c,d,e); I detta fall är nlhs = 2, plhs[0] pekar på a och plhs[1] pekar på b, nrhs = 3, prhs[0] pekar på c, prhs[1] pekar på d och prhs[2] pekar på e. 10
11 a,b,c,d,e kan vara tal eller vektorer eller matriser För att kompilera skriver man kommandona >>mex setup >>mex mex_test_function För mer detaljerad information om mex-filer hänvisar vi till Mathworks, se referenser. För mer detaljerad information om kompilering, se stycket 4 Kompileringsinstruktioner. 3.2 Exportera data till Matlab När man är klar med sina operationer på bilden och vill skicka tillbaka bilden till Matlab så kan man göra det med hjälp av en iterator. Exempel: mxarray* mvar = mxcreatenumericarray(dim,dims,mxuint8_class,mxreal); unsigned char* data = (unsigned char*)mxgetdata(mvar); typedef itk::imageregionconstiterator<outputimagetype> ConstIteratorType; ConstIteratorType imageout(thresholder->getoutput(),thresholder->getoutput()- >GetRequestedRegion()); imageout.gotobegin(); for (int i = 0;!imageout.IsAtEnd(); ++i,++imageout) { } data[i] = imageout.get(); plhs[0] = mvar; Beroende på vad man vill att bilden i Matlab ska ha för datatyp så kan man använda något annat än mxuint8_class. 11
12 3.3 Importera data från Matlab Om man skickar med en bild, eller en volym, som inparameter till en funktion så kan man komma åt själva bilden genom mxgetdata(prhs[0]) om bilden är den första parametern. Om man vill ha ett visst format på bilden så kan man göra en typomvandling med t.ex. (InternalPixelType*)mxGetData(prhs[0]). Bilden lagras internt som ett enda långt fält istället för som en matris. Om en parameter är en skalär så får man tag på värdet med mxgetscalar(prhs[0]). 3.4 Funktioner De mexfunktioner som klassen CIV kommer ha är de nedan listade, alla kommer att ha en bild eller volym som första inparameter. Namn: mciv_watershed2d mciv_watershed3d mciv_geodesic2d mciv_geodesic3d mciv_fastmarching2d mciv_fastmarching3d mciv_slice mciv_mpr mciv_mip mciv_surface mciv_mxvtkconvert Kort beskrivning: Utför segmenteringsrutinen watershed på en bild. Utför segmenteringsrutinen watershed på en volym. Utför segmenteringsrutinen geodesic active contours på en bild. Utför segmenteringsrutinen geodesic active contours på en volym. Utför segmenteringsrutinen fast marching på en bild. Utför segmenteringsrutinen fast marching på en volym. Utför visualiseringsmetoden slice. Utför visualiseringsmetoden MPR. Utför visualiseringsmetoden MIP. Utför visualiseringsmetoden surface rendering. Funktionen konverterar en bild från Matlab till en bild som VTK kan arbeta med. 12
13 Nedanstående tabell visar hur funktionsparametrar och returvärden med dess datatyper definieras. Funktionsparametrarna och returvärdena är virtuella och utgörs av prhsrespektive plhs-pekarna i mex-funktionerna. Namnen på funktionsparametrarna och returvärdena nedan är nödvändigtvis inte exakt samma som namnen på variablerna i koden. Namn Beskrivning Datatyp Funktion: mciv_watershed2d Funktionsspecifika funktionsparametrar: Iterations Conductance Timestep Threshold Maximum Flood Level Returvärde: Antalet iterationer som ska utföras av diffusionsfiltret. Inparameter till diffusionsfiltret. Inparameter till diffusionsfiltret, max för 2D, för 3D. Tröskel för att tröskla bort grunda regioner för att minska översegmentering, anges i procent, , av maxvärdet i höjdbilden. Nivån på det maximala watersheddjupet av intresse hos resultatet, anges i procent, , av maxvärdet i höjdbilden. Int Segmented Image Segmenteringsresultatet. mxarray * 13
14 Beskrivning av funktionen: Funktionen utför segmenteringsrutinen watershed på inbilden, segmenteringen utförs med hjälp av ITK. Som output fås en bild med etiketter i varje pixel som talar om vilket område pixeln hör till Funktion: mciv_watershed3d Funktionsspecifika funktionsparametrar: Iterations Conductance Timestep Threshold Maximum Flood Level Returvärde: Segmented Image Antalet iterationer som ska utföras av diffusionsfiltret. Inparameter till diffusionsfiltret. Inparameter till diffusionsfiltret, max för 2D, för 3D. Tröskel för att tröskla bort grunda regioner för att minska översegmentering, anges i procent, , av maxvärdet i höjdbilden. Nivån på det maximala watersheddjupet av intresse hos resultatet, anges i procent, , av maxvärdet i höjdbilden. Segmenteringsresultatet, en tom bild om fel inträffat. Int mxarray * Beskrivning av funktionen: Funktionen utför segmenteringsrutinen watershed på involymen, segmenteringen utförs med hjälp av ITK. Som output fås en volym med etiketter i varje pixel som talar om vilket område pixeln hör till. 14
15 3.4.3 Funktion: mciv_geodesic2d Funktionsparametrar: Iterations Conductance Timestep Sigma Antalet iterationer som ska utföras av diffusionsfiltret. Inparameter till diffusionsfiltret. Inparameter till diffusionsfiltret, max för 2D, för 3D. Parameter som bestämmer bredden på det Gaussiska gradientfiltret. Int Alpha Parameter till sigmoidfiltret. Beta Parameter till sigmoidfiltret. Seeds Propagation Curvature Advection Lower threshold Upper threshold Returvärde: Punkter där fast marching startar, lista med x-, y- och z- koordinater samt värde för varje punkt. Skalningsparameter för propagering. Skalningsparameter för kurvaturen. Skalningsparameter för advektion. Anger den nedre gränsen för vad som ska visas. Anger den övre gränsen för vad som ska visas. vector<double> Segmented Image Segmenteringsresultatet. mxarray 15
16 Beskrivning av funktionen: Funktionen utför segmenteringsrutinen geodesic active contours på inbilden, segmenteringen utförs med hjälp av ITK. Som output fås en binärbild Funktion: mciv_geodesic3d Funktionsparametrar: Iterations Conductance Timestep Sigma Antalet iterationer som ska utföras av diffusionsfiltret. Inparameter till diffusionsfiltret. Inparameter till diffusionsfiltret, max för 2D, för 3D. Parameter som bestämmer bredden på det Gaussiska gradientfiltret. Int Alpha Parameter till sigmoidfiltret. Beta Parameter till sigmoidfiltret. Seeds Propagation Curvature Advection Lower threshold Upper threshold Punkter där fast marching startar, lista med x-, y- och z- koordinater samt värde för varje punkt. Skalningsparameter för propagering. Skalningsparameter för kurvaturen. Skalningsparameter för advektion. Anger den nedre gränsen för vad som ska visas. Anger den övre gränsen för vad som ska visas. vector<double> 16
17 Returvärde: Segmented Image Segmenteringsresultatet, en tom bild om fel inträffat. mxarray Beskrivning av funktionen: Funktionen utför segmenteringsrutinen geodesic active contours på involymen, segmenteringen utförs med hjälp av ITK. Som output fås en binärvolym Funktion: mciv_fastmarching2d Funktionsparametrar: Iterations Conductance Timestep Sigma Antalet iterationer som ska utföras av diffusionsfiltret. Inparameter till diffusionsfiltret. Inparameter till diffusionsfiltret, max för 2D, för 3D. Parameter som bestämmer bredden på det Gaussiska gradientfiltret. Int Alpha Parameter till sigmoidfiltret. Beta Parameter till sigmoidfiltret. Seeds Stoptime Lower Time Threshold Punkter där fast marching startar, lista med x-, y- och z- koordinater, samt värde för varje punkt. Parameter som anger när fronten som representerar konturen i fast marching ska sluta propagera, bör vara något större än upper time threshold. Den lägre tidsgränsen för vad som ska visas. vector<double> Upper Time Threshold Den övre tidsgränsen för vad 17
18 som ska visas. Returvärde: Segmented Image Segmenteringsresultatet, en tom bild om fel inträffat. mxarray Beskrivning av funktionen: Funktionen utför segmenteringsrutinen fast marching på inbilden, segmenteringen utförs med hjälp av ITK. Som output fås en binärbild Funktion: mciv_fastmarching3d Funktionsparametrar: Iterations Conductance Timestep Sigma Antalet iterationer som ska utföras av diffusionsfiltret. Inparameter till diffusionsfiltret. Inparameter till diffusionsfiltret, max för 2D, för 3D. Parameter som bestämmer bredden på det Gaussiska gradientfiltret. Int Alpha Parameter till sigmoidfiltret. Beta Parameter till sigmoidfiltret. Seeds Stoptime Lower Time Threshold Punkter där fast marching startar, lista med x-, y- och z- koordinater, samt värde för varje punkt. Parameter som anger när fronten som representerar konturen i fast marching ska sluta propagera, bör vara något större än upper time threshold. Den lägre tidsgränsen för vad som ska visas. vector<double> 18
19 Upper Time Threshold Returvärde: Segmented Image Den övre tidsgränsen för vad som ska visas. Segmenteringsresultatet, en tom bild om fel inträffat. mxarray Beskrivning av funktionen: Funktionen utför segmenteringsrutinen fast marching på involymen, segmenteringen utförs med hjälp av ITK. Som output fås en binärvolym Funktion: mciv_slice Funktionsparametrar: segmentation Anger om ursprungsbilden eller segmenteringsresultatet ska visas. Bool zspacing Avståndet mellan snitten. Returvärde: visualized_image En volym som användaren kan rotera och zooma i visualiseringsfönstret. mxarray Beskrivning av funktionen: Funktionen skär ett snitt genom en volym Funktion: mciv_mpr Funktionsparametrar: segmentation Anger om ursprungsbilden eller segmenteringsresultatet ska visas. Bool zspacing Avståndet mellan snitten. Returvärde: visualized_image En volym som användaren kan rotera och zooma i visualiseringsfönstret. mxarray 19
20 Beskrivning av funktionen: Funktionen skär tre ortogonala snitt genom en volym Funktion: mciv_mip Funktionsparametrar: Zspacing Avståndet mellan snitten. Returvärde: Visualized Image En volym som användaren kan rotera och zooma i visualiseringsfönstret. mxarray Beskrivning av funktionen: Funktionen läser av de största värdena längs ett antal strålar genom volymen Funktion: mciv_surface Funktionsparametrar Zspacing Avståndet mellan snitten. Isovalue Tröskelvärde för ytan. Returvärde: Visualized Image En volym som användaren kan rotera och zooma i visualiseringsfönstret. mxarray Beskrivning av funktionen: Funktionen visualiserar en yta av en volym givet ett visst minimalt tröskelvärde. 20
21 Funktion: mciv_mxvtkconvert Funktionsparametrar mvar Den inlästa bilden från Matlab. const mxarray* Returvärde: vtkdata Den konverterade bilden till VTK. vtkimagedata* Beskrivning av funktionen: Funktionen konverterar en bild från Matlab till en bild som VTK kan arbeta med. 21
22 4 Kompileringsinstruktioner Starta Matlab och kör: >>mex -setup Lokalisera filen "mexopts.bat" i Matlabs katalog i "Documents and settings". I "mexopts.bat": 1. Lägg till följande rader direkt under "General Parameters" (enligt den filstruktur vi använt): set MCIV=C:\MCIV set ITKinclude=%MCIV%\ITK\itk-2.4.0\include\InsightToolkit set ITKlib=%MCIV%\ITK\itk-2.4.0\lib\InsightToolkit set VTKinclude=%MCIV%\VTK\vtk-5.0.0\include\vtk-5.0 set VTKlib=%MCIV%\VTK\vtk-5.0.0\lib 2. Lägg till följande rad sist i "set INCLUDE="-kommandot: ;%VTKinclude%;%ITKinclude%;%ITKinclude%\Algorithms;%ITKinclude%\B asicfilters;%itkinclude%\common;%itkinclude%\utilities\vxl\vcl;%itkincl ude%\utilities\vxl\core 3. Lägg till följande rad sist i "set LIB="-kommandot: ;%VTKlib%;%ITKlib% 4. Lägg till följande rad sist i "set LINKFLAGS="-kommandot: vtkcommon.lib vtkdicomparser.lib vtkexoiic.lib vtkexpat.lib vtkfiltering.lib vtkfreetype.lib vtkftgl.lib vtkgenericfiltering.lib vtkgraphics.lib vtkhybrid.lib vtkimaging.lib vtkio.lib vtkjpeg.lib vtkmpeg2encode.lib vtknetcdf.lib vtkpng.lib vtkrendering.lib vtksys.lib vtktiff.lib vtkvolumerendering.lib vtkwidgets.lib vtkzlib.lib itkcommon.lib itkvnl.lib itkvcl.lib itkvnl_algo.lib ITKniftiio.lib ITKNrrdIO.lib ITKNumerics.lib ITKSpatialObject.lib ITKStatistics.lib itksys.lib itkzlib.lib ITKznz.lib ITKAlgorithms.lib ITKBasicFilters.lib ITKDICOMParser.lib ITKEXPAT.lib ITKFEM.lib itkgdcm.lib ITKIO.lib ITKMetaIO.lib itknetlib.lib itkvnl_inst.lib 22
23 I Matlab, kompilera med: >> mex mciv_mpr.cpp >> mex mciv_slice.cpp >> mex mciv_mip.cpp >> mex mciv_surface.cpp >> mex mciv_geodesic2d.cpp >> mex mciv_geodesic3d.cpp >> mex mciv_fastmarching2d.cpp >> mex mciv_fastmarching3d.cpp >> mex mciv_watershed2d.cpp >> mex mciv_watershed3d.cpp Det bör nämnas att vi använder statisk länkning för ITK och dynamisk länkning för VTK. Därför måste samtliga VTK dll-filer finnas i samma katalog som MCIV. Om man vill kompilera ITK/VTK själv: I sökvägarna ovan finns katalogerna "itk-2.4.0" och "vtk-5.0.0". Dessa motsvarar installationskatalogerna för de färdigkompilerade versionerna av ITK 2.4 och VTK 5.0. För information om hur man kompilerar ITK och VTK hänvisar vi till deras hemsidor, se referenser. Observera att ITK/VTK måste vara kompilerat med samma kompilator som den man ska kompilera mciv-filerna med. 5 Lägga till egna funktioner (ITK) 5.1 Instruktioner för att lägga till egna funktioner till ITK Det är rekommenderat att man söker upp en h-fil (och dess tillhörande txx, om den finns) som är lik den funktion man tänker konstruera. Då får man en viss känsla av hur koden ska se ut ganska snabbt. De flesta av de vanligaste filtertyperna finns redan implementerade i ITK. Många gånger är de uppdelade i filter och operator, där filtret använder sig av operatorn, t.ex. itkderivativeimagefilter och itkderivativeoperator. ITK s h-filer är för det mesta väl dokumenterade och tar därför inte lång tid att förstå och anpassa sin kod efter. Ibland kan det vara intressant att titta i doxygendokumentationen för att se ITK s klasshierarki, eller för att få en uppfattning om vad något i koden står för (exempelvis använde vi den för att förstå macro till viss del). Exempel: Jämför vår funktion itkinvertimagefilter.h med ITKs funktion itksinimagefilter.h, vilken vi använde som guide. Detta kan ge en grundläggande uppfattning till hur man kan utgå från ett filter och skapa ett eget. Här följer ett mer ingående exempel av delar man kan stöta på i ett filter. I detta fall valdes MeanImageFilter.h som exempelfilter. 23
24 Template: De flesta ITK inkluderingsfiler börjar med en template, vilket inte är mycket att bry sig om, men den ska finnas där (ITK är uppbyggt med templates). Den tar oftast upp inbild och utbild som klasser om det är ett filter, vilka är samma som används nedanför i själva filterklassen. Macro: Dessa kan finnas i många former. Här följer de i MeanImageFilter.h med förklaringar. o itkstaticconstmacro(namn, typ, källa) Denna används främst för att plocka ut statiska konstanter ur data. Vanligen bilddimension. o itknewmacro(self) Denna finns alltid med. Den skapar filterobjektets initieringsanrop. (::New()) o itktypemacro(namn, typ); Denna anger vilken huvudklasstyp som ärvs. o itksetmacro(namn, typ); Denna skapar ett set-anrop för att ge m_ namn ett värde av typen typ. Anropet kommer se ut som.set namn (värde); från filtret. o itkgetconstreferencemacro(namn, typ); Denna skapar ett get-anrop som returnerar en konstant referens till variabeln m_ namn av typen typ. Fungerar på motsvarande sätt som Set. Typedef: Finns fler av dessa än något annat i ITK. Generellt så är det för att korta ner namnen och slippa ändra på flera ställen i koden. Variabler: Som tidigare nämnt använder man variabler med prefixet m_. Ex: m_radius. Vidare så har vi itkmeanimagefilter.txx. Template: Även här dyker template upp. Dessa finns vid varje funktion i txx-filen. Finns inte mycket mer i txx-filen som inte är typisk C++-kod med använding av olika klasser. Något att observera är funktionen ThreadedGenerateData(), som är det som kommer köras vid ett typiskt Update() anrop i ITK. I t.ex. itkderivativeimagefilter.h är det istället en GenereateData() vilken inte är threaded, men skickar vidare data till en funktion som är threaded. Det mesta övriga kommer troligtvis vara ganska tydligt för en erfaren programmerare. 24
25 5.2 Egen funktion itkinvertimagefilter.h Som ett försök att skapa en egen filterfunktion till ITK designade vi ett filter som inverterar bilden. Detta var den enklaste typ av egen funktion vi kunde tänka oss efter att ha studerat några av ITKs funktioner. Filtret appliceras punktvis och har ingen omgivning, d.v.s. det är ett 1x1 filter. NxN filter går givetvis också att konstruera, och vi var inne på det från början, men fick lite problem med att resultatbilden av ett relativt simpelt filter bara blev svart. Misstankarna gick mot att vi missat något som t.ex. att det kanske har ett riktningsberoende eftersom vi utgick från deriveringsfilter som guide. Men teoretiskt ska det inte vara speciellt mycket svårare att filtrera med större filter. itkinvertimagefilter.h är ett väldigt simpelt filter. I grund och botten är det bara en punktvis operation, vilket i detta fall är 1 minus bildpunktsvärde. Just på grund av detta val av punktvis behandling så behöver filtret ett stödfilter som sätter bildens intervall till mellan 0 och 1 (decimalform tillåten såklart). Detta stödfilter är inte inkluderat i själva inkluderingsfilen, utan krävs att man vet om att man ska behandla sin bild med först i huvudprogrammet man skriver. Stödfiltret kallas itkrescaleintensityimagefilter.h och används faktiskt två gånger i huvudprogrammet som använder filtret. Detta för att vi i vår utbild faktiskt vill ha värden som ligger mellan 0 och 255. (Vilket var ett av våra större problem vid kompileringen) Eftersom vi gjorde ett sådant simpelt filter så har vi inga parametrar man kan ställa in på filtret. Det egendesignade inverteringsfiltret finns tillsammans med huvudprogrammet med som bilaga om man vill se koden i detalj. 5.3 Placering av kod Själva funktionerna kan läggas till på flera sätt. När vi konstruerade vår funktion bestämde vi oss för att vår h-fil skulle vara fristående, d.v.s. vi hade h-filen liggandes i samma katalog som vår program-fil som använde den. Men vi har även testat att lägga till h-filer och txx-filer i ITKs inkluderingskataloger och sedan kompilerat det och sett att det fungerar. Det borde även vara möjligt att skapa sin egen ITK-katalog om man observerar att lägga till denna i ITKs makefiler. Det är upp till programmeraren att bestämma var de vill ha dem. 25
26 5.4 Kompilering (ej mex) Om man inte är intresserad av att använda mex-filer, utan hellre vill göra en klassisk kompilering till.exe-fil, rekommenderas att man besöker ITK s hemsida (se referenser) och under documentation följer länken i stycket: Tutorial Material. Presentations used for tutorials presented in conferences such as IEEE Visualization 2002 and 2003, MICCAI 2003 and SPIE Medical Imaging 2003 and Detta dokument beskriver ingående hur man använder cmake för att kompilera filer, vilket undviker behovet av att manuellt leta upp h-filer och lib-filer för kompileringen. Vi hänvisar till dessa eftersom de har väldigt beskrivande och hjälpfulla bilder för både unix och windows kompilering, vilket skulle vara svårt att upprepa i textform. 6 Sammanfattning 6.1 ITK och VTK genom Matlab Uppgiften kan sägas ha varit att kombinera ITK och VTK med Matlab. Utgångspunkten var att det skulle vara ett lätt sätt att utvärdera ITK och VTK för att se om dessa kan vara användbara. Matlab fungerade utmärkt som GUI för ITK och VTK, men på grund av att Matlab inte kan hantera trådar fick vi anropa mexfunktioner istället för ett C++ huvudprogram. Detta innebar att vi var tvungna att konvertera data mellan Matlab och ITK och VTK istället för att lagras i C++ klasser. Detta påverkade inte prestandan mycket vad vi kunnat se. När man väl bestämt hur implementeringen skulle ske, var det ganska enkelt att utföra eftersom det fanns en hel mängd med exempel och information. 6.2 Utvärdering av metoder och bilddata Denna del kan beskrivas som en undersökning av många olika områden. Bland annat om metoderna påverkades mycket av om bilderna var förbättrade eller inte, eller vilken metod av de olika segmenteringarna som bäst kunde markera ett önskat område av en medicinsk bild, eller om metoderna överhuvudtaget fungerade bra nog. Man kunde konstatera att själva programmet, kopplingen av Matlab till ITK och VTK, fungerade utmärkt. Att avgöra om bilderna som var original eller förbättrade gav bäst resultat var desto svårare. Ibland var det den ena typen, ibland den andra, och ibland fick man inte fram något riktigt bra resultat med något av dem. När man inte fick fram något resultat var det mer på grund av att det var svårt att ställa in parametrarna än att bilderna var dåliga. Allmänt så fick metoden med minst antal parametrar bäst resultat. 26
27 En segmentering i 2D tar ungefär 5-10 sekunder medan en segmentering i 3D tar minuter på en dator med 2 GHz processor och 1 GB internminne. För att kunna läsa in volymer bestående fler än ungefär 50 bilder, med upplösningen 512*512 pixlar och 16- bitars gråskala, så krävs mer än 1 GB internminne. 6.3 Utökning av ITK Att utöka ITK var det sista som behandlades och fanns inte med som plan från början. När man väl kommit förbi länkningsproblemen genom att använda CMAKE istället för att manuellt försöka ställa in inkluderingsfiler och libraries, så gick det ganska fort. Man får intrycket av att utöver det mycket stora utbudet av funktioner i ITK, kan man ganska lätt lägga till nya funktioner genom att använda de befintliga funktionerna som referenser. 6.4 Slutsats Vårat system klarar att segmentera och visualisera medicinska bilder med ganska bra resultat, under förutsättning att man ställt in bra parametrar. Det krävs dock en ganska bra dator för att det inte ska ta allt för lång tid att segmentera i 3D. 27
28 Referenser Projektmodellen LIPS, Tomas Svensson & Christian Krysander ITK Software Guide, ITK Tutorials, ITK Doxygen component information, The VTK s User Guide, version 4.2, Kitware, Inc. publishers Mathworks, Mathworks, Hemsida ITK, Hemsida VTK, 28
Kravspecifikation. LiTH Segmentering av MR-bilder med ITK Anders Eklund Version 1.0. Status
2006-02-02 Kravspecifikation Version.0 Status Granskad Godkänd Bilder och grafik projektkurs, CDIO MCIV LIPs 2006-02-02 PROJEKTIDENTITET MCIV 2006 VT Linköpings Tekniska Högskola, CVL Namn Ansvar Telefon
Användarhandledning. LiTH Segmentering av MR-bilder med ITK Anders Eklund Version 1.0. Status
2006-05-15 Användarhandledning Version 1.0 Granskad Godkänd Status Bilder och grafik projektkurs, CDIO MCIV LIPs 1 2006-05-15 PROJEKTIDENTITET MCIV 2006 VT Linköpings Tekniska Högskola, CVL Namn Ansvar
Testprotokoll. LiTH Segmentering av MR-bilder med ITK Anders Eklund Version 1.0. Status
Segmentering av MR-bilder med ITK 2006-05-02 Testprotokoll Version 1.0 Status ranskad odkänd Bilder och grafik projektkurs, CDIO MCIV LIPs 1 Segmentering av MR-bilder med ITK 2006-05-02 PROJEKTIDENTITET
Projektplan. LiTH Segmentering av MR-bilder med ITK Anders Eklund. Version 1.0. Status. Bilder och grafik projektkurs, CDIO MCIV LIPs
Segmentering av MR-bilder med ITK 2006-02-02 Projektplan Version 1.0 Status Granskad Godkänd Bilder och grafik projektkurs, CDIO MCIV LIPs 1 PROJEKTIDENTITET MCIV 2006 VT Linköpings Tekniska Högskola,
LiTH Segmentering av MR-bilder med ITK Efterstudie MCIV. Anders Eklund. Status
Segmentering av MR-bilder med ITK 2006-05-15 Efterstudie MCIV Status Granskad Godkänd Bilder och grafik projektkurs, CDIO MCIV LIPs 1 Segmentering av MR-bilder med ITK 2006-05-15 PROJEKTIDENTITET MCIV
LiTH. WalkCAM 2007/05/15. Testrapport. Mitun Dey Version 1.0. Status. Granskad. Godkänd. Reglerteknisk projektkurs WalkCAM LIPs
Testrapport Mitun Dey Version 1.0 Status Granskad Godkänd 1 PROJEKTIDENTITET Reglerteknisk projektkurs, WalkCAM, 2007/VT Linköpings tekniska högskola, ISY Namn Ansvar Telefon E-post Henrik Johansson Projektledare
HARALD. Systemskiss. Version 0.3 Redaktör: Patrik Johansson Datum: 20 februari 2006. Status
HARALD Systemskiss Version 0.3 Redaktör: Patrik Johansson Datum: 20 februari 2006 Status Granskad Johan Sjöberg 2006-02-10 Godkänd - yyyy-mm-dd Projektidentitet Gruppens e-post: Beställare: Kund: Kursansvarig:
Att använda pekare i. C-kod
Att använda pekare i C-kod (Bör användas av de som känner sig lite hemma med C-programmering!) Rev 1, 2005-11-23 av Ted Wolfram www.wolfram.se Syfte: Man kan tycka att det är komplicerat att använda pekare
Lära känna skrivbordet
Är det första gången du använder Windows 7? Den här versionen har mycket gemensamt med tidigare versioner av Windows, men du kan behöva hjälp med att få upp farten. Den här guiden innehåller praktisk information
Programmering A C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08
Programmering A C# VT 2010 Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Innehåll Hjälp och referenser... 3 Kap 1 Introduktion... 3 Steg för steg... 3 Kapitel 2 Variabler...
Miniprojekt: MEX och molekyldynamik
4 september 2013 Miniprojekt 1 (5) Beräkningsvetenskap DV Institutionen för informationsteknologi Beräkningsvetenskap Besöksadress: Polacksbacken, hus 2 Lägerhyddsvägen 2 Postadress: Box 337 751 05 Uppsala
Programmeringsteknik med C och Matlab
Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga
Tentamen TEN1 HI1029 2014-05-22
Tentamen TEN1 HI1029 2014-05-22 Skrivtid: 8.15-13.00 Hjälpmedel: Referensblad (utdelas), papper (tomma), penna Logga in med tentamenskontot ni får av skrivvakten. Det kommer att ta tid att logga in ha
Systemskiss. Status. David Sandberg, Tobias Lundqvist, Rasmus Dewoon, Marcus Wirebrand Version 1.0. Granskad Godkänd
Systemskiss David Sandberg, Tobias Lundqvist, Rasmus Dewoon, Marcus Wirebrand Version 1.0 Status Granskad Godkänd Projektidentitet Grupp 2, 2010/HT Linköpings Tekniska Högskola, ISY Namn Ansvar Telefon
Systemskiss. Självetablerande sensornätverk med 3G och GPS. Version 0.2. Christian Östman Datum: 15 maj 2008
Systemskiss Självetablerande sensornätverk med 3G och GPS Version 0.2 Christian Östman Datum: 15 maj 2008 Status Granskad Johan Lundström 2008-02-08 Godkänd Projektidentitet Gruppens e-post: Hemsida: Beställare:
Tentamen i TDP004 Objektorienterad Programmering Praktisk del
Tentamen i TDP004 Objektorienterad Programmering Praktisk del Datum: 2009-08-24 Tid: 14-18 Plats: SU-salar i B-huset. Jour: Per-Magnus Olsson, tel 285607 Jourhavande kommer att besöka skrivsalarna ungefär
1 Funktioner och procedurell abstraktion
1 Funktioner och procedurell abstraktion Det som gör programkonstruktion hanterlig och övergripbar och överhuvudtaget genomförbar är möjligheten att dela upp program i olika avsnitt, i underprogram. Vår
Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)
Kom igång. Version 3
Kom igång Version 3 Installation & Inställningar Om du läser den här filen, har du troligtvis redan tagit dig igenom installationsprocessen hos PMView Pro. Den här sektionen är tänkt att guida dig genom
Fingerprint Matching
Fingerprint Matching Björn Gustafsson bjogu419 Linus Hilding linhi307 Joakim Lindborg joali995 Avancerad bildbehandling TNM034 Projektkurs Biometri 2006 1 Innehållsförteckning 1 Innehållsförteckning 2
19. Skriva ut statistik
19. Skiva ut statistik version 2006-05-10 19.1 19. Skriva ut statistik Den här dokumentationen beskriver hur man skriver ut statistik från SPFs medlemsregister via Internet. Observera att bilderna är exempel
Tips och tricks 1 Cadcorp SIS 5.2 2003-03-03
Tips och tricks 1 Cadcorp SIS 5.2 2003-03-03 Skapa en raster pensel från en Windows bakgrund (1) 1. Kontrollera att Paper är uppsatt som koordinatsystem/projektion 2. Öppna en Bitmap fil i ett tom fönsterfil
Systemskiss. LiTH AMASE Accurate Multipoint Acquisition from Stereovision Equipment. Jon Månsson Version 1.0
2006-02-15 Systemskiss Jon Månsson Version 1.0 Granskad Godkänd TSBB51 LIPs John Wood johha697@student.liu.se 1 PROJEKTIDENTITET VT2006, Linköpings tekniska högskola, ISY Namn Ansvar Telefon E-post Mikael
Handbok Minröjaren. Nicolas Hadacek Michael McBride Anton Brondz Utvecklare: Nicolas Hadacek Granskare: Lauri Watts Översättare: Stefan Asserhäll
Nicolas Hadacek Michael McBride Anton Brondz Utvecklare: Nicolas Hadacek Granskare: Lauri Watts Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 6 2 Hur man spelar 7 3 Spelets regler, strategi och
725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack
725G61 - Laboration 7 Implementation av ett API Johan Falkenjack December 13, 2013 1 Inledning Hittills i kursen har vi tittat på grundläggande programmering och grundläggande objektorientering. I den
Laborationer i kursmomentet Datoranvändning E1. Laboration nr 5: Mer om FrameMaker
Sid 1 Laborationer i kursmomentet Datoranvändning E1 http://www.etek.chalmers.se/~hallgren/eda/ : Mer om FrameMaker 1996, 1997 Magnus Bondesson 1998 och 99-09-22 Thomas Hallgren 1 Introduktion I Laboration
Inställningar i vån.1 av projektet för grund
Grundritning Platta på mark Inställning för grund i vån. 1 av projektet... 2 Väggsammanslagning... 3 Ritningsnummer Grundritning... 4 Startfil för Grundritning... 5 Inställning för Grundritning... 6 Grundritning
Att använda bildhanteringsprogram, del 2
Att använda bildhanteringsprogram, del 2 Gå till Adobe Online (M) Markeringsram - (L) Lasso - (C) Beskärning - (J) Airbrush - (S) Klonstämpel - (E) Suddgummi - (R) Oskärpa - (A) Markering av bankomponenter
Introduktion till arv
Introduktion till arv 6 INTRODUKTION TILL ARV Arv Generell-Speciell Arv för att utnyttja det vi redan gjort Återanvändning Basklass Härledd klass Varför arv? Inför en subklass för att uttrycka specialisering
Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.
Tentamen 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.00, sal E33 Tentan har en teoridel och en problemdel. På teoridelen är inga hjälpmedel
Sätt att skriva ut binärträd
Tilpro Övning 3 På programmet idag: Genomgång av Hemtalet samt rättning Begreppet Stabil sortering Hur man kodar olika sorteringsvilkor Inkapsling av data Länkade listor Användning av stackar och köer
Här kan du välja befintligt upplägg eller skapa ett nytt. Klicka på edit uppe till höger för att redigera och/eller skapat nytt.
Start-skärmen Här kan du välja befintligt upplägg eller skapa ett nytt. Klicka på edit uppe till höger för att redigera och/eller skapat nytt. Det grå kugghjulet indikerar att du är i redigeringsläge och
Routerinställning. Denna guide tar dig genom de enkla steg som behövs för att ställa in routern så den fungerar trådlöst.
Routerinställning Denna guide tar dig genom de enkla steg som behövs för att ställa in routern så den fungerar trådlöst. Om frågor uppstår efter att du använt denna guide så går det bra att maila fibergruppen.
Att genomföra ett e-postutskick till klubbens medlemmar
Att genomföra ett e-postutskick till klubbens medlemmar Medlem online innehåller en funktion där du kan göra ett utskick till de medlemmar som har en e-post registrerad i systemet. Observera att de medlemmar
HI1024 Programmering, grundkurs TEN2 2014-03-13
HI1024 Programmering, grundkurs TEN2 2014-03-13 KTH STH Haninge 13.15-18.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King
LiTH. WalkCAM 2007/05/15. Testplan. Mitun Dey Version 1.0. Status. Granskad. Godkänd. Reglerteknisk projektkurs WalkCAM LIPs
Testplan Mitun Dey Version 1.0 Status Granskad Godkänd 1 PROJEKTIDENTITET Reglerteknisk projektkurs, WalkCAM, 2007/VT Linköpings tekniska högskola, ISY Namn Ansvar Telefon E-post Henrik Johansson Projektledare
Programmering av stegmotorer ett miniprojekt i samarbete med Svensk Maskinprovning
Programmering av stegmotorer ett miniprojekt i samarbete med Svensk Maskinprovning Daniel Leonardsson dale0010@student.umu.se Kajsa Persson kape0038@student.umu.se I samarbete med Svensk Maskinprovning,
Objektorienterad programmering D2
Objektorienterad programmering D2 Laboration nr 2. Syfte Att få förståelse för de grundläggande objektorienterade begreppen. Redovisning Källkoden för uppgifterna skall skickas in via Fire. För senaste
2011 Studsvik AB PANORAMA-BILDTAGNING. Tony Björkman
2011 Studsvik AB Tony Björkman PANORAMA-BILDTAGNING Filminspelning och visuell inspektion är två beprövade metoder för avsyning av bränslestavar. Ett nytt sätt att avsyna är att skapa panoramabilder vilket
Systemskiss. Redaktör: Anders Toverland Version 1.0. Status. LiTH Fordonssimulator. Granskad Godkänd. TSRT71 Anders Toverland
Systemskiss Redaktör: Version 1.0 Granskad Godkänd Status Sida 1 PROJEKTIDENTITET Grupp 1, 2005/VT, Linköpings Tekniska Högskola, ISY Gruppdeltagare Namn Ansvar Telefon E-post Anders Wikström Kvalitetsansvarig
Användarmanual CallPad och VoicePad
Användarmanual CallPad och VoicePad Villkor för användning Ingen del av detta dokument får reproduceras eller överföras i någon form eller med några medel, elektroniskt eller mekaniskt, inklusive kopiering
INSTRUKTION Specifikation E modul.doc
1 (13) Syfte Detta är en instruktion för hur det är tänkt att specifikationen ska fyllas i vid beställning av en E modul. Förhoppningen är dock att specifikationsmallen är självinstruerande så att detta
TDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Underprogram - Funktioner Eric Elfving Institutionen för datavetenskap 18 september 2014 Översikt 2/22 Återblick till satsblocken Funktioner - Namngivna satsblock
Medicinska Bilder, TSBB31. Lab: Mätvärden på Medicinska Bilder
Medicinska Bilder, TSBB3 Lab: Mätvärden på Medicinska Bilder Maria Magnusson, 22 Senaste updatering: september 25 Avdelningen för Datorseende, Institutionen för Systemteknik Linköpings Universitet Introduktion
Övningar Dag 2 En första klass
Kurs i C++ Sid 1 (5) Övningar Dag 2 En första klass Denna övning går ut på att steg för steg bygga upp en klass och skapa objekt. Vi kommer att utgå från en sammansatt datatyp i en struct och parallellt
Manual för version V2
Innehållsförteckning 1. Om 2. Installera Administration 3. Programmets skrivbord 4. Lägga upp din första kund 5. Kontaktpersoner 6. Besiktningsadresser 7. Kontrollpunkter/Besiktningspunkter 8. Koppla kontrollpunkter/besiktningspunkter
KRAVSPECIFIKATION. Pontus Brånäs Wojtek Thorn Version 1.1. Status
KRAVSPECIFIKATION Pontus Brånäs Wojtek Thorn Version 1.1 Status Signatur Datum Granskad 2015-01-22 Godkänd LIPS Kravspecifikation i projektgrupppontek@outlook.com PROJEKTIDENTITET Projektgrupp 2, 2014/2015,
Handledning för publicering av avhandlingar och andra vetenskapliga publikationer i DiVA
Handledning för publicering av avhandlingar och andra vetenskapliga publikationer i DiVA Innehållsförteckning Instruktion för att lägga in din avhandling i DiVA... 2 Publicera avhandlingen... 2 Publicering
HARALD. Version 0.2 Redaktör: Patrik Johansson Datum: 8 maj 2006. Status. Granskad - yyyy-mm-dd Godkänd - yyyy-mm-dd
HARALD Användarhandledning Version 0.2 Redaktör: Patrik Johansson Datum: 8 maj 2006 Status Granskad - yyyy-mm-dd Godkänd - yyyy-mm-dd Projektidentitet Gruppens e-post: Hemsida: Beställare: Kund: Kursansvarig:
Användarmanual för ledare - ERC 2.0
Användarmanual för ledare - ERC 2.0 TeliaSonera Sverige 1 2009-07-03 Användarmanual för ledare - ERC 2.0, T 17350-09 Innehållsförteckning Startsidan sid 3 Aktivitetsöversikt, huvudprojekt sid 4 Kontakter
Trädportalen.se. Användarhandledning för rapportsystemet för skyddsvärda träd
Användarhandledning för rapportsystemet för skyddsvärda träd Innehåll Introduktion Trädportalen.se Visa träd (ej inloggad) Exportera data 4 Visa träd (inloggad) 5 Skapa rapport 6 Registrera konto 7 Ändra
Handicom. Symbol for Windows. Blisseditor. Version 3.4
Handicom Symbol for Windows Version 3.4 Handicom, Nederländerna/Frölunda Data AB 2009 Innehåll Installation och licenser...2 1. Inledning...2 2. ns huvudfönster...2 2.1 Verktygsfältet...2 2.2 Matris...2
No Oscillations Corporation. Efterstudie. Optimal Styrning av Autonom Racerbil. Version 0.1 Författare: Sofia Johnsen Datum: 20 december 2013
No Oscillations Corporation Efterstudie Optimal Styrning av Autonom Racerbil Version 0.1 Författare: Sofia Johnsen Datum: 20 december 2013 Status Granskad Sofia Johnsen 2013-12-12 Godkänd Projektidentitet
B2C för Svensk Elitfotboll Urval
B2C för Svensk Elitfotboll Urval INNEHÅLL 1. Generellt om Urval... 2 1.1. Skapa nytt Urval... 2 1.2. Dela ut urval till dina kollegor... 6 2. Objektstruktur för B2C... 7 2.1. Privatpersonkortet... 7 2.2.
A3-scanner. Svenska. Användarhandbok
A3-scanner Svenska Användarhandbok Hämta TWAIN-drivrutinen för scannern TWAIN-drivrutinen är den scanningsmodul som tillhandahålls med din scanner. Den är lätt att nå från de medföljande scannerprogrammen
Logga in. Elevöversikt. Kolumner. Godkänna. Urval. Hantera inflytt och byte. Sök. Familjebild. Utskriftsrutin Om pengen
2014-03-04 Logga in Glömt lösenord Uppdatera lösenordet Kolumner Lägga till, ta bort och ändra ordning Spara egna kolumnval Urval Excelformat Välja antal barn som visas Sök Söka med filter Familjebild
En introduktion till Complex Drafting demo version
En introduktion till Complex Drafting demo version Demoversionen är det fullständiga Complex Drafting med undantag för att det inte går att spara mönster och inte heller skriva ut några egna mönster. Det
LATHUND PA-WEBBEN KOMPETENSSÖKNING. Version 1. 2010-08-12. Sida 1 av 7
LATHUND PA-WEBBEN KOMPETENSSÖKNING Version. 200-08-2 Sida av 7 INTRODUKTION... 3 KOMPETENSSÖKNING... 3 SÖKNING - SÖKNING PÅ ORGANISATIONSNIVÅ... 3 SÖKNING 2- SÖKNING MED HJÄLP AV KOMPETENSNIVÅER... 5 KOMPETENSKNAPPEN...
Migrera till Word 2010
I den här guiden Microsoft Microsoft Word 2010 skiljer sig rent utseendemässigt mycket, så vi har skapat den här guiden för att hjälpa dig att snabbare lära dig programmet. Här kan du läsa om de viktigaste
KPP053, HT2015 MATLAB, Föreläsning 1. Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner
KPP053, HT2015 MATLAB, Föreläsning 1 Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner MATLAB Väletablerat Mycket omfattande program GNU OCTAVE Öppen
HARALD Testprotokoll
HARALD Testprotokoll Version 0.2 Redaktör: Patrik Sköld Datum: 9 maj 2006 Status Granskad Johan Sjöberg 2006-05-09 Godkänd - yyyy-mm-dd Projektidentitet Gruppens e-post: Beställare: Kund: Kursansvarig:
Föreläsning 3.1: Datastrukturer, en översikt
Föreläsning.: Datastrukturer, en översikt Hittills har vi i kursen lagt mycket fokus på algoritmiskt tänkande. Vi har inte egentligen ägna så mycket uppmärksamhet åt det andra som datorprogram också består,
Systemkonstruktion SERIEKOMMUNIKATION
Systemkonstruktion SERIEKOMMUNIKATION Laborationsansvariga: Anders Arvidsson Utskriftsdatum: 2005-04-26 Syfte Laborationen syftar till att ge studenten tillfälle att närmare bekanta sig med RS-232-protokollet,
Laboration 1. Grafisk produktion och tryckkvalitet (TNM015) Rastrering och objektiva kvalitetsmått. S. Gooran (VT2007)
Laboration 1 Grafisk produktion och tryckkvalitet (TNM015) Rastrering och objektiva kvalitetsmått S. Gooran (VT2007) Syfte: Denna laboration är till för att öka förståelsen för olika rastreringstekniker
Hogia Redovisning & Revision AB. Anståndshantering Hogia Kund- och Uppdragshanterare
Hogia Redovisning & Revision AB Anståndshantering Hogia Kund- och Uppdragshanterare Innehållsföteckning 1. Inledning 3 1.1 Syfte 3 1.2 Omfattning 3 1.3 Termer och Förkortningar 3 1.4 Bakgrund 3 1.4.1 Skatteverket
Komma igång med Eventor
Guide Eventor Komma igång med Eventor Version 2.0, 2013-10-07 Starta med startsidan På Eventors startsida finns en kortare guide över hur du skaffar användarkonto och hur du loggar in. Börja med den för
Föreläsning 4: Poster
Föreläsning 4: Poster Följande är genomgånget: type Person_Type is Namn : String(30); Skonr : Float; Kon : Boolean; Diskussion runt detta med olika typer m.m. Har tagit upp vilka operationer man kan göra
Handbok Artikulate. Andreas Cord-Landwehr Ondrila Gupta Översättare: Stefan Asserhäll
Andreas Cord-Landwehr Ondrila Gupta Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 1.1 Inlärningsmetodiken.................................... 5 1.2 De första stegen i Artikulate................................
PLATINA 1(23) Platina, för nya nämndsekreterare
1(23) Platina, för nya nämndsekreterare 2(23) INNEHÅLLSFÖRTECKNING NAVIGERING PÅ STARTSIDAN ------------------------------------------------------------ 3 HANTERA INSTANS ----------------------------------------------------------------------------
SCHOLA COMAI ELEV WEBBKALENDER / SCHEMA VERSION 1.1. [Skriv text]
20111206 SCHOLA COMAI WEBBKALENDER / SCHEMA VERSION 1.1 ELEV [Skriv text] Innehåll 1 Inledning... 3 1.1 Terminologi... 3 1.2 Teknisk kravspecifikation... 4 1.3 Behörigheter... 4 1.5 Start... 4 1.5.1 Grundinställning
Version: 2012-08-13 v.1.0. Manual för praktiker
Version: 2012-08-13 v.1.0 Manual för praktiker Innehållsförteckning Inloggning... 2 Logga in... 2 Glömt lösenord... 2 Logga ut... 3 Behandlingar / Tjänster... 4 Lägg in era behandlingar... 4 Redigera behandling...
Administrationsverktyg för marinvåg
Computer Science Opponent(s): Ewelina Helmersson & Mollin Widegren Respondent(s): Christer Oscarsson & Jonas Larsson Administrationsverktyg för marinvåg Opposition Report, C-level 2010:VT 1 En generell
TUTORIAL: SAMLING & KONSOLL
TUTORIAL: SAMLING & KONSOLL Denna tutorial är en fortsättning på den tutorial där vi skapade klassen Car och sedan objekt av denna klass. Vi skall nu lära oss att lagra dessa objekt i en samling och även
Hur man kompilerar och kör IT++-program med MinGW. 1 Sammanfattning. 2 Om dokumentet. 3 Om min konfiguration
1 (12) Hur man kompilerar och kör IT++-program med MinGW 1 Sammanfattning Detta dokument visar hur man lätt (med några få extra raders kod) kan få IT++ att bli kompatibelt med kompilatorn MinGW. Med den
MyScore Mobil Manual 1 Senaste uppdatering: 2015/11/06 Fairdeal Group Sverige AB
MyScore Mobil Manual 1 Senaste uppdatering: 2015/11/06 Fairdeal Group Sverige AB Innehållsförteckning Inledning... 2 MyScore Mobile... 3 Viktigt om MyScore Mobile... 4 Installera MyScore Mobile... 5 Ändra
LiTH Golfspelande industrirobot Designspecifikation. Designansvarig: Mikaela Waller Version 1.0. Status. Granskad Martin
Golfspelande industrirobot 2004-02-25 Designspecifikation Designansvarig: Mikaela Waller Version 1.0 Status Granskad Martin 2004-02-24 Godkänd Martin 2004-02-24 Dokumentansvarig: Elin Eklund i Golfspelande
Handbok Kiriki. Albert Astals Cid Eugene Trounev Översättare: Stefan Asserhäll
Albert Astals Cid Eugene Trounev Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 2 Hur man spelar 6 3 Spelets regler, strategi och tips 8 3.1 Spelregler..........................................
Semester och arbetstidsförkortning
Hantverksdata Bilanco 2011-04-01 Semester och arbetstidsförkortning Innehåll SEMESTERUPPDATERING... - 2 - ARBETSTIDSFÖRKORTNING... - 5 - www.hantverksdata.se - 1 - Semesteruppdatering Uppdateringen ska
Guide till Jordbruksverkets E-tjänst Ansökan Steg 1
Guide till Jordbruksverkets E-tjänst Ansökan Steg 1 Ansöker du för din egen organisations räkning eller en annan organisations räkning? Har du fullmakt att företräda den organisation som planerar att ansöka
Smartair System. TS1000 Version 4.23
Smartair System TS1000 Version 4.23 Denna manual är ett komplement till: 2069-1001 Smartair System Installations och driftsättningsmanual version 4.20A Denna manual beskriver nyheter i Smartair TS1000
Handbok Kstuds. Tomasz Boczkowski Granskare: Eugene Trounev Översättare: Stefan Asserhäll
Tomasz Boczkowski Granskare: Eugene Trounev Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 6 2 Hur man spelar 7 3 Spelets regler, strategi och tips 8 3.1 Spelets regler........................................
EDA095 Nätverksprogrammering
EDA095 Nätverksprogrammering Projekt Checkers Grupp 8, 2008 Dag Wahlberg Leo Barnes Erik Wallenborg Ylva Mellbin
Chapter 3: Using Classes and Objects
Chapter 3: Using Classes and Objects I dessa uppgifter kommer du att lära dig om hur man använder klasser och metoder från java biblioteket. Du kommer inte att förstå allt som händer bakom metod anrop
Patrik Calén 2014-03-24
PVF PLÅT & VENT FORUM AB PVF-Kalkyl Byggplåt Kom igång manual Patrik Calén 2014-03-24 1 Innehå ll Kom igång o Skapa ett projekt 3 Nytt projekt 4 Nytt projekt från mall 5 Ritningsinläsning 6 o Objektträd
SurveyXact version 6.10
SurveyXact version 6.10 SurveyXact har uppdaterats med kraftigt förbättrade möjligheter för att redigera analysresultat i analysen. Det har blivit enklare att analysera data och hitta de intressanta analysresultaten.
Referens till. WeavePoint 6 Mini
Referens till WeavePoint 6 Mini Arkiv Öppna Välj Arkiv Öppna eller klicka på snabbknappen Öppna för att komma till dialogrutan Öppna. Du kan öppna ett av de senaste mönstren du arbetat med genom att klicka
Seriehantering. [En enkel guide för hur du som serieadministratör använder SVEMO TA.]
2013 Svenska Motorcykel- och Snöskoterförbundet Box 2314 600 02 NORRKÖPING Tel. 011-23 10 80 www.svemo.se Seriehantering [En enkel guide för hur du som serieadministratör använder SVEMO TA.] Innehåll Inledning...
Per-Emil Eliasson, Claes Fälth, Manne Gustafson, Andreas Gustafsson
ANVÄNDARHANDLEDNING FÖR MÄTNING AV ACCELERATION HOS BILBANEBIL Per-Emil Eliasson, Claes Fälth, Manne Gustafson, Andreas Gustafsson 6 juni 2003 INNEHÅLL Industriprojekt ISY Innehåll 1 Inledning 2 2 Allmänt
Manual för praktiker
Manual för praktiker Version: 2012-03-18 v.1 Innehållsförteckning Inloggning... 2 Logga in... 2 Glömt lösenord... 2 Logga ut... 3 Behandlingar / Tjänster... 4 Lägg in era behandlingar... 4 Hantering av
Detta är en kort Manual för Vecturas portal för presentation av inventeringar. Adressen till portalen är: http://portal.vecturaxplorer.
Manual Vectura Xplorer Portalen Senast ändrad 2012-07-02 Detta är en kort Manual för Vecturas portal för presentation av inventeringar. Adressen till portalen är: http:// För att komma in krävs användarnamn
Igenkänning av handskrivna siffror med hjälp av basbilder
Igenkänning av handskrivna siffror med hjälp av basbilder Klas Josephson F-00 E-mail: f00kj@efd.lth.se Magnus Bjernstad F-00 E-mail: f00mbj@efd.lth.se Handledare: Jacob Sternby Sammanfattning I den här
FLEXILAGER Ett hjälpmedel för anpassad lagerhantering. Original -version
Beskrivning av FLEXILAGER Ett hjälpmedel för anpassad lagerhantering. Original -version Flexénita Sunnerstavägen 58 186 70 Brottby tel: 08 512 41803 FLEXILAGER 2 Innehållsförteckning INTRODUKTION.....3
Aditro HR Portalen - logga in och byta lösenord
Aditro HR Portalen - logga in och byta lösenord 2015-04-22 Innehåll 1. Att komma åt HR portalen... 2 2. Logga in och byta lösenord... 2 Inloggning... 2 Byta lösenord... 2 Glömt lösenord... 3 Hjälpfunktionen...
Concept Selection Chaper 7
Akademin för Innovation, Design och Teknik Concept Selection Chaper 7 KPP306 Produkt och processutveckling Grupp 2 Johannes Carlem Daniel Nordin Tommie Olsson 2012 02 28 Handledare: Rolf Lövgren Inledning
Utbildningsmodulen Förening 2013-08-18
Utbildningsmodulen Förening 2013-08-18 Inledning...3 Operativsystem och webbläsare...3 Föreningens utbildningsmodul.4 Inledning...4 Arrangemang...4 Öppna arrangemang...4 Sök arrangemang...7 Kopiera arrangemang...7
Software Translator 6.1 Manual
Software Translator 6.1 Manual 1 Innehåll Sidan Inledning 3 Installation 4 Auktorisation 4 Översikt Programfönster 5 Menyer Arkiv 5 Visa 6 Språk 6 Verktyg 7 Hjälp 7 Handhavande Att lägga till ett program
Editering, Kompilering och Exekvering av Javaprogram
UMEÅ UNIVERSITET Institutionen för informatik B.1, Programmeringens grunder, 5 poäng Editering, Kompilering och Exekvering av Javaprogram Introduktion Syftet med kursmomentet Programmeringens grunder (B.1)
Kom igång med LUPP 6.0
RIB 2012 Sidan 1 av 11 Kom igång med LUPP 6.0 Introduktion... 2 Installation... 4 Vad börjar jag med?... 6 Logga in... 6 Skapa användare... 7 Lägg in organisation, stationer och enheter... 8 Öppna Verksamhetsöversikten...
Objektorienterad programmering
Objektorienterad programmering Föreläsning 19 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Agenda Konstruktion av egna grafiska komponenter Kontsruktion av egen komponent Att rita upp