Skip to main content

ORCA (Optimized Registration through Conditional Adversarial networks)

Project description

Orca-logo

ORCA: Optimized Registration through Conditional Adversarial networks

Recommended Version Monthly Downloads Daily Downloads

Requirements โœ…

For an optimal experience with ORCA, ensure the following:

  • Operating System: ORCA runs smoothly on Windows, Mac, or Linux.
  • Memory: At least 32GB of RAM ensures ORCA operates without a hitch.
  • GPU: For blazing-fast predictions, an NVIDIA GPU comes highly recommended. But if you don't have one, fret not! ORCA will still get the job done, just at a more leisurely pace. For training new models, you must have a GPU!
  • Python: Version 3.9.2 or above. We like to stay updated!

Installation Guide ๐Ÿ› ๏ธ

Navigating the installation process is a breeze. Just follow the steps below:

For Linux and MacOS ๐Ÿง๐Ÿ

  1. Create a Python environment, for example, 'orca-env'.
python3 -m venv orca-env
  1. Activate your environment.
source orca-env/bin/activate  # for Linux
source orca-env/bin/activate  # for MacOS
  1. Install ORCA.
pip install orcaz

Usage Guide ๐Ÿ“š

Command-line tool for data folder processing :computer:

orcaz -d <path_to_patient_dir> -m <mode>

Here <path_to_patient_dir> refers to the directory containing your subject's PET and CT images. Where <mode> is the name of the mode for which we want to use the tool, from the available options.

train: Yes we can !! Orca can be used to train your own models as a generic cGAN paltform. More instructions for that to follow !

pred : This option will use orca only to generate a synthetic CT from your PET data.

coreg: Option to generate synethic CT and perform the coregistration pipeline with an output of the co-registered CT. ORCA in its full glory !!

Using ORCA requires your data to be structured according to specific conventions. ORCA supports both DICOM and NIFTI formats.

Required Directory Structure ๐ŸŒณ

Please structure your dataset as follows for coregistration:

EXAMPLE_Data_folder/
โ”œโ”€โ”€ S1
โ”‚   โ”œโ”€โ”€ S1_CT
โ”‚   โ”‚   โ”œโ”€โ”€ xyz_1.dcm
โ”‚   โ”‚   โ”œโ”€โ”€ xyz_2.dcm
โ”‚   โ”‚   โ”œโ”€โ”€ .
โ”‚   โ”‚   โ”œโ”€โ”€ .
โ”‚   โ”‚   โ”œโ”€โ”€ .
โ”‚   โ”‚   โ””โ”€โ”€ xyz_532.dcm
โ”‚   โ””โ”€โ”€ S1_FDG_NAC_PT
โ”‚       โ”œโ”€โ”€ xyz_1.dcm
โ”‚       โ”œโ”€โ”€ xyz_2.dcm
โ”‚       โ”œโ”€โ”€ .
โ”‚       โ”œโ”€โ”€ .
โ”‚       โ”œโ”€โ”€ .
โ”‚       โ””โ”€โ”€ xyz_532.dcm
โ”œโ”€โ”€ S2
โ”‚   โ”œโ”€โ”€ S2_CT
โ”‚   โ”‚   โ”œโ”€โ”€ xyz_1.dcm
โ”‚   โ”‚   โ”œโ”€โ”€ xyz_2.dcm
โ”‚   โ”‚   โ”œโ”€โ”€ .
โ”‚   โ”‚   โ”œโ”€โ”€ .
โ”‚   โ”‚   โ”œโ”€โ”€ .
โ”‚   โ”‚   โ””โ”€โ”€ xyz_532.dcm
โ”‚   โ””โ”€โ”€ S2_FDG_NAC_PT
โ”‚       โ”œโ”€โ”€ xyz_1.dcm
โ”‚       โ”œโ”€โ”€ xyz_2.dcm
โ”‚       โ”œโ”€โ”€ .
โ”‚       โ”œโ”€โ”€ .
โ”‚       โ”œโ”€โ”€ .
โ”‚       โ””โ”€โ”€ xyz_532.dcm
โ”œโ”€โ”€ S3
โ”‚   โ”œโ”€โ”€ S3_CT.nii
โ”‚   โ””โ”€โ”€ S3_FDG_NAC_PT.nii
โ”œโ”€โ”€ S4
โ”‚   โ”œโ”€โ”€ S4_CT.nii.gz
โ”‚   โ””โ”€โ”€ S4_FDG_NAC_PT.nii.gz

