![Page 1: 3D-s számítógépes geometria és alakzatrekonstrukciócg.iit.bme.hu/.../slides/paraview.pdf · 2015-03-12 · ParaView “Tudományos adat-vizualizáció” Open source, platformfüggetlen](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e356d4e1a3a3342415f3bf7/html5/thumbnails/1.jpg)
4a. Kitware ParaView
3D-s számítógépes geometria és alakzatrekonstrukció
http://cg.iit.bme.hu/portal/node/312
https://portal.vik.bme.hu/kepzes/targyak/VIIIMA01
Dr. Várady Tamás, Salvi PéterBME, Villamosmérnöki és Informatikai KarIrányítástechnika és Informatika Tanszék
![Page 2: 3D-s számítógépes geometria és alakzatrekonstrukciócg.iit.bme.hu/.../slides/paraview.pdf · 2015-03-12 · ParaView “Tudományos adat-vizualizáció” Open source, platformfüggetlen](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e356d4e1a3a3342415f3bf7/html5/thumbnails/2.jpg)
Tartalom● Mi a ParaView?● Általános használati útmutató● Egyszerű filterek● További hasznos filterek● Modellhez rendelt adatok
● Skalár & vektor
● Vektormezők vizualizációja● Voxel modellek (CT, MRI)● VTK programozás
![Page 3: 3D-s számítógépes geometria és alakzatrekonstrukciócg.iit.bme.hu/.../slides/paraview.pdf · 2015-03-12 · ParaView “Tudományos adat-vizualizáció” Open source, platformfüggetlen](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e356d4e1a3a3342415f3bf7/html5/thumbnails/3.jpg)
ParaView● “Tudományos adat-vizualizáció”● Open source, platformfüggetlen● Visualization ToolKit (VTK) alapú● Kliens-szerver architektúra● Sok támogatott formátum● Nagy adathalmazok kezelése● Animációk● Programozható
● Filterek● Batch programozás
![Page 4: 3D-s számítógépes geometria és alakzatrekonstrukciócg.iit.bme.hu/.../slides/paraview.pdf · 2015-03-12 · ParaView “Tudományos adat-vizualizáció” Open source, platformfüggetlen](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e356d4e1a3a3342415f3bf7/html5/thumbnails/4.jpg)
Ablakok● Minden dokkolható, átméretezhető● Ki-be kapcsolhatóak (ld. View menü)● Legfontosabbak:
● Toolbar● Pipeline Browser● Properties
– (+ Display, View)
● Information● 3D View
– Felosztható (külön Display)
– Összekapcsolható (ld. Tools/Manage Links...)
![Page 5: 3D-s számítógépes geometria és alakzatrekonstrukciócg.iit.bme.hu/.../slides/paraview.pdf · 2015-03-12 · ParaView “Tudományos adat-vizualizáció” Open source, platformfüggetlen](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e356d4e1a3a3342415f3bf7/html5/thumbnails/5.jpg)
3D View● LOD (ld. Edit/Settings.../Render View)● Forgatás (bal gomb)● Nagyítás (jobb gomb, görgő)● Mozgatás (középső gomb)● Adjust Camera (ld. még a toolbaron)● View (megvilágítás, háttér)● Display (Toolbaron is)
● Szín● Megjelenítési mód (wireframe stb.)● Vonalvastagság stb.
![Page 6: 3D-s számítógépes geometria és alakzatrekonstrukciócg.iit.bme.hu/.../slides/paraview.pdf · 2015-03-12 · ParaView “Tudományos adat-vizualizáció” Open source, platformfüggetlen](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e356d4e1a3a3342415f3bf7/html5/thumbnails/6.jpg)
Használat● Adat-filter fa● Megjelenítés külön-külön állítható● Filterek
● Toolbaron (Common Filters)● Filter menüben● Ctrl+Space [filternév részlet] Enter
● Properties● Filterek beállítása● Apply (ld. Edit/Settings.../Auto apply)● Fájlbeolvasás is filter
![Page 7: 3D-s számítógépes geometria és alakzatrekonstrukciócg.iit.bme.hu/.../slides/paraview.pdf · 2015-03-12 · ParaView “Tudományos adat-vizualizáció” Open source, platformfüggetlen](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e356d4e1a3a3342415f3bf7/html5/thumbnails/7.jpg)
Egyszerű filterek● Clip (vágás)
● Feladat: vágjuk le a nyuszi fejét!● → A nyuszi megmarad, ez csak filter
● Slice (szeletelés)● Feladat: szeleteljük fel a nyuszi törzsét!● Az Y tengely szerint szeleteljünk● Mindenkinek jusson szelet!● Látszódjanak a vágásokvastag piros vonallal
● → A nyuszi feje nemszeletelődik fel
![Page 8: 3D-s számítógépes geometria és alakzatrekonstrukciócg.iit.bme.hu/.../slides/paraview.pdf · 2015-03-12 · ParaView “Tudományos adat-vizualizáció” Open source, platformfüggetlen](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e356d4e1a3a3342415f3bf7/html5/thumbnails/8.jpg)
További filterek● Curvature
● Feladat: Színezzük ki a csigát átlaggörbület alapján (szokásos kék-zöld-piros)
● Segítség: Edit Color Map
● Decimate● Feladat: Vegyük kia háromszögek 60%-át!
● Hasonlítsuk összeőket egymás mellett
● Hogy változik...– A háromszögelés?
– A görbület?
![Page 9: 3D-s számítógépes geometria és alakzatrekonstrukciócg.iit.bme.hu/.../slides/paraview.pdf · 2015-03-12 · ParaView “Tudományos adat-vizualizáció” Open source, platformfüggetlen](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e356d4e1a3a3342415f3bf7/html5/thumbnails/9.jpg)
Decim
ált adatok (154 ezer háromszög)
Eredeti adatok (38
6 ezer háromszög)
![Page 10: 3D-s számítógépes geometria és alakzatrekonstrukciócg.iit.bme.hu/.../slides/paraview.pdf · 2015-03-12 · ParaView “Tudományos adat-vizualizáció” Open source, platformfüggetlen](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e356d4e1a3a3342415f3bf7/html5/thumbnails/10.jpg)
Adatok a modellben● Pl. VTK fájlban
● Pontokhoz / “cellákhoz”● Skalár- és vektor-adatok
● Színezés az adatok szerint● Glyph
● Feladat: v-deriváltak megjelenítése
● Contour● Feladat: Keressük megazokat a vonalakat,ahol a sárhányók2 görbülete:-0.01, -0.005, 0.0, 0.005, 0.01
![Page 11: 3D-s számítógépes geometria és alakzatrekonstrukciócg.iit.bme.hu/.../slides/paraview.pdf · 2015-03-12 · ParaView “Tudományos adat-vizualizáció” Open source, platformfüggetlen](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e356d4e1a3a3342415f3bf7/html5/thumbnails/11.jpg)
Adatok a modellen (folyt.)● Histogram
● Feladat: -0.005 és 0.005 közti tartománybanmilyen a k1 görbületek gyakorisága?
● Spreadsheet View● Feladat: Mekkora értékekvannak a jelölt részen?
● Segítség: Select Points
![Page 12: 3D-s számítógépes geometria és alakzatrekonstrukciócg.iit.bme.hu/.../slides/paraview.pdf · 2015-03-12 · ParaView “Tudományos adat-vizualizáció” Open source, platformfüggetlen](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e356d4e1a3a3342415f3bf7/html5/thumbnails/12.jpg)
Vektormezők● Stream Tracer
● Vektorok követése numerikus integrálással
![Page 13: 3D-s számítógépes geometria és alakzatrekonstrukciócg.iit.bme.hu/.../slides/paraview.pdf · 2015-03-12 · ParaView “Tudományos adat-vizualizáció” Open source, platformfüggetlen](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e356d4e1a3a3342415f3bf7/html5/thumbnails/13.jpg)
Volumetrikus modellek● Lapok egyenként (XY, YZ, XZ nézetek)● Adatok színezése sűrűség alapján● Feladat: Színezzük ki úgy a fejet,hogy minél jobban látszódjon az arc!
![Page 14: 3D-s számítógépes geometria és alakzatrekonstrukciócg.iit.bme.hu/.../slides/paraview.pdf · 2015-03-12 · ParaView “Tudományos adat-vizualizáció” Open source, platformfüggetlen](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e356d4e1a3a3342415f3bf7/html5/thumbnails/14.jpg)
Programozás● Programmable...
● Filter● Source● Python shell (Tools menü)
● Scriptek● Batch-feldolgozás jellegű
● VTK programozás● Kicsit alacsonyabb szintű eszközök● Pipeline paradigma● C++ / Tcl / Python● Sok példa
![Page 15: 3D-s számítógépes geometria és alakzatrekonstrukciócg.iit.bme.hu/.../slides/paraview.pdf · 2015-03-12 · ParaView “Tudományos adat-vizualizáció” Open source, platformfüggetlen](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e356d4e1a3a3342415f3bf7/html5/thumbnails/15.jpg)
Programmable source példa● http://www.paraview.org/Wiki/Python_Programmable_Filter
import math
numPts = 80 # Points along Helixlength = 8.0 # Length of Helixrounds = 3.0 # Number of times around
pdo = self.GetPolyDataOutput()newPts = vtk.vtkPoints()
for i in range(0, numPts): x = i * length / numPts y = math.sin(i * rounds * 2 * math.pi / numPts) z = math.cos(i * rounds * 2 * math.pi / numPts) newPts.InsertPoint(i, x, y, z)pdo.SetPoints(newPts)
aPolyLine = vtk.vtkPolyLine()aPolyLine.GetPointIds().SetNumberOfIds(numPts)for i in range(0, numPts): aPolyLine.GetPointIds().SetId(i, i)
pdo.Allocate(1, 1)pdo.InsertNextCell(aPolyLine.GetCellType(), aPolyLine.GetPointIds())