650 likes | 983 Views
ParaView. Vizualizavimo Sistemos. Paruošė: IG-08 grupės studentas Andrius Mikalajūnas. Galutin ės naudotojo programos. Vis5D (Cave5D) – aplinkos duomenų vizualizavimas: Seniai sukurta vizualizavimo sistema, Meteorologija, klimato modeliavimas, okeanų modeliavimas,
E N D
ParaView Vizualizavimo Sistemos Paruošė: IG-08 grupės studentas Andrius Mikalajūnas
Galutinės naudotojo programos Vis5D (Cave5D) – aplinkos duomenų vizualizavimas: • Seniai sukurta vizualizavimo sistema, • Meteorologija, klimato modeliavimas, okeanų modeliavimas, • Lentelių dizainas puikiai tinka daugybei skaliarinių kintamųjų, • Duomenys gali būti persiunčiami webu. Ensight– kliento-serverio vizualizavimo sistema: • Naudojama inžineriniams skaičiavimams vizualizuoti, • Sąsajos su populiariais CFD ir FEA paketais, • Lygiagretūs skaičiavimai ir lygiagretus atvaizdavimas, • Kolektyvinis vizualizavimas įtraukiančiose aplinkose. Amira – objektiškai orientuota vizualizavimo sistema: • Laikoma interaktyvumo lydere, • Pagrįsta Open Inventor, • Nenaudoja duomenų srauto modelio, • Vizualizavimo seka sudaroma kaip ir MVE.
Galutinės naudotojo programos Visapult– aplinka dideliems duomenų kiekiams vizualizuoti: • Kliento-serverio sistema labai efektyviam tūrio atvaizdavimui, • Lygiagretaus atvaizdavimo aparatinė įranga, • Didžiulių duomenų kiekių persiuntimas (Tb), • Cactus pagalba duomenys paskirstomi tarp mazgų. Covise – produktas sukurtas bendram vizualizavimui: • Priskiriama MVE kategorijai, • Veikia tiek bendros, tiek ir paskirstytos atminties kompiuteriuose. VTK Designer – įrankis VTK vizualizavimo tinklams kurti; • Padeda ne tik greitai sukurti tinklą, bet ir jį nagrinėti (kodą). ParaView–atvirojo kodo vizualizavimo paketas: • Skirtas dideliems duomenų kiekiams vizualizuoti.
ParaView Efektyviai vizualizuoja didelius duomenų kiekius: • Lygiagretus duomenų modelis vizualizavimui: • MPI biblioteka paskirstytos atminties kompiuterių klasteriuose, • Multithreads bendros atminties superkompiuteriuose. • Lygiagretus atvaizdavimas OpenGL: • Pagrįstas IceT biblioteka ir sort-last algoritmu, • Naudojamas “tiled” sieniniuose displėjuose (sudarytuose iš daugelio), • Interaktyvumo palaikymas dviejų lygių LOD (Level Of Detais): • Pikselių replikacija atvaizdyje, • Geometrinių detalių supaprastinimas (decimation). Programinė įranga: • Pagrįstas VTK įrankių rinkiniu, • Kaip ir VTK programuojamas C++ programavimo kalba, • Palaiko Python komandinę eilutę (puikiai tinka automatizavimui), • Naudotojo sąsaja parašyta Qt, • Vizualizavimo tinklas ir būsena aprašoma XML kalba, • Tinkamas daugybei platformų ir OS.
ParaView: Architektūra Paskirstytą ParaView architektūrą sudaro trys komponentai: • Klientas atsakingas už galutinio atvaizdžio rodymą, vizualizavimo tinklo sudarymą ir sąveiką su naudotoju per GUI (arba Python shell). • Duomenų serveris nuskaito ir filtruoja duomenis. Reikalui esant, tai daro lygiagrečiai. • Atvaizdavimo serveris atvaizduoja geometriją, gamina galutinį atvaizdį. Reikalui esant, tai daro lygiagrečiai.
ParaView: Architektūra Komponentai grupuojami keliais būdais: • Visi komponentai veikia viename PC (tinka mažiems uždaviniams). • Klientas veikia naudotojo PC, o abu serveriai dirba kompiuterių klasteryje arba bendros atminties superkompiuteryje. • Klientas veikia PC, duomenų serveris kompiuterių klasteryje, o atvaizdavimo serveris specializuotame klasteryje su našiais GPU.
ParaView: Architektūra Komunikacijos tarp ParaView komponentų: • Klientas bendrauja su serveriais (MPI 0 mazgu) pakankamai lėto “socketo” pagalba. • Serverio mazgai tarpusavyje bendrauja greitais MPI pranešimais. • Duomenų serverio ir atvaizdavimo serverio mazgai sujungti atskirais “socketais”, kas nėra efektyvu ir naudojama labai retai.
ParaView: Naudotojo sąsaja (GUI) • Naudotojo GUI sukurta Qt:
ParaView:GUI Meniu pateikiamos beveik visos ParaView atliekamos operacijos: • Darbas su duomenų failais (File), žymėjimas ir redagavimas (Edit), • Kameros valdymas ir inspektorių įjungimas (View), • Šaltiniai (Sources), filtrai (Filters), animacija (Animation) ir įrankiai (Tools) Toolbars butonai leidžia greitai atlikti populiariausias operacijas: • Prisijungimą prie serverio, duomenų nuskaitymą, Undo/Redo operacijas, • Žymėjimą, animacijos valdymą, laiko žingsnio valdymą, • Apibrėžti duomenų vizualizavimą spalvomis ir objekto reprezentaciją, • Panaudoti populiariausius filtrus, valdyti kamerą. Pipeline Browser sudaro ir vaizduoja vizualizavimo algoritmą: • Pasižymi labai kompaktiška reprezentacija, • Detalią informaciją galima apibrėžti ir pažiūrėti objekto inspektoriuje. Object Inspector talpina informaciją apie objektą. • Suvedami skaitytojų (readers), šaltinių ar filtrų parametrai, • Apibrėžiami objekto vaizdavimo parametrai, pateikiama statistika. View vaizduoja nagrinėjamos duomenų aibės (objekto) vizualizaciją. • Vaizdų gali būti labai įvairių tipų (nauja paketas OverView).
ParaView:Vizualizavimo reprezentacija Reprezentacijos “toolbar” įjungia: • Spalvų skalę, • Spalvų redaktorių, • Skaliaro reikšmių intervalo nustatymą, Dviejuose laukuose pasirenkamas: • Nagrinėjamas kintamasis, • Jei pasirinktas vektorius galima nustatyti jo komponentę, Galimos vizualizavimo reprezentacijos: • Kontūras stačiakampė uždavinio apibrėžimo sritis (Outline), • Mazgai (Points) arba tinklas (Wireframe), • Paviršius (Surface) arba paviršius su tinklu (Surface with edges) • Tūrio atvaizdavimas (Volume).
ParaView:Vizualizavimo reprezentacija • Galimos vizualizavimo reprezentacijos ir spalvinimas:
ParaView: Algoritminė seka Pipeline Browser sudaro ir rodo algoritminę seką: • Meniu pasirinkti filtrai pasirodo kompaktiškame lange, • Pažymėdami aktyvuojame objektus, • Akis žymi matomumą, kurį galime išjungti/įjungti, • Linijos rodo sekos jungtis: • Atskirą šaką galima suskleisti, • Dešiniu klavišu atsidaro meniu, • Galima keisti objekto įvestį(jungtis).
ParaView: Objektų inspektorius Properties nustato pagrindines objekto (matomoPipeline Browser) savybes: • Trys valdymo butonai: Apply, Reset, Delete • Nustatomos savybės priklauso nuo objekto. • Kontūrų filtro pavyzdys: • Kokio kintamojo izopaviršius generuoti? • Ar skaičiuoti normales ir t.t.? • Izopaviršių reikšmių nustatymas.
ParaView: Objektų inspektorius Display reguliuoja: • Matomumą, • Spalvą: • Pagal ką spalvinti? • Tekstūrą. • Stilių: • Reprezentaciją, • Spalvinimo metodą, • Medžiagą, • Permatomumą, • Tūrio atvaizdavimo metodą. • Anotacijas (objekto ašis), • Kraštų stilių, • Apšvietimą, • Transformacijas.
ParaView: Objektų inspektorius Informationnaudinga informacija: • Savybės (pavadinimas ar failo vardas), • Statistika: • Mazgų ir celių skaičius. • Užimamos atminties dydis. • Duomenų masyvai: • Pavadinimai, • Duomenų tipai, • Reikšmių intervalai. • Ribos pagal X, Y, Z koordinates. • Laiko informacija.
ParaView:Vaizdo langas Palaikomiskirtingotipovaizdai: • 3D View vaizduoja tradicinį 3Dobjekto vaizdą, • 2D View vaizduoja tradicinį 2D objekto vaizdą, • Bar Chart View stulpeliais vaizduoja histogramas, • XY Plot View vaizduoja funkcijų pasiskirstymą (2D brėžinius), • 3D View(Lyginamasis) lyginamieji 3Dvaizdai, • XY Plot View(Lyginamasis) lyginamieji XYbrėžiniai, • Bar Chart View(Lyginamasis) lyginamieji histogramų brėžiniai, • SpreadSheetView duomenis vaizduoja elektroninių lentelių forma.
ParaView:Vaizdo langas Daugialypis vaizdo langas • Vienumetupalaikoskirtingotipovaizdus.
ParaView:Vaizdo langas XY Plot Viewvaizduoja 2D brėžinius: • Filters->Data analysis->Plot over line, • Liniją galima apibrėžti “LineWidget”.
ParaView:Vaizdo langas Bar Chart Viewvaizduoja histogramas stulpeliais: • Filters->Data analysis->Histogram, • Temperatūra ir pilnas slėgis.
ParaView:Vaizdo langas • Elektroninės lentelės vaizdas (Spreadsheet View):
ParaView :Lyginamasis Vaizdas • Lyginamasis vaizdas (Comparative View) ir jo inspektorius:
ParaView:Vaizdo langas Vaizdas lange valdomas konfiguracijos “butonais” lango viršuje: • Dešinės pusės klavišais atliekamas trivialus valdymas: • Įjungiami daugialypiai langai (horizontaliai, vertikaliai), • Langas uždaromas arba maksimizuojamas. • Kairės pusės klavišais įjungiami sudėtingesni valdymo mechanizmai: • Kameros Undo/Redo, • Pilnas kameros valdymas (Adjust Camera), • Vaizdo savybės (Render View Options), • Žymėmis išsaugomi svarbūs vaizdai (Lookmarks).
ParaView :Vaizdo langas Render View Options pasirenkami atvaizdavimo parametrai: • Bendri: • Pasirenkama projekcija ir nustatoma fono spalva. • Apšvietimas nustatomas “Light Kit”arbaviršutine šviesa “headlight”. • Anotacijos • Sukimosi centro ašys, • Orientacijos ašys (kairiame apatiniame kampe).
ParaView :Kameros valdymas Kamera valdoma interaktyviai, “toolbar” ir specialiu langu: • “Toolbar” nustato: • Sukimosi centro opcijas, • Standartines ašių projekcijas. • Adjust Camera lange nustatoma: • Tikslus sukimosi centras, • Tiksli kameros padėtis, • Tiksli kameros orientacija.
ParaView:Populiariausi Filtrai • Calculatorapskaičiuoja naudotojo apibrėžtą išraišką mazge ar celėje. • Contours generuoja izo-paviršius. • Clip kerta geometriją su pusplokštume ir pašalina dalį objekto. • Slice atlieka pjūvį ir rodo vaizdą plokštumoje. • Threshold ištraukia celes, atitinkančias nuodytą skaliarinio lauko reikšmių intervalą. • Extract Subset ištraukia tinklo dalį. • Glyph generuoja simbolius vektoriniam ar skaliariniam laukui. • Stream Tracer generuoja srauto linijas. • Warp (vector) kiekvieną tinklo mazgą pastumia pagal nurodytą vektorinį lauką • Group Datasets grupuoja kelių objektų išvestį į daugiablokį duomenų rinkinį. • Extract Group išskiria vieną išvestį iš daugiablokio duomenų rinkinio.
ParaView:Filtrai • Atributų kalkuliatorius gali apskaičiuoti naujus skaliarinius atributus.
ParaView:Filtrai • Contours generuoja izo-paviršius.
ParaView:Filtrai • Slice(Cut)atlieka pjūvį ir vizualizuoja lauką plokštumoje.
ParaView:Filtrai • Clip kerta geometriją su pusplokštume ir pašalina dalį objekto.
ParaView:Filtrai • Threshold ištraukia celes, atitinkančias nuodytą skaliarinio lauko reikšmių intervalą.
ParaView:Filtrai • Glyph generuoja simbolius vektoriniams laukams.
ParaView:Filtrai • Warp iškelia geometriją pagal vektorinį lauką.
ParaView:Filtrai • Stream Tracer generuoja srauto linijas.
ParaView:Filtrai • Extract Subset ištraukia tinklo gabalus.
ParaView:Laikas • LaikovaldymasGUI: • Toolbar rodomaslaikožingsnisir reikšmė: • VCR toolbar animacijai rodyti • Laiko duomenys rodomi Object Inspector: • Information tab, • Neperšoka, pažymėjus laiko žingsnį. • Animation Inspector: • Pilnai valdo ir kuria animaciją. • Animation View: • Kontroliuojalaiką animacijose. • Abort butonas animacijai nutraukti.
ParaView:Laikas Laiko toolbar: • Rodomas laiko žingsnis, kurį naudotojas gali keisti (kai aktyvus), • Rodoma laiko reikšmė, kurią naudotojas gali keisti (kai aktyvi). VCR toolbar animacijai rodyti: • Standartinės “filmukų” rodymo funkcijos, • Animaciją galima rodyti ciklu. Animacijose naudotojai dažnai turi problemų su reikšmių intervalo nustatymu! • Kiekvienamlaikožingsniui intervalasyra vis kitoks, • Galima nustatyti pastovų kintamojo reikšmių intervalą.
ParaView:Laikas Animacijas patogiausia valdyti Animation View. Trys laiko valdymo režimai: • Snap To TimeSteps prisiriša tik prie egzistuojančių laiko žingsnių (vienas laiko žingsnis yra vienas kadras), • Sequence padalina laiko intervalą į n lygių dalių, kai pradinė ir galinė laiko reikšmės duotos (tinka, kai laiko žingsnių ilgis skiriasi), • Real Time leidžia naudotojui nustatyti tikslų animacijos rodymo laiką. Temporal Interpolator filtras leidžia sukurti trūkstamus kadrus: • Standartinės interpoliacijos pagalba.
ParaView:Animacijos Inspektorius Animaciją kurti patogu animacijos inspektoriumi: • Galima nustatyti laiko valdymo režimą, • Visus režimo parametrus. • Nustatyti animuojamą lauką ir objektą, • Key Frame Editor redaguoja kadrus, • Galima sukurti trūkstamą kadrus, • Pasirinkti interpoliavimo metodą, • Efektyvumas valdomas “Cash limit”.
ParaView:Žymėjimas Sukurti naują žymėjimą • Žymėjimo inspektorius: Aktyvaus žymėjimo savybės Žymėjimo tipas Pažymėtų celių numeriai Žymėjimo displėjaus savybės/žymės
ParaView:Žymėjimas • Žymėjimo panaudojimas reikšmėms nagrinėti (Spreadsheet View): What is shown in the view Show only selected items Attribute shown Select block to inspect
ParaView:Žymėjimas • Aktyvus žymėjimas rodomas visuose languose ir vaizduose.
ParaView:Žymėjimas • Žymėjimo panaudojimas kintamojo kitimui laike tirti. • Naudojmas XY Plot View:
ParaView:Lygiagretumas • Serverio-kliento architektūra nuotoliniam lygiagrečiam vizualizavimui.
Read Read Read Read Isosurface Isosurface Isosurface Isosurface Reflect Reflect Reflect Reflect Render Render Render Render ParaView:Lygiagretumas • Lygiagrečių duomenų (Parallel Data) modelis.
ParaView:Lygiagretumas Visi procesai vykdo vienodą algoritmą, bet duomenys skiriasi : • Geriausia, kai procesai gali dirbti visiškai nepriklausomai, • Tada komunikuojama tik atliekant atvaizdavimą. Filtrai gali keistis duomenimis MPI bibliotekos pagalba: • Vaiduoklių celės (Ghost cells) padeda išvengti keitimosi duomenimis, • Dauguma vizualizavimo modulių duomenimis nesikeičia. Readeriai atsako už duomenų padalinimą tarp procesų (partitioning)! • Dažniausiai duomenų padalinimas atliekamas automatiškai, • Struktūriniai duomenis padalinami vienodo dydžio IJK blokais, • Nestruktūriniai duomenys padalinami vienodo dydžio gabalais skaitymo eilės tvarka (problemos su erdvėje išmėtytais duomenimis), • Paprastai nuoseklius failus skaito ir padalina 0-is MPI procesas, • Iš anksto išskaidyti duomenys pakraunami nekeičiant tvarkos, • Dažnai labai svarbu turėti reikiamo lygio vaiduoklių celes. Filtras D3 perdalina duomenis ir sugeneruoja vaiduoklių celes!
ParaView:Lygiagretumas • Duomenys padalinti trims procesams.
ParaView:Lygiagretumas • Dalis filtrų skirtinguose procesuose veikia visiškai nepriklausomai. • Geras pavyzdys yra karpymas (clipping).
ParaView:Lygiagretumas • Karpymo rezultatai visada yra geri. • Jie nepriklauso net nuo padalinimo (gali būti erdvėje nesusijęs).
ParaView:Lygiagretumas • Deja, tai galioja ne visiems filtrams. • Pavyzdys: kraštų ištraukimas.