Volymetrisk rendering

Volumetrisk rendering  är en teknik som används för att erhålla en platt bild ( projektion ) av en tredimensionell diskret datamängd.

En indatauppsättning hänvisar ofta till en uppsättning plattskiktsbilder erhållna från datortomografi eller magnetisk resonansavbildning . Vanligtvis är skikten lika tjocka (till exempel fotograferas ett lager per millimeter) och lika många pixlar per lager. Således är indata ett vanligt rutnät av voxels , där varje voxel motsvarar ett medelvärde (temperatur, materialdensitet) vid en given punkt av ett tredimensionellt objekt.

En volymmodell kan erhållas antingen genom att bygga ett polygonnät baserat på indata, eller genom direkt volymrendering. Marching cubes-algoritmen är standarden för att konvertera en uppsättning voxels till en polygonal modell. Direkt volymrendering är en komplex beräkningsuppgift som kan utföras på flera sätt.

Direkt volymrendering

Framåtvolymåtergivaren [1] [2] mappar varje voxelvärde till en färg och genomskinlighet. Detta görs med hjälp av en överföringsfunktion, som kan ges av en bitvis linjär funktion eller en värdetabell. Efter det matas det resulterande RGBA-värdet ut till rambufferten. Efter att ha ritat hela volymen erhålls en solid bild.

Volumetrisk strålkastning

Volumetrisk strålkastning är tillämpningen av renderingsekvationen i praktiken och ger bilder av mycket hög kvalitet.

Splatting

En snabbare metod som ger bilder av sämre kvalitet. Lee Westover kallar denna metod för att "kasta snöbollar" (eng. splatting ). Voxlar "kastas" på visningsytan i ordning efter avstånd från den, från längst till närmaste. De resulterande "snöbollsspåren" (splats) återges som skivor, vars färg och genomskinlighet varierar beroende på diametern i enlighet med normalfördelningen (Gaussisk) . Olika implementeringar kan använda olika element eller olika tilldelningar.


Hårdvaruaccelererad volymrendering

På grund av det faktum att volymetrisk rendering lätt kan parallelliseras, var specialiserad hårdvara för dess implementering föremål för många vetenskapliga studier, tills det ögonblick då vanliga grafikkort började klara av denna uppgift på en acceptabel tid. Den mest populära tekniken var VolumePro [3] , som var minnesintensiv och använde ooptimerad raycasting som sin underliggande algoritm.


Optimering

Hoppar över vitt utrymme

Ofta får det volymetriska renderingssystemet ytterligare information som input som identifierar områden som inte innehåller material som behöver renderas. Denna information kan användas för att undvika att slösa tid på att göra genomskinliga områden [4] .

Strålen slutar tidigt

Denna teknik används vid rendering från det nära till det avlägsna visningsplanet. I själva verket är det ytstrålning .

Octree och BSP

Användningen av hierarkiska strukturer som octree och BSP tree kan vara användbar för både ingångskomprimering och volymetrisk raycasting optimering .

Rymdsegmentering

Genom att allokera ointressanta delar av utrymmet före rendering kan du avsevärt minska antalet beräkningar vid raycasting eller blandning av texturer. Beroende på vilken algoritm som används kommer beräkningskomplexiteten att minska från O(n) till O(log n) för n på varandra följande voxlar. Användningen av rymdsegmentering hjälper till att avsevärt snabba upp renderingsalgoritmer som använder raycasting.

Multi-Resolution och Adaptive-Resolution View

Områden som är mindre intressanta att visa kan också renderas med lägre upplösning, vilket eliminerar behovet av att behandla onödiga indata. Om du behöver se dessa områden närmare kan du förfina dem ytterligare genom att läsa relevant information från disken och utföra ytterligare rendering, eller använda interpolation .

Se även

Anteckningar

  1.  Marc Levoy, "Visning av ytor från volymdata", IEEE CG&A, maj 1988.Arkiv av papper arkiverat29 mars 2010 påWayback Machine
  2.  Drebin, R.A., Carpenter, L., Hanrahan, P., "Volume Rendering", Computer Graphics, SIGGRAPH88. DOI-citatlänk
  3.   "Snabb volymåtergivning med en skjuvningsfaktorisering av visningstransformationen" Arkiverad3 november 2020 påWayback Machine
  4.  Pfister H., Hardenbergh J., Knittel J., Lauer H., Seiler L.:The VolumePro realtime ray-casting systemIn Proceeding of SIGGRAPH99DOI
  5.  Sherbondy A., Houston M., Napel S.:Snabb volymsegmentering med samtidig visualisering med programmerbar grafikhårdvara. I Proceedings of IEEE Visualization (2003), s. 171-176.
  6.  Max N., Hanrahan P., Crawfis R.: Areal-och volymkoherens för effektiv visualisering av 3D-skalära funktioner. I Computer Graphics (San Diego Workshop on Volume Visualization) (1990) vol. 24, sid. 27-33.
  7.   Stein C., Backer B., Max N.:Sortering och hårdvaruassisterad rendering för volymvisualisering. I Symposium on Volume Visualization (1994), s. 83-90.
  8.  Engel K., Kraus M., Ertl T.:Högkvalitativ förintegrerad volymrendering med hårdvaruaccelererad pixelskuggning. I Proceedings of Eurographics/SIGGRAPH Workshop on Graphics Hardware (2001), s. 9-16.
  9.  Lum E., Wilson B., Ma K.:Högkvalitativ belysning och effektiv förintegration för volymåtergivning. I Eurographics/IEEE Symposium on Visualization 2004.
  10. Barthold Lichtenbelt, Randy Crane, Shaz Naqvi, Introduction to Volume Rendering (Hewlett-Packard Professional Books), Hewlett-Packard Company 1998.
  11.  Peng H., Ruan, Z, Long, F, Simpson, JH, Myers, EW:V3D möjliggör 3D-visualisering i realtid och kvantitativ analys av storskaliga biologiska bilddatauppsättningar. Nature Biotechnology, 2010 (DOI: 10.1038/nbt.1612)Volymåtergivning av stora högdimensionella bilddata.

Länkar