MODELIRANJE  TOMOGRAFA

Izdelal: Tivadar Tomaž
Mentor: mag. Leon Kos, dipl.ing. Janez Vrhovec
Predmet: Postopki konstruiranja
Pričetek modeliranja: 18.2.99
Pričetek izdelave porocila: 20.3.99
Def. naloge: Potrebno je modelirati računalniški tomograf (CT) enostavnih oblik.

    KAZALO

        - teoretične osnove
        - abstract
        - podroben opis poteka modeliranja
        - izdelane slike tomografa
        - zakjuček
        - uporabljena literatura

    TEORETIČNE OSNOVE

Nalogo sem izdelal na grafični postaji silicon graphics z programom Alias Wavefront verzije 8.5. Cilj naloge je, da koliko se da spoznam delovanje, izdelave, postopanje pri izdelavi komleksnih modelov v prostoru. Pri nalogi mi je v pomoč originalna literatura programa z imenom Learning alias. Navedeni sofver je zelo obširne oblike zato sem moral nekatere stvari poenostaviti oziroma skrajšati, ker je nemogoče v roku 2 mesecev popolnoma povzeti oziroma spoznati vsako podrobnost programa. Modeliranje pomeni izelava modela v prostoru. Tomograf pa je naprava za slikanje človeskega telesa v plasteh. V novejših časih so se na tržišču pojavili računalniški tomografi (computed tomograph-CT), ti imajo veliko prednost saj lahko poslikamo človesko hrbtenico v prerezu v poljubni točki. To omogoča hitro analizo oziroma zelo olajša delo kirurgov v bolnicah pri pacientih z okvaro  ali poškodbo na hrbtenici. Poročilo bom opisal karseda  podrobno korak za korakom. Modeliral sem posebej različne dele tomografa (mizo za pacienta,samo napravo ter podlogo za glavo nato pa sem exportiral oziroma inportiral v eno sliko)

    ABSTACT

My assignment was a modeling a tomograph simlpy models.

1.  Drawing lines .For drawing construction lines we can choose an icon in menu Curves. When we are finished in this step we got  the elementary picture of model (3D). In the same way we can draw the bumper and the wheel. When we construct the wheel we can made just one piece, the others can be copied. We can construct the bumper in the same way.

2.Generating  the surfaces.We use the command  (Surfaces-Swept surfaces-Birail). First we can click on the opposite laying edges and then we can click on the others. The surface is defined. When we finished with building the surfaces we can control our work with command Quick Render (menu Render).

3. Deleting construction lines.Now the construction lines are necessary, therefor we delete them with command. We can do this in menu Delete and command Del active. Before that we have to use command Pick-Component and click-drag the whole model.

4. Rounding the surfaces.We choose the edge which we want to round and click on it, then enter the radius value, click on Position Profile button to define on which side of edge radius will be entered with 0 or 1. To define the other side of the edge double click on the same edge and repeat the procedure (for another radius value). We can execute rounding with Build button.

5. Mirroring parts and the model.We can copy a wheel with command Edit-Duplicate object. Then we have to enter the translation value (rotation, scalation). For copying the whole model we have to scale the whole model for -1 around Y axis.

7. Definition textures of model.From menu Windows we choose command Multilister, then option Shaders. In Shader lister window we choose Edit-New Shader. We select the part (surfaces) of the model which we want to add different basic textures. With double click on new icon we can open the Shader Editor. Then we could choose some parameters (colour, diffusion, reflectivity...). Then we choose in Shader lister window Shading-Assign shaderand the new texture is done.

Seven points of making a model is not enought for modeling a model.This is only common thing in sofware which we will find if we will work with this sofware.

    PODROBEN OPIS POTEKA MODELIRANJA

1.    Program poženem v operacijskem sistemu Unix z ukazom aw. Odprejo se tri okna (glavno okno z 4-mi pogledi,2 pomožni okni z ikonami ki jih uparabjamo za orodja pri risanju).

2.    Najprej sem modeliral napravo (konzolo). Z ukazom object (slika 1) narišem kocko.
Ta ikona se nahaja v levem menuju palete pod ikono object-primitives-cube.Kliknem tipko go in izriše mi kocko.

slika 1

3.     Kocko moram skalirati v kvader poljubne dimenzije z ukazom noup-scale, ki se nahaja v paleti pod menujem xform.Vpraša me za kakšen faktor bom kocko scaliral v x,y in z osi(slika 2).

