This repository provides notebooks for various use cases of pyCERR. These include
- Organizing longitudinal, multi-modal image metadata
- IBSI-1 and IBSI-2 compatible radiomics
- RTDOSE dosimetry / DVHfeatures
- Infering image segmentation, registration using AI models
Notebooks are grouped into numbered topic folders (roughly beginner to advanced). Each can be opened directly in Google Colab via the badge at its top.
Shared inputs live at the repo root: settings/, radiomics_settings/, radiomics_features/.
01_getting_started/
| Notebook | Description |
|---|---|
pycerr_101.ipynb |
Start here: the PlanC data model — load a scan, build structures & dose from arrays, get masks, visualize |
structure_operations.ipynb |
Structure masks, boolean ops, margins (GTV→PTV), label maps, Dice/Hausdorff comparison |
desktop_viewer_quickstart.ipynb |
Launch & tour the Qt desktop viewer (navigation, contouring, fusion, 3D, drag-drop, export) |
load_visualize_scan_seg_ex1.ipynb |
Load DICOM and view scan + segmentation |
batch_visualize_scan_seg_ex1.ipynb |
Visualize scan + segmentation over a batch |
animate_viewer.ipynb |
Animate / scroll through the viewer |
copy_seg_to_scan.ipynb |
Copy a segmentation between scans |
02_data_import/
| Notebook | Description |
|---|---|
export_to_nifti_and_dicom.ipynb |
Import & export: scan/dose/structures → NIfTI, structures → DICOM RTSTRUCT |
download_data_from_xnat.ipynb |
Pull data from an XNAT server |
xnat2pycerr.ipynb |
XNAT → pyCERR planC |
xnat2pycerr_20251020.ipynb |
XNAT pull + SMIT rectal segmentation |
03_autosegmentation/
| Notebook | Description |
|---|---|
ai_seg_inference_ex1.ipynb |
Generic AI segmentation inference template |
ai_seg_adc_inference_ex1.ipynb |
AI segmentation on ADC (MR) images |
autosegment_patient_outline.ipynb |
Patient outline (body) segmentation |
autosegment_CT_HeadAndNeck_OARs.ipynb |
CT head & neck OARs (DeepLab) |
autosegment_CT_Heart_OARs.ipynb |
CT heart sub-structure OARs (DeepLab) |
autosegment_CT_Lung_OARs.ipynb |
CT lung OARs (DeepLab) |
autosegment_MR_Prostate_OARs.ipynb |
MR prostate OARs |
autosegment_CT_HN_SMIT.ipynb |
CT head & neck (SMIT) |
autosegment_CT_HeartSubStruct_SMIT.ipynb |
CT heart sub-structures (SMIT) |
autosegment_CT_Lung_OARs_SMIT.ipynb |
CT lung OARs (SMIT) |
autosegment_CT_Lung_GTV_SMIT.ipynb |
CT lung GTV (SMIT) |
autosegment_MR_Rectum_GTV_SMIT.ipynb |
MR rectum GTV (SMIT) |
MR_HN_Nodule_SMIT_demo.ipynb |
MR head & neck nodule (SMIT) demo |
autosegment_installer_CT_Heart_OARs.ipynb |
CT heart OARs via model_installer |
SBG_autosegment_CT_Heart_OARs.ipynb |
CT heart OARs on the Seven Bridges platform |
04_registration/
| Notebook | Description |
|---|---|
deformable_image_registration_using_ANTS.ipynb |
Deformable registration with ANTs |
auto_register_segment_MR_Pancreas_OARs.ipynb |
Register then segment MR pancreas OARs |
TG211_metrics.ipynb |
AAPM TG-211 registration-QA metrics |
05_preprocessing/
| Notebook | Description |
|---|---|
n4_bias_field_correct.ipynb |
N4 bias-field correction |
image_filters_lung_ct.ipynb |
IBSI-2 image filters / texture maps |
06_radiomics_extraction/
| Notebook | Description |
|---|---|
extractRadiomics.ipynb |
Extract radiomics from a single dataset |
batch_extract_radiomics_ex1.ipynb |
Batch radiomics extraction |
batch_extract_radiomics_lung_ct.ipynb |
Batch radiomics extraction (lung CT) |
analyzing_image_texture_using_pycerr.ipynb |
Texture-feature analysis |
07_radiomics_validation/
| Notebook | Description |
|---|---|
test_ibsi2_compatibility.ipynb |
IBSI-2 reference compliance check |
compare_pycerr-pyrad.ipynb |
Compare pyCERR vs pyradiomics |
08_radiomics_analysis/
| Notebook | Description |
|---|---|
Radiomics_network_based_clustering.ipynb |
Network-based K-means clustering |
EBIC_graphical_lasso.ipynb |
Graphical-lasso network model (EBIC) |
09_functional_imaging/
| Notebook | Description |
|---|---|
extract_semi-quantitaive_dce-mri_features.ipynb |
Semi-quantitative DCE-MRI features |
10_outcomes_modeling/
| Notebook | Description |
|---|---|
normal_tissue_complication_probability.ipynb |
NTCP modeling |
11_treatment_planning/
| Notebook | Description |
|---|---|
imrtp_optimization_example.ipynb |
IMRT beamlet fluence-map optimization (pyCERR port of CERR's runOptimExample) |
pyradplan_bridge_demo.ipynb |
pyRadPlan bridge: photon/proton dose calculation and fluence optimization from planC |
portpy_bridge_demo.ipynb |
PortPy bridge: export an influence matrix (pyRadPlan or native QIB) and optimize with clinical criteria |
bridges_realworld_dicom.ipynb |
End-to-end template on your own DICOM: pick the pyRadPlan or QIB engine, set constraints, optimize, compare DVH |
12_dose_analysis/
| Notebook | Description |
|---|---|
dvh_and_dose_metrics.ipynb |
Dose-volume histograms and dose metrics (Dx, Vx, mean/max, EUD) |