In all these cases, ORCA can be executed on the directories one by one

orcaz -d S1 -m coreg
orcaz -d S2 -m coreg
orcaz -d S3 -m coreg  

Note: If the necessary naming conventions are not followed, ORCA will not process the data in the directory.

Naming Conventions for files ๐Ÿ“

There is none! Currently orca requires the naming of the subject subfoders inlcude particular names. The patient identifier can be placed in the start of each subfolder

For instance, S1_CT and S1_FDG_NAC_PT, or S1_CT and S1_FDG_AC_PT.
S2_CT and S2_PSMA_NAC_PT.
S3_CT and S3_FACBC_NAC_PT.
S4_CT and S4_DOTA_NAC_PT.
S5_CT and S5_AGNOSTIC_NAC_PT.

Output

After successful completion, the co-registered CT is saved as dicom data in ORCA_CT_DICOM.

Intermediate images and warp files are stored within the ORCA-VXX-YYYY-MM-DD-HH-MM-SS folder

S1
โ”œโ”€โ”€ CT
โ”œโ”€โ”€ NAC_FDG_PET
โ”œโ”€โ”€ ORCA_CT_DICOM
โ”œโ”€โ”€ ORCA-V01-2023-09-28-00-02-52

Directory Structure for sCT prediction only

The above dataset structure will also work in prediction mode, but the CT directory is not necessary:

For prediction the following is sufficient.

EXAMPLE_Data_folder/
โ”œโ”€โ”€ S1
โ”‚   โ””โ”€โ”€ S1_FDG_NAC_PT
โ”‚       โ”œโ”€โ”€ xyz_1.dcm
โ”‚       โ”œโ”€โ”€ xyz_2.dcm
โ”‚       โ”œโ”€โ”€ .
โ”‚       โ”œโ”€โ”€ .
โ”‚       โ”œโ”€โ”€ .
โ”‚       โ””โ”€โ”€ xyz_532.dcm
โ”œโ”€โ”€ S2
โ”‚   โ””โ”€โ”€ S2_FDG_NAC_PT
โ”‚       โ”œโ”€โ”€ xyz_1.dcm
โ”‚       โ”œโ”€โ”€ xyz_2.dcm
โ”‚       โ”œโ”€โ”€ .
โ”‚       โ”œโ”€โ”€ .
โ”‚       โ”œโ”€โ”€ .
โ”‚       โ””โ”€โ”€ xyz_532.dcm
โ”œโ”€โ”€ S3
โ”‚   โ””โ”€โ”€ S3_FDG_NAC_PT.nii

In all these cases, ORCA can be executed to generate sCT on the directories one by one

orcaz -d S1 -m pred
orcaz -d S2 -m pred
orcaz -d S3 -m pred  

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

orcaz-0.1.5.tar.gz (63.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

orcaz-0.1.5-py3-none-any.whl (69.2 kB view details)

Uploaded Python 3

File details

Details for the file orcaz-0.1.5.tar.gz.

File metadata

  • Download URL: orcaz-0.1.5.tar.gz
  • Upload date:
  • Size: 63.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for orcaz-0.1.5.tar.gz
Algorithm Hash digest
SHA256 47a9dc0375fd5b312f89b3f89586b8bfd57c0a230a453ba8e433d3a7a676d518
MD5 2fa71b3d4631c394732b21e46634c2d7
BLAKE2b-256 9cb664adc1f3e48ff424e321eba14cd04cfa70ee44673af21bc59acc33a5ff69

See more details on using hashes here.

File details

Details for the file orcaz-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: orcaz-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 69.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for orcaz-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 5c2df8ff3223efd90df5a61399a2206eb1e9de944af47207a00cfd01ff41a12a
MD5 044592fbb30bf40930cbb7907d045105
BLAKE2b-256 1f3be97a6868da3eea579d50a301930932aa78ff2ce120aae82631bac12b244a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page