Linjeintegral faltning
Inom vetenskaplig visualisering är line integral convolution ( LIC ) en metod för att visualisera ett vektorfält , såsom vätskerörelse .
Funktioner
- global metod
- integrationsbaserad metod
- texturbaserad metod
Veck
Vid signalbehandling är denna process känd som diskret faltning .
Integrationsbaserad metod
Det är den integrationsbaserade metoden (tekniken). Mer exakt är den baserad på den diskreta linjeintegralen på enhetliga rutnät . Diskret numerisk integration utförs längs en linje (mer exakt kurva). Linje betyder här fältlinje av vektorfält.
Global metod
Jämfört med andra integrationsbaserade tekniker som beräknar fältlinjer för indatavektorfältet, har LIC fördelen att alla strukturella egenskaper hos vektorfältet visas, utan att behöva anpassa start- och slutpunkterna för fältlinjerna till det specifika vektorfältet . Med andra ord, itr visar topologin för vektorfältet.
I användartester visade sig LIC vara särskilt bra för att identifiera kritiska punkter.
Övrig
Med tillgången till högpresterande GPU-baserade implementeringar är den tidigare nackdelen med begränsad interaktivitet inte längre närvarande.
Texturbaserad metod
LIC tar textur som en ingång och ger textur (output). Det är alltså textursyntes.
Historia
LIC-teknik föreslogs av Brian Cabral och Leith Casey Leedom
Algoritm
Informell beskrivning
Princip: pixelvärdena längs fältlinjerna är starkt korrelerade, men ortogonalt till dem nästan okorrelerade. Som ett resultat av detta sticker fältlinjerna ut visuellt från bakgrunden och blir synliga.
Intuition:
- kasta färg i en flod
- visualisering av magnetfältslinjer med hjälp av slumpmässigt fördelade järnspån
- "emulerar vad som händer när ett rektangulärt område av masslös fin sand blåses av stark vind"
visualiseras flödet av ett vektorfält i någon domän genom att lägga till ett statiskt slumpmässigt mönster av mörka och ljusa färgkällor. När flödet passerar förbi källorna, plockar varje vätskepaket upp en del av källfärgen och sätter ett medelvärde för den med färgen den redan har fått på ett sätt som liknar att kasta färg i en flod. Resultatet är en slumpmässig randig struktur där punkter längs samma strömlinje tenderar att ha liknande färg.
Formell matematisk beskrivning
Även om ingångsvektorfältet och resultatbilden är diskretiserade, lönar det sig att titta på det från en kontinuerlig synvinkel. Låt vara vektorfältet som ges i någon domän . Även om indatavektorfältet vanligtvis är diskretiserat, betraktar vi fältet som definierat i varje punkt av , dvs vi antar en interpolation. Strömlinjer, eller mer allmänt fältlinjer, tangerar vektorfältet i varje punkt. De slutar antingen vid gränsen för eller vid kritiska punkter där . För enkelhetens skull ignoreras i det följande kritiska punkter och gränser. En fältlinje , parametriserad av båglängden , definieras som . Låt vara fältlinjen som går genom punkten för . Då sätts bildens gråa värde vid
där är faltningskärnan, är brusbilden och är längden av fältlinjesegment som följs.
måste beräknas för varje pixel i LIC-bilden. Om det utförs naivt är detta ganska dyrt. Först måste fältlinjerna beräknas med en numerisk metod för att lösa vanliga differentialekvationer, som en Runge–Kutta-metod, och sedan för varje pixel måste faltningen längs ett fältlinjesegment beräknas.
Den utgående bilden kommer normalt att vara färgad på något sätt. Vanligtvis används något skalärt fält i som vektorlängden, för att bestämma nyansen, medan gråskalebilden av LIC bestämmer färgens ljusstyrka.
Olika val av faltningskärnor och slumpmässigt brus ger olika texturer: till exempel producerar rosa brus ett grumligt mönster där områden med högre flöde framträder som utsmetande, lämpligt för vädervisualisering. Ytterligare förfining av faltningen kan förbättra bildens kvalitet.
beskrivning för programmerare
Algoritmiskt börjar tekniken med att generera i domänen av vektorfältet en slumpmässig grånivåbild med den önskade utgångsupplösningen. Sedan, för varje pixel i denna bild, beräknas strömlinjen framåt och bakåt för en fast båglängd . Värdet som tilldelas den aktuella pixeln beräknas genom en faltning av en lämplig faltningskärna med grånivåerna för alla pixlar som ligger på ett segment av denna strömlinje. Detta skapar en grå LIC-bild.
Problem
Visualisera fältlinjer och singulariteter för ett stationärt 2D-vektorfält (strömlinjer för ett 2D-stabilt flöde)
Inmatning
- vektorfält: 2D stationärt vektorfält
- brus: stationärt vitt brus (skalärt fält = textur)
Produktion
resultat (utgångsbild) = slutlig LIC-bild av inmatningsvektorfält
Steg
begränsningar
- falska singulariteter
Versioner
Grundläggande
Grundläggande LIC-bilder är gråskalebilder, utan färg och animation. Även om en sådan LIC-bild förmedlar orienteringen av fältvektorerna, indikerar den inte deras riktning; för stationära fält kan detta åtgärdas genom animering. Grundläggande LIC-bilder visar inte längden på vektorerna (eller fältets styrka).
Färg
Längden på vektorerna (eller fältets styrka) kodas vanligtvis i färg; alternativt kan animering användas.
Animerad version
LIC-bilder kan animeras genom att använda en kärna som ändras över tiden. Sampel vid en konstant tidpunkt från strömlinjen skulle fortfarande användas, men istället för att medelvärde alla pixlar i en strömlinjeformning med en statisk kärna, en rippelliknande kärna konstruerad från en periodisk funktion multiplicerad med en Hann-funktion som fungerar som ett fönster ( för att förhindra artefakter) används. Den periodiska funktionen flyttas sedan längs perioden för att skapa en animation.
FLIC
Fast Lic (FLIC)
Beräkningen kan avsevärt accelereras genom att återanvända delar av redan beräknade fältlinjer, specialisera sig på att en box fungerar som faltningskärna och undvika redundanta beräkningar under faltning. Den resulterande snabba LIC-metoden kan generaliseras till faltningskärnor som är godtyckliga polynom.
OLIC
Oriented Line Integral Convolution (OLIC)
- Snabb rendering av Oriented Line Integral Convolution (FROLIC)
UFLIC
För tidsberoende vektorfält (ostadigt flöde) har en variant (UFLIC = Unsteady Flow LIC) designats som upprätthåller koherensen i flödesanimationen.
Parallella versioner
Eftersom beräkningen av en LIC-bild är dyr men till sin natur parallell, har den också parallelliserats och, med tillgängligheten av GPU-baserade implementeringar, har den blivit interaktiv på datorer. Även för UFLIC har en interaktiv GPU-baserad implementering presenterats.
Flerdimensionell
Observera att domän inte behöver vara en 2D-domän: metoden är tillämpbar på högre dimensionella domäner som använder flerdimensionella brusfält. Emellertid är visualiseringen av den högre dimensionella LIC-texturen problematisk; ett sätt är att använda interaktiv utforskning med 2D-skivor som placeras och roteras manuellt. Domänen behöver inte heller vara platt; LIC-strukturen kan även beräknas för godtyckligt formade 2D-ytor i 3D-rymden.
Ansökningar
Denna teknik har tillämpats på ett brett spektrum av problem sedan den först publicerades 1993.
Applikationer:
- representerar vektorfält genom approximation av en fältlinjer i inmatningsvektorfältet
- flödesvisualiseringsmetod för stadiga (tidsoberoende) flöden. Här kallas fältlinjer stremlines
- Visuell utforskning av 2D autonoma dynamiska system
- blåsiga kartor
- vattenriktningar
- konstnärliga effekter för att skapa snygga bilder
- blyertsteckning
- automatisk blyertsritningsteknik med hjälp av LIC-pennfilter
- Automatisk generering av hårstruktur
- skapa marmoreringsstruktur
- blyertsteckning
- Terränggeneralisering: skapar generaliserad skuggad relief
Genomföranden
- GPU-baserade bildbehandlingsverktyg av Raymond McGuire
- ParaView : Line Integral Convolution
- Ett 2D-flödesvisualiseringsverktyg baserat på LIC och RK4. Utvecklad med C++ och VTK. av Andres Bejarano
- Wolfram Research (2008), LineIntegralConvolutionPlot, Wolfram Language function, https://reference.wolfram.com/language/ref/LineIntegralConvolutionPlot.html (uppdaterad 2014).