bioMedImage

buildSurface

##set_biomedimage

Description

L'action bioMedImage.buildSurface est votre outil de prédilection pour transformer des données volumétriquesLes données volumétriques désignent des jeux de données massifs (Big Data) nécessitant une architecture distribuée, comme le moteur CAS de SAS Viya, pour leur stockage et leur traitement rapide. (pixels 3D ou voxels) en magnifiques surfaces géométriques. Imaginez que vous passiez d'un nuage de points interne à une peau externe parfaitement définie ! C'est l'équivalent numérique de passer d'un brouillard dense à une statue de marbre bien lissée. Cette action est essentielle en imagerie médicale pour extraire des formes d'organes ou de structures osseuses à partir de scanners ou d'IRM .

Syntaxe Officielle
bioMedImage.buildSurface /
images={casTable}
intensities={double_list}
outputFaces={casTable}
outputVertices={casTable}
smoothing={iterations=int, relaxationFactor=double}
thresholds={{low=double, high=double}}

Paramètres Clés

Nom du paramètre Description
images Spécifie la table CAS d'entrée contenant les images biomédicales 3D à traiter .
intensities Une liste de valeurs d'intensité spécifiques que vous souhaitez isoler pour créer la surface.
outputFaces Le nom de la table de sortie qui contiendra la définition des faces du maillage 3D.
outputVertices Le nom de la table de sortie qui contiendra les coordonnées des sommets (vertices) du maillage.
smoothing Paramètres pour rendre la surface moins 'pixélisée'. Vous pouvez définir le nombre d'itérations et le facteur de relaxation pour un rendu plus organique.
thresholds Définit des plages de valeurs (minimum et maximum) pour sélectionner les régions de l'image qui doivent être incluses dans la construction de la surface.

Préparation des données

Création de données de test biomédicales

Puisqu'on ne trouve pas de scanner 3D au coin de la rue, simulons le chargement d'une image biomédicale pour tester l'action.

1PROC CAS;
2 image.loadImages / path="chemin/vers/vos/images_3d", casout={name="images_input"};
3RUN; QUIT;

Exemples d'utilisation

Construction de surface basique

Extraction d'une surface pour une valeur d'intensité spécifique sans fioritures.

1PROC CAS;
2 bioMedImage.buildSurface /
3 images={TABLE={name="images_input"}},
4 intensities={150},
5 outputFaces={name="surface_faces", replace=true},
6 outputVertices={name="surface_vertices", replace=true};
7RUN; QUIT;
Résultat Attendu :
Deux tables CAS sont créées : l'une pour les sommets et l'autre pour les faces reliant ces sommets.
Extraction de surface avec lissage et seuillage

On passe au niveau supérieur en appliquant des seuils précis (pour ne pas capturer n'importe quoi) et un lissage pour que le résultat soit agréable à l'œil.

1PROC CAS;
2 bioMedImage.buildSurface /
3 images={TABLE={name="images_input"}},
4 thresholds={{low=100, high=200}},
5 smoothing={iterations=10, relaxationFactor=0.5},
6 outputFaces={name="faces_lissees", replace=true},
7 outputVertices={name="vertices_lisses", replace=true};
8RUN; QUIT;
Résultat Attendu :
Une surface 3D générée à partir des voxels compris entre 100 et 200, lissée sur 10 cycles pour éliminer les effets d'escalier.