slika 2

    Če hočem,da mi skalira določen objekt ga moram označit. To storim tako da kliknem pick-nothing, za tem pa pick-object(slika3). Da izvem ime ikone kliknem in držim srednji gumb na miši.Nato kliknem na kocko.

slika 3

4.     Za precizno modeliranje moram nastaviti korak navidezne mreže, ki mi pomaga pri izdelavi modela(slika 4).

slika 4

5.    Nato narišem krog z ikono curves-arcs-circular arc, povem radij in projeciram na plašč kvadra z ikono surfance edit - create curve on surfance - project normal (slika 5) in tako mi projecira krog na plasc kvadra.

slika 5

6.     Še pred tem moram kvadru definirati površine z ikono surfaces-setplanar (slika 6a). Pokažem štiri ali tri stranice, ki mi definirajo zakjučeno površino potrdim z go. Nato nastane kvader sestavljen iz sestih površin.  Ko projeciram krog na definirano površino moram notranji del izsekati proč.To naredim z ikono trim-trim (slika 6), označim površino katero hočem obdržati (keep) in pordim z go.

slika 6 slika 6a

7.     Kroge povežem z površino z ikono surfance-skin (slika 7) označim začetek(slika 8) in konec površine.

slika 7 slika 8

8.    Ko opisana orodja nekajkrat ponovim in uporabim ukaz render-quickrender (slika 9) mi nastane nasledja slika (slika 9a). Lepo se vidi koliko parametrov lahko spremenim pri najbolj osnovnem senčenju (render) oziroma vizualnemu prikazu površine.

slika 9 slika 9a

9.     Datoteko shranim nato odprem novo in zacnem modelirati pomično mizo za pacienta. Pri izdelavi mize uporabim enaka orodja kot pri  izdelavi naprave.Najprej narišem čelno projekcijo mize nato pa potegnem to konturo v prostor z naslednjim orodjem Surfaces-swept surfances-extrude (slika 10). Pri tem me vpraša kolikšna naj bo tretja dimenzija.Jaz sem predhodno narisal črto, njena dolžina pa je bila takšna kolikor je bilo portebno povleči v prostor čelno projekcijo mize. Za določitev površin sem uporabil že znana orodja skin in setplanar.

slika 10

10.    Največ časa sem vložil pri izelavi sani mize. Narisal sem jih zelo podrobno. Konec pride izdelan z posnetjem v treh dimenzijah (slika 11). Najprej sem narisal površino ki leži v prstoru nato pa sem del narejene konture sani povlekel skozi to povrsino in z orodjem surfaces edit-create curves on surface-intersect. To nariše presečišče ravnin med seboj po tem pa uporabim trim (tocka 6) in odrežem kar ne rabim. Podnožje mize naredim z orodjem extrude(tocka 9).

slika 11

11.    Ker je miza simetrična po sredini izdelam samo polovico mize (slika 12) in jo z opcijo duplicate object zrcalim še drugo polovico. Grem na pull down menije v edit-duplicate object in napišem pod scaling na os y stevilko -1 . S tem se mi pojavi zrcaljena podoba.

slika 12

12.    To naj bi bilo vse s strani modelirabja oz konstrukcije. Se zdaleč pa ni konec naloge določiti je potrebno površine osvetlevanje in globalno senčenje. Pri tem je potrebno vnesti veliko parametrov saj nam alias wavefront ponuja slike v okviru fotorealističnega formata. Zato je to delo dokaj zamudno, ker je treba določene parametre določiti z preizkuševanjem. Nekateri navažnejši parametri, ki so kasneje podrobnejše opisani so fizične vizualni efekti,delno poroznost materiala,navidezen 3D relief površine.
13.    Še preden grem določevati teksture oziroma vrsto površine moram oba dela naprave združiti v eno datoteko to naredim tako, da se postavim v eno datoteko in jo pripravim za export.To naredim z naslednjo opcijo grem na pull down meni file-export-aktive as še pred tem pa z opcijo pick objects označim kar bi rad prenesel v drugo datoteko. Nato se postavim v drugo datoteko grem na file-import-file in pokažem datoteko, ki sem jo pripravil za export.
14.    Šele zdaj definiram  površine. Na pull down menijih poiščem windows-multi lister-shaders... odpre se mi okno za določevanje vizualnega izgleda površin (slika 14).Držim gumb shading in označim opcijo pick objects.. in označim dele na modelu, ki imajo enake barve, materiale in druge lastnosti. Nato grem pod isti gumb in označim opcijo assign. Tako je določen nov shader, ki mu lahko poljubno spreminjam lastnosti.

