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
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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| ocelotz-0.4.2.tar.gz | 39.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.