{
  "corpus": "kindly-cholect50-derived-corpus",
  "version": "0.1.0",
  "title": "Kindly CholecT50-derived clinical-episode corpus (non-commercial research)",
  "description": "The first at-scale, downloadable, schema-conformant episode corpus reformatting CAMMA's PUBLISHED CholecT50 annotations (the form-free CholecTriplet2022 challenge-validation label JSONs) into the open Kindly four-layer clinical-episode schema. Annotations only \u2014 NO video/imagery redistributed. Non-commercial research use only.",
  "schema": "kindly-episode.schema-v0.1.json",
  "schema_version": "0.1.1",
  "license": "CC BY-NC-SA 4.0",
  "license_url": "https://creativecommons.org/licenses/by-nc-sa/4.0/",
  "license_note": "This corpus is a derivative of CAMMA's CholecT50 / CholecTriplet2022 challenge-validation annotations and is therefore released under the SAME license: Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0). NON-COMMERCIAL research use only; ShareAlike; attribution required (cite the works listed in source.datasets).",
  "generated_by": "ate episode convert --from cholect50 (foodforthought-cli)",
  "generated_at": "2026-07-16",
  "source": {
    "datasets": [
      {
        "name": "CholecT50",
        "full_name": "CholecT50 surgical action triplet dataset",
        "provider": "CAMMA, University of Strasbourg / IHU Strasbourg",
        "url": "https://github.com/CAMMA-public/cholect50",
        "license": "CC BY-NC-SA 4.0",
        "license_url": "https://creativecommons.org/licenses/by-nc-sa/4.0/",
        "used_for": "L2 action triplets (<instrument, verb, target>, 100 triplet classes), L1 phase labels (7 phases), and L3 instrument presence (6 instruments) \u2014 all read from the per-video label JSON.",
        "citation": "C.I. Nwoye, T. Yu, C. Gonzalez, B. Seeliger, P. Mascagni, D. Mutter, J. Marescaux, N. Padoy. Rendezvous: Attention Mechanisms for the Recognition of Surgical Action Triplets in Endoscopic Videos. Medical Image Analysis 78:102433, 2022.",
        "doi": "10.1016/j.media.2022.102433",
        "arxiv": "2109.03223"
      },
      {
        "name": "CholecTriplet2022 challenge validation set",
        "full_name": "CholecT50 Challenge Validation set (CholecTriplet2022)",
        "provider": "CAMMA, University of Strasbourg",
        "url": "https://s3.unistra.fr/camma_public/datasets/cholect50/CholecT50-Challenge-Validation.zip",
        "license": "CC BY-NC-SA 4.0",
        "license_url": "https://creativecommons.org/licenses/by-nc-sa/4.0/",
        "used_for": "the actual, form-free, publicly-downloadable per-video label JSON files (VID68/VID70/VID73/VID74/VID75) reformatted by this corpus.",
        "citation": "C.I. Nwoye, T. Yu, S. Sharma, A. Murali, D. Alapatt, A. Vardazaryan, et al., D. Mutter, N. Padoy. CholecTriplet2022: Show me a tool and tell me the triplet: an endoscopic vision challenge for surgical action triplet detection. arXiv:2204.14746, 2023.",
        "arxiv": "2204.14746"
      },
      {
        "name": "Cholec80",
        "full_name": "Cholec80 laparoscopic cholecystectomy dataset (EndoNet)",
        "provider": "CAMMA, University of Strasbourg",
        "url": "https://camma.unistra.fr/datasets/",
        "license": "CC BY-NC-SA 4.0",
        "license_url": "https://creativecommons.org/licenses/by-nc-sa/4.0/",
        "used_for": "the underlying cholecystectomy videos and the 7-phase workflow taxonomy that CholecT50's phase labels follow.",
        "citation": "A.P. Twinanda, S. Shehata, D. Mutter, J. Marescaux, M. de Mathelin, N. Padoy. EndoNet: A Deep Architecture for Recognition Tasks on Laparoscopic Videos. IEEE Transactions on Medical Imaging 36(1):86-97, 2017.",
        "doi": "10.1109/TMI.2016.2593957"
      }
    ],
    "download_url": "https://s3.unistra.fr/camma_public/datasets/cholect50/CholecT50-Challenge-Validation.zip",
    "kindly_role": "Kindly Robotics did NOT capture, own, or license this data and has NO affiliation with CAMMA / the dataset authors. This corpus is a non-commercial RESEARCH reformatting of CAMMA's PUBLISHED CholecT50 annotations into the open Kindly episode schema, produced by running `ate episode convert --from cholect50` on the public challenge-validation labels. It is NOT a Kindly-owned, proprietary, or commercial asset and NOT proprietary clinical capture.",
    "content_reproduced": "Only the derived schema label structure (phase segments, action-triplet intervals, instrument-presence transitions) computed from the public per-video label JSON. NO CholecT50 video frames / imagery are downloaded, extracted, or redistributed.",
    "timing_provenance": "Timestamps and durations are DERIVED FROM THE REAL per-frame annotation frame indices at the dataset's native 1 fps \u2014 they are NOT representative placements. The challenge-validation release samples frames sparsely, so segment bounds reflect the actual annotated frame positions across the original video timeline.",
    "layers_from_real_labels": "L1 (CholecT50 phase labels), L2 (CholecT50 action triplets), L3 (CholecT50 instrument presence). L4 is intentionally EMPTY \u2014 the public corpus does not annotate workflow-context (interruptions/rework/deviations/handoffs), the layer Kindly's schema adds and never fabricates.",
    "phase_normalization": "Phase values are the CholecT50 published phase labels, snake_cased. The dataset's single typo 'carlot-triangle-dissection' is normalised to the canonical anatomical 'calot_triangle_dissection' (Calot's triangle); phase 6 is kept as the dataset labels it, 'gallbladder_extraction' (equivalent to Cholec80's 'gallbladder_retraction'). The exact source label string is preserved in every L1 segment's note."
  },
  "episode_count": 5,
  "episodes": [
    {
      "episode_id": "kr-cholect50-challenge-vid68",
      "file": "episodes/kr-cholect50-challenge-vid68.json",
      "source_video": "VID68",
      "workflow_family": "OR.laparoscopic_cholecystectomy",
      "duration_s": 1952.0,
      "fps": 1.0,
      "counts": {
        "L1": 7,
        "L2": 179,
        "L3": 67,
        "L4": 0
      },
      "phases": [
        "preparation",
        "calot_triangle_dissection",
        "clipping_and_cutting",
        "gallbladder_dissection",
        "gallbladder_packaging",
        "cleaning_and_coagulation",
        "gallbladder_extraction"
      ],
      "validated": true
    },
    {
      "episode_id": "kr-cholect50-challenge-vid70",
      "file": "episodes/kr-cholect50-challenge-vid70.json",
      "source_video": "VID70",
      "workflow_family": "OR.laparoscopic_cholecystectomy",
      "duration_s": 1174.0,
      "fps": 1.0,
      "counts": {
        "L1": 7,
        "L2": 96,
        "L3": 27,
        "L4": 0
      },
      "phases": [
        "preparation",
        "calot_triangle_dissection",
        "clipping_and_cutting",
        "gallbladder_dissection",
        "cleaning_and_coagulation",
        "gallbladder_packaging",
        "gallbladder_extraction"
      ],
      "validated": true
    },
    {
      "episode_id": "kr-cholect50-challenge-vid73",
      "file": "episodes/kr-cholect50-challenge-vid73.json",
      "source_video": "VID73",
      "workflow_family": "OR.laparoscopic_cholecystectomy",
      "duration_s": 1355.0,
      "fps": 1.0,
      "counts": {
        "L1": 7,
        "L2": 94,
        "L3": 49,
        "L4": 0
      },
      "phases": [
        "preparation",
        "calot_triangle_dissection",
        "clipping_and_cutting",
        "gallbladder_dissection",
        "gallbladder_packaging",
        "cleaning_and_coagulation",
        "gallbladder_extraction"
      ],
      "validated": true
    },
    {
      "episode_id": "kr-cholect50-challenge-vid74",
      "file": "episodes/kr-cholect50-challenge-vid74.json",
      "source_video": "VID74",
      "workflow_family": "OR.laparoscopic_cholecystectomy",
      "duration_s": 1633.0,
      "fps": 1.0,
      "counts": {
        "L1": 7,
        "L2": 213,
        "L3": 71,
        "L4": 0
      },
      "phases": [
        "preparation",
        "calot_triangle_dissection",
        "clipping_and_cutting",
        "gallbladder_dissection",
        "cleaning_and_coagulation",
        "gallbladder_packaging",
        "gallbladder_extraction"
      ],
      "validated": true
    },
    {
      "episode_id": "kr-cholect50-challenge-vid75",
      "file": "episodes/kr-cholect50-challenge-vid75.json",
      "source_video": "VID75",
      "workflow_family": "OR.laparoscopic_cholecystectomy",
      "duration_s": 1918.0,
      "fps": 1.0,
      "counts": {
        "L1": 6,
        "L2": 103,
        "L3": 41,
        "L4": 0
      },
      "phases": [
        "preparation",
        "calot_triangle_dissection",
        "clipping_and_cutting",
        "gallbladder_dissection",
        "gallbladder_packaging",
        "gallbladder_extraction"
      ],
      "validated": true
    }
  ]
}