slika 14

15.    Če dvakrat kliknem na ikono shaderja se mi odpre editor (slika 14) za določevanje materiala imam opcijo shading model na sliki je nastavljena na možnost PHONG to uporabjamo za materijale kot so steklo in plastika z leskom lahko izberemo tudi druge moznosti (LAMBERT za nelesketajoče se površine mat ali BLINN za metalne površine). Glavni parametri shaderja so (slika 14) phong shading parameters in common shader parameters
--diffuse - določam ostrost lesketajoče se pege shaderja (slika 14 primerjava mize in naprave)
--spectular - določam barvo in intenziteto odseva oz pege
--shinyness - določam velikost pege
--reflectivity - določam odsev okolice ali lastne barve
--color - določam barvo shaderja (slika 15)
--incandescence - določam barvo in intenziteto temne strani shaderja
--trnsparency - določam prozornost shaderja
 Poleg osnovnih parametrov obstaja se meni za specialne efekte,lesk,dinamične lastnosti.

slika 15

16.    Poglavje zase je določevanje tekstur (slika 16).Teksture lahko posebej določim temnim delom shaderja osvetljenim delom shaderja, lesketajoči se pegi shaderja in če je shader tako prozoren, da se vidi skozi njega lahko določim teksturo ozadja, ki se vidi skozi.Tudi tukaj obstaja veliko možnosti saj poznamo veliko materialov in različna stanja teh materialov. Za določevanje tekstur različnim delom elementa obstaja v editorju shaderja gumb map(slika 14) ob aktiviranju tega gumba se mi odpre okno(slika 16).Tu lahko izberem različne materiale (granitne,fraktalne,kromirane,prozorne,tekstilne..)

slika 16

17.    Še zadnje poglavje pred končno produkcijo slike na visoki ravni je postavitev in izbira luči. Na izbiro imam devet vrst luči (slika 17). V mojem primeru sem izbral  pet luči.
    --spot ... usmerjene luči (reflektor)
    --area ... luč ki je pritrjena na strop in predstavlja razsvetljavo
    --ambijent ... luč ki jo avtomatsko namesti računalnik ob prvem vizualnem pogledu površine
    --pointlight ...luč ki daje usmerjeno svetlobo in samo ob njej nastanejo sence predmeta
 

Tudi pri lučeh imam veliko parametrov.Pri reflektorski luči spot (slika 19) nastavljam vse mogoče naprimer premer osvetljenega dela spread , prehod med temnim in svetlim delom penumbra, barvo sence in osvetljenega dela common shadow parameters , posebno povezavo ekskluzivno ali neekskluzivno med lučjo in predmetom ali pa samo delom predmeta s tem dosežem da ta del posebej iztopa iz množice drugih elementov in da specificno senco , barvo , lesk...Brez povezav elementov z lučmi vsi elementi celotnega sklopa enako absorbirajo svetlobo. Odvisno kakšna je naša želja. Določevaje leč pri luči lens flare , megle fog ...Imam posebno opcijo spot view ta mi prikaze kam je luč usmirjena kako velik je premer osvetljenega dela (slika 19).

slika 19 slika 18slika 17

18.    Konč no pridem do zadnjega dela naloge to je precizen prikaz slike.Ta del je pri zahtevnejših slikah č asovno najdaljši. Posebej pri slikah več je resolucije več kot 800x600 pik. Za to proceduro je potrebno nastaviti nekaj parametrov:
        * najprej je potrebno zajeti prav vse elemente kar jih je to so luč i površine  to naredimo z orodjem pick-Object types-all obj/lights
        * odprim okno information-render stats... označ im vse elemente v skrajnem levem kotu nato grem v kolono z imenom maximum Subdiv kliknem na eno                     številko in  popravim na vrednost osem. Vidim da se vse številke v tej koloni spremenijo po vrednosti v osem. To pomeni da spreminjamo število elementov posameznega loka ali krivulje. Lahko bi spremenil tudi minimalno vrednost elementov ampak posledica bi bila v č asu in potrošnja spomina, odloč am se glede na to kako blizu sem z kamero skozi katero bom generiral sliko. Za objekte kateri so precej odaljeni nima pomena zviševati število elementov.
        * za ray cast prikaz, to pomeni vrsta izdelave slike lahko izberem tudi ray trance vendar literatura priporoč a prvo, moram nastaviti se naslednji parameter render-globals.. ko se mi odpre okno nastavim global quality level na opcijo high(slika 20) in pod menujem image file output nastavim zeljeno  resolucijo slike (640x480) v oknu x resulution in y resolution in prmer pike pixel aspect ratio 0.9(slika 20).

