La reconstruction 3d à partir des photos prises par le casque s’effectue avec le logiciel de photogrammétrie 3DF Zephyr Free qui est disponible en open source. Nous avons choisi ce logiciel car il permet d’obtenir une reconstruction 3D de qualité satisfaisante et car sa prise en main n’est pas trop complexe au regard de l’ensemble des logiciels existant. Une fois la reconstruction effectuée par 3DF Zephyr, elle est exportée au format .ply qui correspond à une liste de polygones dont sont données les coordonnées des sommets ainsi qu’éventuellement la normale et la couleur.
Reconstruction obtenue par 3DF Zephyr
Le fichier .ply est ensuite traité par le logiciel Blender qui permet d’orienter la reconstruction du crâne. Pour cela, il suffit de placer le centre du repère sur le nez du bébé afin que celui ci ait pour coordonnées (0,0,0). Une fois cette étape réalisée, le praticien cliquera sur les différents points de repères crâniens (tragus auriculaires et centre des yeux) pour relever les coordonnées qui seront ensuite utilisées par le code Matlab pour déterminer les différents ratios du diagnostic de la plagiocéphalie. Le fichier est ensuite exporté en .ply pour conserver la reconstruction bien orientée et pouvoir la comparer avec une autre mesure réalisée quelques mois plus tard.
Tête reconstruite du bébé une fois que le nez a été pris pour centre du repère et les axes correctement positionnés.
Le programme Matlab va loader la reconstruction 3D et prendre en compte les coordonnées précédemment relevées des oreilles, du nez et des yeux. A partir de ces données, le programme calcule la tranche de référence, qui est au dessus des yeux. Il prend tous les points dans une tranche de 0.02 (soit 0.5mm) pour former la surface. 20 coupes sont prises, ce qui donne 20 lignes dans la cell de résultat. On fait donc une boucle pour calculer les différents paramètres des coupes.
A chaque itération de la boucle, on va vouloir obtenir les coordonnées des points A et P (extrémités du segment antéro-postérieur), I (intersection de l'axe antéro-postérieur et de l'axe qui relie les deux oreilles) et O1, O2, O3, O4 (extrémités des deux obliques représentées sur le schéma en fin de section).
Le programme calcule d’abord le périmètre de la coupe. D’abord, il coupe la surface de la tête en 4 sections délimitées par les x et y minimums, moyens et maximaux. La fonction calcul_per_bis2 permet de ranger les points dans le bon sens, puis de calculer le périmètre total de la surface. Ensuite le programme place la projection des oreilles et du nez sur la surface calculée. Cela permet de déterminer les points des deux oreilles qui permettent d’avoir la distance entre les deux oreilles et le point I.
Ensuite, il faut déterminer les intersections entre la surface du crâne et les droites d’intérêt. Pour cela le programme fait un fit des surfaces avec un léger overlap pour être sûr que les points d’intersection seront trouvés.
Les fonctions intersection_P et intersection_oblique permettent de calculer les coordonnées des points P et O1, O2, O3, O4.
A partir de ces coordonnées on peut calculer les différents rapports importants pour le diagnostic qui sont les rapports suivant :
IC = distance oreilles / longueur antéropostérieure x 100
ODDI = oblique longue/oblique courte x 100
CVAI = oblique longue - oblique courte / oblique courte x 100
ED = distance entre les deux droites perpendiculaires à l’axe antéropostérieur qui passent par chacune des oreilles