Voreen
Wersja stabilna | 5.2.0 / 28 stycznia 2021
|
---|---|
Napisane w | C++ (Qt), OpenGL , GLSL , OpenCL . Pyton |
System operacyjny | Międzyplatformowe |
Typ | Renderowanie objętościowe , wizualizacja interaktywna |
Licencja | Powszechna Licencja Publiczna GNU Wersja 2 |
Strona internetowa |
Voreen ( silnik renderowania objętości ) to otwarta biblioteka wizualizacji woluminów i platforma programistyczna . Dzięki zastosowaniu technik renderowania woluminu opartych na procesorach graficznych , umożliwia wysoką liczbę klatek na sekundę na standardowym sprzęcie graficznym w celu obsługi interaktywnej eksploracji woluminów.
Historia
Voreen został zainicjowany na Wydziale Informatyki Uniwersytetu w Münster w Niemczech w 2004 roku i został po raz pierwszy wydany 11 kwietnia 2008 roku na licencji GNU General Public License (GPL) . Voreen jest napisany w C++ z wykorzystaniem frameworka Qt i interfejsu API akceleracji renderowania OpenGL i jest w stanie osiągnąć wysoką interaktywną liczbę klatek na sekundę na konsumenckim sprzęcie graficznym. Jest niezależny od platformy i kompiluje się w systemach Windows i Linux . Kod źródłowy i dokumentacja, a także wstępnie skompilowane pliki binarne dla systemów Windows i Linux są dostępne na jego stronie internetowej. Chociaż jest przeznaczony i używany głównie do zastosowań medycznych, można obsługiwać dowolny inny rodzaj danych objętościowych, np. mikroskopię, dane dotyczące przepływu lub inne symulacje.
koncepcje
Oparte na tym silniku środowisko wizualizacyjne VoreenVE przeznaczone jest do tworzenia i wykonywania interaktywnych wizualizacji danych wolumetrycznych. Różne wizualizacje można łączyć w postaci tzw. sieci metodą szybkiego prototypowania , przy czym każda sieć składa się z kilku procesorów . Procesory wykonują mniej lub bardziej wyspecjalizowane zadania w całym procesie renderowania, począwszy od dostarczania danych poprzez raycasting, tworzenie geometrii i renderowanie, aż po przetwarzanie obrazu. W granicach swoich odpowiednich celów procesory można dowolnie łączyć ze sobą, zapewniając w ten sposób dużą elastyczność i zapewniając jednolity sposób obsługi renderowania objętościowego . Autorzy, którzy muszą wdrożyć określoną technikę renderowania, mogą ograniczyć swoją pracę w zasadzie do opracowania nowych procesorów, podczas gdy użytkownicy, którzy chcą uzyskać dostęp tylko do określonej wizualizacji, muszą po prostu zastosować odpowiednie procesory lub sieci i nie muszą przejmować się szczegółami technicznymi.
Cechy
Wyobrażanie sobie
- Bezpośrednie renderowanie objętościowe (DVR), renderowanie izopowierzchniowe , projekcja maksymalnej intensywności (MIP)
- Obsługa różnych modeli oświetlenia ( model odbicia Phonga , cieniowanie toonowe , okluzja otoczenia )
- Wizualizacja dużych (poza rdzeniem) danych (przy użyciu narzędzia OpenCL octree raycaster)
- Wizualizacja pola wektorowego oparta na usprawnieniach
- Multimodalne renderowanie objętościowe
- Renderowanie geometrii z obsługą przezroczystości niezależnej od kolejności
- Elastyczna kombinacja operatorów przetwarzania obrazu (ciemnienie głębi, poświata, głębia chromatyczna, wykrywanie krawędzi )
- Wizualizacja zmiennych w czasie oraz podzielonych na segmenty zbiorów danych 3D
- Obsługa funkcji transferu 1D i 2D / CLUT
- Konfigurowalne widoki do tworzenia bardziej złożonych aplikacji (widok potrójny/widok poczwórny/widok z kartami/podział)
- Konspiratorstwo
- Wizualizacja zespołu objętości (wykres podobieństwa, średnia/wariancja zespołu, współrzędne równoległe)
Przetwarzanie objętościowe
- Ekstrakcja izopowierzchni
- Wydajne podstawowe przetwarzanie obrazu 3D dla bardzo dużych (poza rdzeniem) woluminów
- Analiza bardzo dużych objętości (połączone komponenty, analiza sieci statków)
- Interaktywna segmentacja objętości (oparta na losowych walkerach, filtrowanie naczyń, podstawowe progi)
- Interaktywna rejestracja objętości (ręczna lub oparta na punktach orientacyjnych)
- Przetwarzanie objętości pola wektorowego (macierz jakobianowa, kryterium wirowe Delta/Q/Lambda2, ekstrakcja linii podstawowej)
- Przetwarzanie poza rdzeniem zestawów danych przestrzenno-czasowych z wieloma polami (analiza zespołu)
Interakcja
- Konfigurowalny tryb aplikacji poprawiający użyteczność dla ekspertów dziedzinowych
- Wyrównane w osiach i dowolnie wyrównane płaszczyzny tnące
- Edytory funkcji transferu 1D i 2D
- Kontrola wyników pośrednich
- Pomiary odległości
We/wy danych
- Obsługa kilku formatów plików woluminów (np. DICOM , stosy TIFF , HDF5 , RAW, NetCDF, VTI, NIfTI-1)
- Zrzut ekranu w wysokiej rozdzielczości i generowanie animacji kamery z antyaliasingiem
- Eksport wideo oparty na FFmpeg
- języku Python do przetwarzania i wizualizacji obrazów w trybie offline
- Wejście/eksport geometrii (np. do wytwarzania przyrostowego )