slika 20
         * ker pa ne moremo takoj izvesti prej navedene naloge ker bi prevec časa čakali na rezultat nastavimo v oknu render-render test(slika 21) to mi naredi testno sliko to pomeni ene vrste simulacijo velike slike šele ko se odločim za pravilen pogled slike pravilo povečavo kot opazovanja deaktiviram opciji test v meniju RO_render(slika 21) dam naslov datoteke SDL in pričnem proces.

slika 21
        * za prikaz slike grem na render-show render .
        * ce hočem prikazati slike nasplošno v programu grem na file-show-pic in tako mi pokaze vse shranjene slike (slika 22).

slika 22

    PRIKAZ SLIK IZDELANEGA MODELA

slika 23

slika 24

slika 25

slika 26

slika 27 slika 28 slika 29

Nekaj komentarja na zgornje slike najprej moram omeniti glede svetlobe slik-obstajajo monitorji  različnih proizvajalcev zato se ista slika na nekterih vidi temneje na drugih svetleje odvisno je od ti gama faktorja monitorja. Slike sem izdelelal na postaji silicon graphics zato je najbolje gledati slike z istim hardverjem. Lepo se vidi sence mize ampak samo od reflektorske luči. Slika 24 prikazuje nerealno napravo vtis dobim kot da bi bila iz zelo poliranega materiala to sem naredil nalašč da bi videl kakšni so dejanski rezultati pri spremembi nekaterih parametrov, prav tako je s sliko 28 kjer je razvidno prejšnje stanje in stanje po spremembi intenzitete luci. Vidim tudi kako je spremenilo samo lesk mize in ne podlage na kateri leži miza. Slika 26 prikazuje detajl vzglavnika mize vidi pa se tudi konstrukcijsko napako pri spodnjem robu naprave se vidi skozi.Slika 25 pa nam pokaže možno pozicijo naprave in mize pri izdelavi posnetkov človekove hrbtenice.Če podrobneje pogledamo vidimo da na nekaterih slikah ni vzglavika to pa zato ker sem najprej izdelal mizo brez vzglavnika potem pa sem ji dodal še vzglavnik.

    ZAKJUCEK

Pri sledji vaji sem se naučil ogrmno stvari od delovaja OS unix do generiranja slik iz programov ter prenos podatkov, datotek po notranji interni mreži,bistvo logiranja na računalnikih in na koncu najbolj zaželjenega modeliranja različnih modelov v prostoru. Naloga se mi je v začetku zdela zelo zahtevna zato sem se jo precej časa otepal in skoraj obupal. Vendar pa sem levztrajal do konca in jo izdelal. Najtežje je bilo začeti saj nisem vedel kaj je tomograf. Prvo moje dejanje v zvezi z to nalogo je bilo to da sem v leksikon pogledal kaj pomeni tomografija. Nato sem poiskal podjetja katere izdelujejo tomografe, sledilo je izkanje glavnih uvoznikov za Slovenijo šele nato po nekaj tednih sem dobil v roke katalog podjetaja PICKER (www.picker.com) in se odločil za model katerega bom modeliral za seminarsko nalogo. Kot zanimivost sem približno štel ure porabljene za modeliranje naprave in znaša okoli 60 ur. Poznam osnove izdelave fotorealističnih slik s pomočjo računalniske simulacije z sofverjem Alias wavefront.
V projektu sem izelal priblizno 160 konstrukcijskih linij in generiral skupaj več kot 50 površin. Modeliral sem v merilu 1:20 to merilo pa ni točno ker nisem dobil vseh mer ampak le gabarite. Izdelave računalniških slik posebej pa animacij ni enostavna zadeva zahteva veliko znanja računalnika na samo osnove in zelo podrobno znanje programa za izelavo izdelkov, poleg tega pa je potrebno vedeti druge fizične lastnoti materialov, površin, defrmacij, senc, osvetljave, dinamike. Poleg vsega tega pa je potreben dostop do zelo drage, zahtevne in zmogljive računalniske opreme.Upam da bom to znanje kasneje tudi koristno uporabil.

    LITERATURA

        -priložena literatura zraven programa : Alias wavefront 8.5
                                                                    Learnig alias