# Základy vizualizace vědeckých dat

## Význam vizualizace

- přesné definice neexistují
	- dělení založeno na intuici
	- různí autoři se neshodnou
	- často obdobné prostředky pro různé typy vizualizací
- vědecké vizualizace zobrazují něco, co má fyzikální podstatu, geometrický tvar
	- výhradně číselné údaje

**Vědecká data**
- pocházejí z fyzikálních měření a simulací

## Vizualizace vědeckých dat

- umožňuje snadnější pochopení problému
- používána zejména v oblastech:
	- aplikovaná matematika
	- geofyzika
	- chemie a biologie
	- medicínský výzkum

**Charakteristika dat**
- formální definice: vědecká data = kolekce uspořádaných množin P, PD, C, CD
	- P = množství bodů v $E^d$
		- dimenze bodů v praxi nejčastěji:
			- 1D - čas nebo parametrická vzdálenost od počátku
			- 2D - x, y
			- 3D - x, y, z nebo x, y, čas
			- 4D - x, y, z, čas
	- PD = množina hodnot přiřazených k bodům
		- každému bodu může být přiřazeno více hodnot
			- skalár, vektor, tensor
	- C = množina buňek (spojuje body z P)
		- nemusí být v datech přítomná
	- CD = množina hodnot přiřazených k buňkám
		- každé buňce může být přiřazeno více hodnot
		- obvykle není k dispozici
	- některé množiny mohou být prázdné
- buňka = geometrický útvar
	- vrcholy = podmnožina P

**Vizualizační přístupy**
- různé pro různé dimenze bodů
	- 2D (x, y), 3D (x, y, z)
- různé pro různý typ hodnot  
	- skalární pole, vektorová pole, tenzorová pole  
- neexistuje univerzální přístup  
- nejvhodnější přístup vizualizace je závislý aplikaci

### 2D skalární pole

**Barevná mapa**
- předpoklad: pravidelná mřížka
	- $O(x, y)$ - pozice začátku
	- $\Delta x$ - vzdálenost mezi body na ose x
	- $\Delta y$ - vzdálenost mezi body na ose y
	- $m$ - počet bodů na ose x
	- $n$ - počet bodů na ose y
- data převedena na obrázek
	- šířka = m
	- výška = n
	- barva pixelu $I(i, j)$ stanovena dle hodnoty přiřazené bodu (i, j)
+ je-li (0, 0) okna v levém horním rohu (většina grafických knihoven), je nutné provést inverzi řádek, jinak se zobrazí data vzhůru nohama

**Kontury**
- kontura, iso-čára nebo také vrstevnice = spojnice míst se stejnou hodnotou
	- typicky neprochází body z P

### 3D skalární pole

**Barevná mapa**
- předpoklad: pravidelná mřížka
	- $O(x, y, z)$ = pozice počátku
	- $\Delta x$ = vzdálenost mezi body na ose x
	- $\Delta y$ = vzdálenost mezi body na ose y
	- $\Delta z$ = vzdálenost mezi body na ose z
	- $n_{x}$ = počet bodů v ose x
	- $n_{y}$ = počet bodů v ose y
	- $n_{z}$ = počet bodů v ose z
- skalární pole v datech ukládáno výhradně po řádcích jako 3D matice (x pak y a pak z)
- data lze rovněž zobrazit po řezech na ose x nebo y
	- obtížnější extrahovat hodnoty
- vhodné uživateli nechat možnost, aby si vybral, který řez chce vidět
- vhodné umožnit uživateli obrázek přiblížit

**Isoplocha**
- obdoba vrstevnic z 2D  
- uživatel typicky musí stanovit iso-hodnotu  
- plocha procházející danou iso-hodnotou je vytvořena  
	- nejčastěji se jedná o trojúhelníkovou síť  
	- různé přístupy
- plocha zobrazena jako 3D objekt (ve 3D)
	- může být poloprůhledná

### Vektorová pole

**Barevná mapa**
- vektorové pole převedeno na skalární  
- skalární pole zobrazeno již známými technikami

**Glyfy**
- v bodech zobrazen glyf (objekt)  
	- typ glyfu, jeho velikost, barva, a orientace závisí na velikosti a směru vektoru  
- glyfem často šipka  
	- nejjednodušší případ = šipka
		- má konstantní velikost a je vykreslena jednou barvou
	- složitější (ale častější) = velikost šipky je funkcí velikosti vektoru

**Streamlines**
- křivky trajektorií částic ve vektorovém poli  
	- pole nesmí být časově proměnlivé  
- nutno specifikovat startovní body  
	- málo bodů = nedostatečně vystihuje chování
	- mnoho bodů = vysoké časové i paměťové nároky, navíc může být nepřehledné pro uživatele
- výpočet streamlines  
	- algoritmus postupuje ze startovacího bodu a hledá, kam se z tohoto bodu dostane částice unášená polem
- možnosti zobrazení streamlines  
	- staticky = vykreslení lomených čar (trajektorií)  
	- dynamicky = vykreslení částic pohybujících se po streamlines v závislosti na čase

### Vizualizační nástroje

- vizualizace vědeckých dat aplikačně závislá
- nástroje musí být použitelné laiky
- vizualizační nástroje mají společnou myšlenku:
	- nástroj obsahuje sadu předdefinovaných modulů

**Komerční**
- např. ANSYS, Matlab, 3D Doctor, TrueGrid

**Volně dostupné**
- např. MVE2, MAF, ParaView, OsiriX, OpenDX (dřívější IBM Data Explorer), 3D Slicer, MayaVi Data Explorer