Skip to main content

OCELOT: diffeOmorphiC rEgistration for voxel-wise anOmaly Tracking

OCELOT

diffeOmorphiC rEgistration for voxel-wise anOmaly Tracking

A tool to generate cohort specific normative PET/CT images and allow comparison with patient PET/CT images.

🖥️ System Requirements and Recommendations

Depending on the images you are processing (FOV, Spacing, Matrix size), it is recommended to use a system that has at least 64GB of RAM.

It is also HIGHLY suggested to use a system with a recent NVIDIA Graphics card.

🛠 Installation Guide

Virtual Environment Setup

Creating a virtual environment is highly recommended to avoid any potential conflicts with other Python packages.

  • Windows:
python -m venv ocelotz_env
.\ocelotz_env\Scripts\activate
  • Linux/Mac:
python3 -m venv ocelotz_env
source ocelotz_env/bin/activate

Installing OCELOT

With your virtual environment activated, install OCELOT using pip:

pip install ocelotz # stable recommended version

📁 Folder Structure

To start processing data with OCELOT (the stratification pipeline, please see below) a simple folder structure is recommend:

stratification_directory
    ├── Subject_1
    │         ├── CT_FOLDER
    │         │    └── DICOM_FILES.dcm
    │         └── PT_FOLDER
    │              └── DICOM_FILES.dcm
    ├── Subject_2
    │         ├── CT_FOLDER
    │         │    └── DICOM_FILES.dcm
    │         └── PT_FOLDER
    │              └── DICOM_FILES.dcm
    .
    .
    .
    └── Subject_N
              ├── CT_FOLDER
              │    └── DICOM_FILES.dcm 
              └── PT_FOLDER
                   └── DICOM_FILES.dcm

The naming of the individual folders does not matter. It is only important that two sets of DICOM files exist within the subject directory: CT and PET.

Note: OCELOT might fail if specific header tags are not provided with the PET and CT DICOM files.

Following the stratification, you can then simply run OCELOT within normalization mode on the resulting stratified directory or compare the build NormDB with an incoming patient.

📚 Usage Guide

Getting started

OCELOT has three modes of operation: stratify, normalize and compare. To get an overview of the modes, you can simply do:

ocelot -h

To get more information for each mode, you can also do:

ocelot <mode> -h

So for example:

ocelot <stratify> -h

This will give you more information on the input parameters of the mode.

Stratification

The command structure for stratification is:

ocelot stratify -dir <directory/of/subject/data>

OCELOT will attempt to stratify the given presented subjects in -dir based on sex, BMI, age and height, standardize them and copy them into a new directory.

Template creation

ocelot normalize -sub-dir <directory/of/stratified/subject/data> -clean-up

OCELOT will attempt to normalize all subject in the provided -sub-dir and create a NormDB from them, including a reference

  • CT
  • PET
  • SUV-PET
  • STD-SUV-PET

Subject comparison

ocelot compare -ref-dir <directory/of/template> -sub-dir <directory/of/stratified/subject/data/to/compare> -clean-up -mask-regions [arms | legs | head]

OCELOT will attempt to compare all subjects in the -sub-dir to the NormDB in the -ref-dir. -clean-up is optional and removes all intermediate processing data after OCELOT is done. -mask-regions is optional and can be used to ignore regions during comparison.

Output

OCELOT will generate a folder named OCELOT in each directory where the results of each processing pipeline can be found.

🐾 OCELOT: A part of the enhance.pet community

Visit: https://enhance.pet

Metadata

Release files for ocelotz 0.4.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ocelotz 0.4.2
File Size Uploaded Provenance
ocelotz-0.4.2.tar.gz 39.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for ocelotz 0.4.2
File Interpreter ABI Platform
ocelotz-0.4.2-py3-none-any.whl Python 3 none any Details

Total release size: 82.9 kB

Release files / ocelotz-0.4.2.tar.gz

Download URL ocelotz-0.4.2.tar.gz
Size 39.5 kB
Tags Source
SHA-256 checksum
How to use checksums
bc80ec434756ecac2a15df4e05a5fdac68a0042f2881284620d690cdec893e2e
BLAKE2b-256 checksum
How to use checksums
0b899f575b2438f6883a218bfb0b415fe3f295d5221e040d3ba4ae82ef93afb6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.10.12

Release files / ocelotz-0.4.2-py3-none-any.whl

Download URL ocelotz-0.4.2-py3-none-any.whl
Size 43.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0b64aca195ba1410b285f1bd6ec45906e7d441f7ffd8d67a9862683069609231
BLAKE2b-256 checksum
How to use checksums
98468fd6814030e741d1650d60e688a4c7e03db40c390d1972b9ee6d81d17091
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.10.12

Security for ocelotz 0.4.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page