Sign inSign up

dimzaridis/sequence_registration

By dimzaridis

•Updated almost 3 years ago

General Purpose MRI Series registration and bi-parametric Prostate MRI registration

Image
Machine learning & AI
Data science
0

83

dimzaridis/sequence_registration repository overview

⁠MRI Sequence Registration Tool

⁠Keywords

MRI, MRI Series registration, Prostate MR imaging, T2-Weighted, ADC, DWI, CT

⁠Introduction

The MRI Sequence Registration Tool is a robust Docker-based application designed for co-registering medical imaging sequences. While it's specifically tailored for bi-parametric prostate MRI, its versatility allows it to effectively work with various other MRI modalities.

⁠Features

  • Bi-Parametric Prostate MRI Support: Optimized for high accuracy in prostate MRI.
  • Multi-Modality Compatibility: Works with various MRI sequences beyond prostate imaging.
  • Docker Integration: Easy deployment and scalability with Docker.
  • User-Friendly: Simple command-line interface for efficient processing.
  • High Precision: Ensures accurate co-registration of MRI sequences.
  • Metadata: Extracts the processed sequences in nifti and also a metadata.json file that tracks the nifti metadata for each patient and sequence.

⁠Installation and Usage

To get started with the MRI Sequence Registration Tool, follow these steps:

⁠Installation
docker pull dimzaridis/sequence_registration:1.0

⁠Running the Tool

Use the following command structure for running the tool:

docker run \
-v path/to/input/folder:/dir/input \
-v path/to/output/folder:/dir/output \
sequence_registration:1.0 \
python /dir/__main__.py --sequence_to_register T2 --register_label false

Replace path/to/input/folder and path/to/output/folder with your directories.
--sequence_to_register = Sequence that you wish to register: string
--register_label: whether you want to register the label at the sequence_to_register as well: string true or false

⁠Input Volume Format

The input volume (indexing in a folder) should contain 2 elements:

  • a nii_files folder containing the nifti images you want to process
  • a nifti_files_path.json file with the following format, indexing at the paths within the folder and sequences

Note: it would be more practical to have the sequences you want to preprocess and a json field "Label"corresponding to your application, instead of "Lesion 1" etc. The following is an examplar json file

{
    "PCa-106674358095011979090404319147938366968": {
        "1.3.6.1.4.1.58108.1.108966775915818889913549936404452632525": {
            "T2": "nii_files/PCa-106674358095011979090404319147938366968/1.3.6.1.4.1.58108.1.108966775915818889913549936404452632525/T2.nii.gz",
            "ADC": "nii_files/PCa-106674358095011979090404319147938366968/1.3.6.1.4.1.58108.1.108966775915818889913549936404452632525/ADC.nii.gz",
            "DWI_1500": "nii_files/PCa-106674358095011979090404319147938366968/1.3.6.1.4.1.58108.1.108966775915818889913549936404452632525/DWI_1500.nii.gz",
            "TZ+CZ": "nii_files/PCa-106674358095011979090404319147938366968/1.3.6.1.4.1.58108.1.108966775915818889913549936404452632525/TZ+CZ.nii.gz",
            "PZ": "nii_files/PCa-106674358095011979090404319147938366968/1.3.6.1.4.1.58108.1.108966775915818889913549936404452632525/PZ.nii.gz",
            "SV": "nii_files/PCa-106674358095011979090404319147938366968/1.3.6.1.4.1.58108.1.108966775915818889913549936404452632525/SV.nii.gz",
            "Lesion 1": "nii_files/PCa-106674358095011979090404319147938366968/1.3.6.1.4.1.58108.1.108966775915818889913549936404452632525/Lesion 1.nii.gz"
        }
    },
    "PCa-104180749245756011729536523005098390989": {
        "1.3.6.1.4.1.58108.1.90570475064896200872465881267391880929": {
            "T2": "nii_files/PCa-104180749245756011729536523005098390989/1.3.6.1.4.1.58108.1.90570475064896200872465881267391880929/T2.nii.gz",
            "ADC": "nii_files/PCa-104180749245756011729536523005098390989/1.3.6.1.4.1.58108.1.90570475064896200872465881267391880929/ADC.nii.gz",
            "DWI_2000": "nii_files/PCa-104180749245756011729536523005098390989/1.3.6.1.4.1.58108.1.90570475064896200872465881267391880929/DWI_2000.nii.gz",
            "Lesion 1": "nii_files/PCa-104180749245756011729536523005098390989/1.3.6.1.4.1.58108.1.90570475064896200872465881267391880929/Lesion 1.nii.gz"
        }
    }
}

⁠Compatibility

This tool is compatible with various MRI modalities, including but not limited to T2-weighted, Apparent Diffusion Coefficient (ADC) and Diffusion Weighted Imaging sequences.

⁠Citation

It would be highly appreciated if you could cite our work in case you utilize it

@misc{Zaridis2023mri,
  author = {Zaridis, Dimitrios},
  title = {MRI Sequence Registration Tool},
  year = {2023},
  version = {1.0},
  publisher = {Docker Hub},
  howpublished = {\url{https://hub.docker.com/r/dimzaridis/sequence_registration}},
}

⁠FAQs

Q: Can this tool be used for modalities other than prostate MRI? A: Yes, it's compatible with a range of Medical Imaging modalites as long as they have nifti metadata in order to perform the registration operation.

⁠License

This project is licensed under the MIT License

⁠Authors & Contact

Dimitrios (James) Zaridis, [email protected]⁠
Kalantzopoulos Charalampos, [email protected]⁠
Mylona Eugenia [email protected]⁠
Nikolaos Tachos [email protected]⁠
Dimitrios I. Fotiadis

⁠Affiliations

Unit of Medical Technology and Intelligent Information Systems, Dept. of Material Science & Engineering of the University of Ioannina, Greece

Tag summary

Content type

Image

Digest

sha256:e6beb0c3b…

Size

119.9 MB

Last updated

almost 3 years ago

docker pull dimzaridis/sequence_registration:1.0