Skip to content

Automatic landmark identification in CBCT scans

Notifications You must be signed in to change notification settings

Maxlo24/ALI_CBCT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Automatic Landmark Identification in 3D Cone-Beam Computed Tomography scans

Authors: Maxime Gillot Baptiste Baquero Antonio Ruellas Marcela Gurgel Najla Al Turkestani Elizabeth Biggs Marilia Yatabe Jonas Bianchi Lucia Cevidanes Juan Carlos Prieto

We propose a novel approach that reformulates landmark detection as a classification problem through a virtual agent placed inside a 3D Cone-Beam Computed Tomography (CBCT) scan. This agent is trained to navigate in a multi-scale volumetric space to reach the estimated landmark position.

Landmark placed in the CBCT: LM_SELECTION_Trans

Scripts for Automatic Landmark Identification in CBCT

Prerequisites

python 3.8.8 with the anaconda environment "ALI_environment.yml":

Main librairies:

monai==0.7.0
torch==1.10.1
itk==5.2.1
numpy==1.20.1
simpleitk==2.1.1

Running the code

Using Docker

You can get the ALI CBCT docker image by running the folowing command lines.

Informations

Building using the DockerFile

From the DockerFile directory:

docker pull dcbia/alicbct:latest

From the DockerFile directory:

docker build -t alicbct .

Automatic landmark identification Running on CPU

docker run --rm --shm-size=5gb -v <Folder_with_the_scans_to_segment>:/app/data/scans -v <Folder_with_the_models_to_use>:/app/data/models  alicbct:latest python3 /app/ALI_CBCT/predict_landmarks.py

Running on GPU

docker run --rm --shm-size=5gb --gpus all -v <Folder_with_the_scans_to_segment>:/app/data/scans -v <Folder_with_the_models_to_use>:/app/data/models  alicbct:latest python3 /app/ALI_CBCT/predict_landmarks.py

options/arguments

  • By default, only Ba and S landmarks are selected. To choose which structure to segment, you can use the following arguments:
    -lm Ba S
    

Pre-process

To run the preprocess to prepare the files and set them at the wanted spacing for the training:

For the Upper, Lower and Cranial base landmarks

python3 init_training_data_ULCB.py -i "path of the input folder with the scans and the fiducial list" -o "path of the output folder"

For the canine impaction landmarks

python3 init_training_data_Canine.py -i "path of the input folder with the scans and the fiducial list" -o "path of the output folder"

By default the spacing is set at 1 and 0.3 but we can change and add other spacing with the argument :

-sp x.xx x.xx

A contrast adjustment is also applied but can be turned off with

-ch False

#Images

Environment, low resolution and high resolution: 2environement_label_zoom

Agent architecture: agent_label

Search steps of the agent to find one landmark: Search_3Steps_labeled