Introductie:
Graphics, ruimtelijke data en het creëren van slimme manieren om data te combineren met interactie hebben altijd mijn grote interesse en passie gehad. Bij een app als Enatom, waar deze onderwerpen prominent aanwezig zijn en voortdurend in ontwikkeling zijn, was het logisch om manieren te verkennen om onze data te visualiseren en ermee te interacteren op basis van methoden die we nog niet eerder hebben onderzocht. In deze blogpost wil ik kort vertellen over mijn experimenten en bevindingen over signed distance fields en hoe deze potentie bieden voor het visualiseren van anatomische data.
Pointclouds
Enatom rendert anatomische inhoud met behulp van pointclouds in plaats van traditionele triangle meshes.
Op punten gebaseerde representaties stellen ons in staat om direct te werken met hoge-resolutie fotogrammetrie-data van echte gedoneerde lichamen, waarbij anatomische variatie behouden blijft zonder agressieve afvlakking van het oppervlak. Dit maakt ze zeer geschikt voor anatomisch realisme.
Tegelijkertijd introduceren pointclouds specifieke ruimtelijke uitdagingen:
- Ruimtelijke continuïteit is impliciet in plaats van expliciet gedefinieerd
- Oppervlakte-oriëntatie moet lokaal worden afgeleid
- Dichte en dunbevolkte regio’s gedragen zich verschillend onder belichting en clipping
- Redeneren over de binnen- versus buitenkant van structuren is niet triviaal
Dit zijn geen gebreken, maar afwegingen. Toch roepen ze vragen op over hoe we op een meer continue manier over anatomische ruimte kunnen redeneren.
Signed distance fields als ruimtelijke representatie
Een signed distance field is een scalair veld gedefinieerd over de ruimte. Op elk punt slaat het de afstand tot het dichtstbijzijnde oppervlak op:
- Negatieve waarden duiden op punten binnen een structuur
- Positieve waarden duiden op punten daarbuiten
- Nul vertegenwoordigt het oppervlak
In plaats van anatomie te beschrijven als discrete monsters (samples), beschrijft een signed distance field het als een continue ruimtelijke functie. Dit maakt het nuttig voor ruimtelijke queries, nabijheidsberekeningen en vloeiende overgangen — mogelijkheden die moeilijk direct uit alleen puntdata te herleiden zijn.
Ruimtelijke informatie afleiden uit het veld
Signed distance fields coderen meer dan alleen de locatie van het oppervlak.
Door het veld te samplen, kunnen gradiënten op willekeurige posities worden berekend. Deze gradiënten zorgen voor stabiele oppervlaktenormalen, zelfs in gebieden waar de puntdichtheid varieert. Dit kan zorgen voor consistentere belichting, minder visuele ruis en een stabiel uiterlijk bij verschillende zoomniveaus.
Afstandswaarden zelf kunnen ook worden gevisualiseerd, bijvoorbeeld via diepte-gebaseerde gradiënten of nabijheidsmarkering. Indien zorgvuldig gebruikt, kunnen deze technieken ruimtelijke relaties versterken zonder de scène te overweldigen.
Navigeren door anatomie via continue ruimte
Traditionele clipping planes veroorzaken vaak abrupte afsnijdingen bij het navigeren door dichte anatomische regio’s.
Distance fields maken het mogelijk om geleidelijker door de anatomie te snijden, met vloeiende overgangen die de omringende context behouden. Structuren kunnen in- of uitfaden op basis van afstand in plaats van een binaire zichtbaarheid, wat het plotselinge verlies van oriëntatie tijdens exploratie vermindert.
Omdat het veld continu is, maakt het ook interpolatie tussen toestanden mogelijk. Anatomische lagen kunnen vloeiend overgaan terwijl ruimtelijke relaties behouden blijven, in plaats van abrupt te verschijnen of te verdwijnen.
Diepte-indicatoren en ruimtelijke oriëntatie
Distance fields integreren op natuurlijke wijze met diepte-gevoelige renderingtechnieken zoals afstand-gebaseerde ambient occlusion of volumetrische schaduwwerking.
Deze effecten gaan niet over visuele verfraaiing. Hun primaire waarde ligt in het versterken van diepte-indicatoren — het helpen van gebruikers te begrijpen wat voor of achter, oppervlakkig of diep ligt — vooral in complexe regio’s waar meerdere structuren elkaar overlappen.
Geometriestabilisatie en ruimtelijke robuustheid
Omdat signed distance fields volume beschrijven in plaats van discrete punten, kunnen ze helpen bij het detecteren van gaten of inconsistenties in point-based data.
Ze bieden een betrouwbaardere basis voor ruimtelijke queries, zelfs wanneer de puntdichtheid varieert. Dit ondersteunt soepelere interactie en voorspelbaarder gedrag in verschillende anatomische regio’s.
Relatie met volumetrische beeldvorming
Er is een conceptuele overlap tussen signed distance fields en volumetrische datasets zoals CT- of MRI-scans.
Dit roept onderzoeksvragen op over het converteren van gesegmenteerde volumetrische data naar distance fields, en over het combineren van oppervlakte-anatomie met volumetrische informatie. Hoewel dit nog verkennend is, zou deze richting kunnen helpen om een brug te slaan tussen macroscopische anatomie en klinische beeldvorming.
Interactie en annotatie in complexe anatomie
Een op velden gebaseerde representatie maakt interacties mogelijk die ruimtelijk zijn in plaats van puur geometrisch:
- Nabijheidsgevoelige selectie
- Betrouwbaardere hit-testing
- Bewustzijn van binnen- en buitenkant voor complexe structuren
Een bijzonder veelbelovende toepassing is annotatie.
Signed distance fields stellen het systeem in staat om vragen te beantwoorden zoals hoe ver een label zich van het dichtstbijzijnde oppervlak bevindt, of het de anatomie doorsnijdt en in welke richting het veilig kan worden verplaatst. Dit maakt oppervlakte-bewuste labelplaatsing, botsingsvrije annotaties en call-outs mogelijk die vloeiend meebewegen bij zoomen en roteren.
Dezelfde ruimtelijke logica zou meetinstrumenten, het markeren van interessegebieden en begeleide exploratiepaden kunnen ondersteunen.
Afsluiting
Signed distance fields fascineren me. Het concept is eenvoudig en al heel lang bekend, en het geeft me veel energie om nieuwe manieren te bedenken om dit concept te gebruiken voor het visualiseren van en interacteren met anatomische data binnen Enatom. Ik ben benieuwd wat de toekomst voor deze concepten in petto heeft.


