This repository provides a pipeline for fully automated processing of head CT/MRI scans and detection of nose tips from face point-cloud and face mesh reconstructed automatically from DICOM images.
-
DICOM_reader.py
Reads a DICOM dataset, extracts image metadata, and reconstructs the image volume as a 3D matrix. -
DeepMVLM.py
Extracts facial landmarks from a 3D head/face mesh.
⚠️ Note: To use this script, download the github repo of the model here: https://github.com/RasmusRPaulsen/Deep-MVLM and make sure to place it inside the directory containing these scripts.⚠️ Note: InsideDeep-MVLM/configs, edit theDTU3D-depth-MRI.jsonfile in this way:"pre-align": { "align_center_of_mass" : true, "rot_x": -90, "rot_y": 0, "rot_z": 0, "scale": 1, "write_pre_aligned": true }
-
Head_extraction.py
Automatically segments the patient's head using VTK libraries. -
pointcloud_aligner.py
Contains a class for point cloud registration using ICP with perturbation to improve convergence. -
pointcloud_nose_tip.py
Detects the nose tip from a point cloud using a geometric heuristic. -
Main.py
Run this script to perform head segmentation, nose tip detection, and registration between the face point cloud and the head isosurface.
📁 The directory path to set in the code should be the one containing the DICOM dataset. -
requirements.txt
Contains the libraries required
If you use this project or the scripts contained within, please cite:
@misc{Albanesi2025FaceAutoPipeline,
author = {Alessandro Albanesi},
title = {FaceAutoPipeline},
howpublished = {\url{https://github.com/aless98/FaceAutoPipeline}},
year = {2025}
}A. Albanesi, FaceAutoPipeline. 2025. [Online]. Available: https://github.com/aless98/FaceAutoPipeline