Lineární konvoluce - Line integral convolution

Image
LIC vizualizace tokového pole.

Ve vědecké vizualizaci je lineární konvoluce ( LIC ) technika navržená Brianem Cabralem a Leithem Leedomem k vizualizaci vektorového pole , jako je pohyb tekutin . Ve srovnání s jinými technikami založenými na integraci , které počítají siločáry vstupního vektorového pole, má LIC tu výhodu, že jsou zobrazeny všechny strukturní vlastnosti vektorového pole, aniž by bylo nutné přizpůsobovat počáteční a koncový bod siločar konkrétního vektorového pole . LIC je metoda z rodiny advection texture .

Zásada

Image
Vizualizace LIC s barvou označující velikost rychlosti.

Intuice

Tok vektorového pole v nějaké doméně je intuitivně vizualizován přidáním statického náhodného vzoru zdrojů tmavé a světlé barvy. Jak tok prochází zdroji, každá část kapaliny zachytí část zdrojové barvy a zprůměruje ji barvou, kterou již získala podobným způsobem, jako když hodí barvu do řeky. Výsledkem je náhodná pruhovaná struktura, kde body podél stejného proudu mají tendenci mít podobnou barvu.

Algoritmus

Algoritmicky začíná technika generováním náhodného obrazu úrovně šedé v doméně vektorového pole v požadovaném výstupním rozlišení. Poté se pro každý pixel na tomto obrázku vypočítá dopředná a zpětná přímka pevné délky oblouku . Hodnota přiřazená aktuálnímu pixelu je vypočítána konvolucí vhodného konvolučního jádra s úrovněmi šedé všech pixelů ležících na segmentu této streamline. Tím se vytvoří obrázek LIC úrovně šedé.

Matematický popis

I když je vstupní vektorové pole a výsledný obraz diskretizovány, vyplatí se na něj dívat z nepřetržitého hlediska. Dovolit je vektorové pole dané v nějaké doméně . I když je vstupní vektorové pole obvykle diskretizováno, považujeme toto pole za definované v každém bodě , tj. Předpokládáme interpolaci. Streamlines, nebo obecněji siločáry, jsou tečny k vektorovému poli v každém bodě. Končí buď na hranici, nebo na kritických místech, kde . Z důvodu jednoduchosti jsou následující kritické body a hranice ignorovány. Polní čára , parametrizovaná délkou oblouku , je definována jako . Dovolit být polní čára, která prochází bodem pro . Poté je hodnota šedé obrazu na nastavena na

kde je jádro konvoluce, je šumový obraz a je délka segmentu polní čáry, která je následována.

musí být vypočítán pro každý pixel na obrázku LIC. Pokud je provedeno naivně, je to docela drahé. Nejprve je třeba vypočítat siločáry pomocí numerické metody řešení obyčejných diferenciálních rovnic , jako je metoda Runge – Kutta , a poté se pro každý pixel musí vypočítat konvoluce podél segmentu silové čáry. Výpočet lze výrazně urychlit opětovným použitím částí již vypočítaných siločar, specializací na funkci pole jako konvoluční jádro a vyhnutím se nadbytečným výpočtům během konvoluce. Výslednou rychlou metodu LIC lze zobecnit na konvoluční jádra, která jsou libovolnými polynomy.

Všimněte si, že to nemusí být 2D doména: metoda je použitelná pro vícerozměrné domény pomocí vícerozměrných šumových polí. Vizualizace výškové textury LIC je však problematická; jedním ze způsobů je použití interaktivního průzkumu s 2D řezy, které jsou ručně umístěny a otočeny. Ani doména nemusí být plochá; texturu LIC lze vypočítat také pro libovolně tvarované 2D povrchy ve 3D prostoru.

Výstupní obraz bude obvykle nějakým způsobem zbarven. K určení odstínu se obvykle používá nějaké skalární pole , například délka vektoru, zatímco obraz LIC v šedé stupnici určuje jas barvy.

Různé možnosti konvolučních jader a náhodný šum vytvářejí různé textury: například růžový šum vytváří zakalený vzor, ​​kde oblasti s vyšším tokem vynikají jako rozmazání, vhodné pro vizualizaci počasí. Další zdokonalení konvoluce mohou zlepšit kvalitu obrazu.

Animovaná verze

Image
Ilustrace, jak animovat. Nahoře: Normální rámečkový filtr (průměr). Uprostřed: Sinusový filtr v . Dole: Sinusový filtr na

Obrázky LIC lze animovat pomocí jádra, které se časem mění. Ukázky v konstantní době ze streamline by se stále používaly, ale namísto průměrování všech pixelů v streamline se statickým jádrem, zvlněné jádro vytvořené z periodické funkce vynásobené funkcí Hann fungující jako okno (aby zabránit artefaktům). Periodická funkce se poté posune podél období, aby se vytvořila animace.

Časově proměnná vektorová pole

Pro časově závislá vektorová pole byla navržena varianta (UFLIC), která udržuje koherenci animace toku.

Paralelní verze

Vzhledem k tomu, že výpočet obrazu LIC je drahý, ale ve své podstatě paralelní, byl také paralelizován a díky dostupnosti implementací založených na GPU se stal interaktivním na počítačích PC. Také pro UFLIC byla představena interaktivní implementace založená na GPU.

Použitelnost

I když obraz LIC vyjadřuje orientaci vektorů pole, neznamená to jejich směr; u stacionárních polí to lze napravit animací. Základní obrázky LIC bez barev a animací neukazují délku vektorů (ani sílu pole). Pokud mají být tyto informace předány, jsou obvykle barevně kódovány; alternativně lze použít animaci.

Při uživatelských testech bylo shledáno, že LIC je zvláště vhodný pro identifikaci kritických bodů. S dostupností vysoce výkonných implementací založených na GPU již není k dispozici dřívější nevýhoda omezené interaktivity.

Reference

externí odkazy