Abe404 / DART

scripts to work with evaluation of dose summation reproducibility

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DART - Dose Accumulation Registration Toolkit


\\\\\\       ________       
 >>>>>>---==(________)------
//////

Hit the bullseye with your dose accumulation!

Python module to run ANTs registration.

convert_dicom_to_nifty.py

Input

Input folder full of dicom directories. The dicom files contain the scan, structure set and dose. These files are all in the same directory, but a unique directory for each patient fraction

Processing

Converts RT struct, RT dose and the scan image for each patient fraction. These are converted to Nifty (nii.gz) to work with the ANTS registration software.

Command line usage

usage: convert_dicom_to_nifty.py [-h] [--multi-process | --no-multi-process] --struct-name STRUCTNAME input output

Dicom conversion utility. Convert from dicom to nifty

positional arguments:
  input                 Directory containing patient folders
  output                Output location for nifty files

optional arguments:
  -h, --help            show this help message and exit
  --multi-process, --no-multi-process
  --struct-name STRUCTNAME
                        name of structure (default: None)

Road map

Note: 🚧 = Under construction (not yet implemented).

  • Convet a folder of dicoms to niftys as this is required for ANTS to run. βœ…
    • Scans βœ…
    • Dose βœ…
    • Structures βœ…
  • Compute ANTS registration (and generate transformed images) on the folder of nifty scans βœ…
  • Run computed ants registration on:
    • Dose - To allow dose summation (giving hopefully more accurate dose to each organ) βœ…
    • Structures - To allow evaluation of registration accuracy by computing resultant segmentation metrics such as dice or hd. βœ…
  • Sum dose - Performed on dose files and giving a resultant dose for each patient. βœ…
  • Compute metrics - Compute segment metrics on the original contour and transformed (registered) contours. βœ…
  • Compute jacobian - Another image which displays characteristics of the deformation field (did any local regions fold?) βœ…
  • Compute MI - Mutual information - Could give an indication if the registration was performed successfully. βœ…

Development tools

This module is only supported with >= python3.9

The script 'static_analysis.sh' should be used before commiting code.

RADON is used for measurement of cyclomatic complexity and maintainability index.

To assess cylomatic complexity:

radon cc file_path.py We aim to ensure all functions are rated B or above

To assess maintainability index:

radon mi file_path.py We aim to ensure all files are rated B or above.

To use pylint to check for errors

pylint file_path.py

About

scripts to work with evaluation of dose summation reproducibility

License:GNU General Public License v3.0


Languages

Language:Python 97.6%Language:Shell 2.4%