---
updatedAt: 2025-09-22T20:32:23.000Z
agentTools:
  projectIndex: https://docs.v7labs.com/llms.txt
---

# Upload Classes for the Total Segmentator model

```python Python
import argparse

from darwin.client import Client
from darwin.datatypes import AnnotationClass

CLASSES = [
    "spleen",
    "kidney_right",
    "kidney_left",
    "gallbladder",
    "liver",
    "stomach",
    "pancreas",
    "adrenal_gland_right",
    "adrenal_gland_left",
    "lung_upper_lobe_left",
    "lung_lower_lobe_left",
    "lung_upper_lobe_right",
    "lung_middle_lobe_right",
    "lung_lower_lobe_right",
    "esophagus",
    "trachea",
    "thyroid_gland",
    "small_bowel",
    "duodenum",
    "colon",
    "urinary_bladder",
    "prostate",
    "kidney_cyst_left",
    "kidney_cyst_right",
    "sacrum",
    "vertebrae_S1",
    "vertebrae_L5",
    "vertebrae_L4",
    "vertebrae_L3",
    "vertebrae_L2",
    "vertebrae_L1",
    "vertebrae_T12",
    "vertebrae_T11",
    "vertebrae_T10",
    "vertebrae_T9",
    "vertebrae_T8",
    "vertebrae_T7",
    "vertebrae_T6",
    "vertebrae_T5",
    "vertebrae_T4",
    "vertebrae_T3",
    "vertebrae_T2",
    "vertebrae_T1",
    "vertebrae_C7",
    "vertebrae_C6",
    "vertebrae_C5",
    "vertebrae_C4",
    "vertebrae_C3",
    "vertebrae_C2",
    "vertebrae_C1",
    "heart",
    "aorta",
    "pulmonary_vein",
    "brachiocephalic_trunk",
    "subclavian_artery_right",
    "subclavian_artery_left",
    "common_carotid_artery_right",
    "common_carotid_artery_left",
    "brachiocephalic_vein_left",
    "brachiocephalic_vein_right",
    "atrial_appendage_left",
    "superior_vena_cava",
    "inferior_vena_cava",
    "portal_vein_and_splenic_vein",
    "iliac_artery_left",
    "iliac_artery_right",
    "iliac_vena_left",
    "iliac_vena_right",
    "humerus_left",
    "humerus_right",
    "scapula_left",
    "scapula_right",
    "clavicula_left",
    "clavicula_right",
    "femur_left",
    "femur_right",
    "hip_left",
    "hip_right",
    "spinal_cord",
    "gluteus_maximus_left",
    "gluteus_maximus_right",
    "gluteus_medius_left",
    "gluteus_medius_right",
    "gluteus_minimus_left",
    "gluteus_minimus_right",
    "autochthon_left",
    "autochthon_right",
    "iliopsoas_left",
    "iliopsoas_right",
    "brain",
    "skull",
    "rib_left_1",
    "rib_left_2",
    "rib_left_3",
    "rib_left_4",
    "rib_left_5",
    "rib_left_6",
    "rib_left_7",
    "rib_left_8",
    "rib_left_9",
    "rib_left_10",
    "rib_left_11",
    "rib_left_12",
    "rib_right_1",
    "rib_right_2",
    "rib_right_3",
    "rib_right_4",
    "rib_right_5",
    "rib_right_6",
    "rib_right_7",
    "rib_right_8",
    "rib_right_9",
    "rib_right_10",
    "rib_right_11",
    "rib_right_12",
    "sternum",
    "costal_cartilages",
]


def add_classes(team_name, dataset_name, api_key, classes, class_type="mask"):
    client = Client.from_api_key(api_key)
    dataset_id = team_name + "/" + dataset_name
    dataset = client.get_remote_dataset(dataset_id)
    existing_team_classes = [
        item["name"]
        for item in client.fetch_remote_classes(team_name)
        if class_type in item["annotation_types"]
    ]

    for cat in classes:
        if cat not in existing_team_classes:
            dataset.create_annotation_class(cat, class_type)
        else:
            annotation_class = AnnotationClass(cat, class_type)
            dataset.add_annotation_class(annotation_class)


if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument(
        "--team", required=True, default=None, help="Team slug on Darwin."
    )
    parser.add_argument(
        "--dataset", required=True, default=None, help="Dataset slug on Darwin."
    )
    parser.add_argument(
        "--api_key",
        required=True,
        default=None,
        help="API key for your team on Darwin.",
    )
    args = parser.parse_args()

    add_classes(args.team, args.dataset, args.api_key, CLASSES)

```

```json Response Example
{"success":true}
```

# Define mask classes



Define the list of classes needed for the Total Segmentator model. The classes are all masks

# Add classes to dataset



Using the team name and dataset name, create the annotation classes in the team if required, then add them to the dataset