Skip to content
Guides5 min read

Medizinische Bilder mit Potato annotieren

Bewährte Vorgehensweisen für die Annotation medizinischer Bilder in Potato: DICOM-Anzeige, Labeln radiologischer Befunde, Erfassung unerwünschter Ereignisse und IRB-konformer selbst gehosteter Betrieb.

Potato Team

Du kannst die Bildannotation von Potato für medizinische Aufnahmen nutzen, etwa Röntgenbilder, Fotos von Hautveränderungen oder andere klinische Bilder, solange sie in einem Standardformat wie PNG oder JPG vorliegen. Dieser Leitfaden zeigt, wie du ein solches Projekt sauber aufsetzt.

Zur Mechanik hinter der Bildannotation siehe die Quelldokumentation.

Bevor du anfängst

Ein medizinisches Annotationsprojekt bringt Pflichten mit sich, die nichts mit Potato zu tun haben. Entferne zuerst sämtliche PHI aus den Bildern. Halte die Daten für Speicherung und Verarbeitung auf der gesicherten Infrastruktur deiner Einrichtung. Sichere den Zugang der Annotierenden über die Authentifizierung ab, die bei euch ohnehin läuft. Und hol Ethikkommission (IRB) und Compliance früh dazu, damit du die institutionellen Vorgaben erfüllst, statt sie später zu entdecken.

Eines sollte klar sein: Potato ist ein Annotationswerkzeug, keine Plattform für medizinische Bildgebung. Es bringt keine HIPAA-Konformität mit, keinen DICOM-Viewer und keine spezialisierten Bildgebungsfunktionen. Das gehört auf die Infrastrukturebene.

Grundaufbau für medizinische Bildannotation

So konfigurierst du Potato für gängige medizinische Bilder:

yaml
annotation_task_name: "Medical Image Annotation"
 
data_files:
  - path: data/medical_images.json
    type: json
 
annotation_schemes:
  - annotation_type: image_annotation
    tools: [bbox]
    name: lesions
    labels:
      - name: primary
        color: "#EF4444"
        description: "Primary finding"
 
      - name: secondary
        color: "#F97316"
        description: "Secondary finding"
 
      - name: artifact
        color: "#6B7280"
        description: "Artifact or noise"
 
  - annotation_type: radio
    name: image_quality
    description: "Overall image quality?"
    labels:
      - name: diagnostic
        label: "Diagnostic Quality"
      - name: limited
        label: "Limited Quality"
      - name: non_diagnostic
        label: "Non-Diagnostic"

Röntgenbilder und klinische Fotos annotieren

Für Röntgenaufnahmen oder klinische Fotos, die in Standardbildformate exportiert wurden:

yaml
annotation_task_name: "X-Ray Findings Annotation"
 
data_files:
  - path: data/xray_images.json
    type: json
 
annotation_schemes:
  - annotation_type: image_annotation
    tools: [polygon]
    name: abnormalities
    labels:
      - name: opacity
        color: "#EF4444"
        description: "Pulmonary opacity"
 
      - name: consolidation
        color: "#F97316"
        description: "Consolidation"
 
      - name: nodule
        color: "#EAB308"
        description: "Pulmonary nodule"
 
      - name: effusion
        color: "#3B82F6"
        description: "Pleural effusion"
 
  - annotation_type: multiselect
    name: findings
    description: "Select all findings present"
    labels:
      - name: normal
        label: "No acute findings"
      - name: pneumonia
        label: "Pneumonia"
      - name: atelectasis
        label: "Atelectasis"
      - name: pneumothorax
        label: "Pneumothorax"
      - name: fracture
        label: "Fracture"

Hautveränderungen annotieren

Für dermatologische Aufnahmen:

yaml
annotation_task_name: "Dermoscopy Annotation"
 
data_files:
  - path: data/skin_lesions.json
    type: json
 
annotation_schemes:
  - annotation_type: image_annotation
    tools: [polygon]
    name: lesion_boundary
    labels:
      - name: lesion
        color: "#EF4444"
        description: "Lesion boundary"
 
  - annotation_type: multiselect
    name: dermoscopic_features
    description: "Select all features present"
    labels:
      - name: pigment_network
        label: "Pigment Network"
      - name: dots_globules
        label: "Dots/Globules"
      - name: streaks
        label: "Streaks"
      - name: blue_white_veil
        label: "Blue-White Veil"
      - name: regression
        label: "Regression Structures"
      - name: vascular
        label: "Vascular Structures"
 
  - annotation_type: radio
    name: diagnosis
    description: "Most likely diagnosis?"
    labels:
      - name: benign_nevus
        label: "Benign Nevus"
      - name: seborrheic_keratosis
        label: "Seborrheic Keratosis"
      - name: basal_cell
        label: "Basal Cell Carcinoma"
      - name: melanoma
        label: "Melanoma"
      - name: other
        label: "Other"
 
  - annotation_type: likert
    name: confidence
    description: "Diagnostic confidence"
    size: 5
    min_label: "Low"
    max_label: "High"

Netzhautaufnahmen annotieren

Für Fundusfotos und andere Aufnahmen der Netzhaut:

yaml
annotation_task_name: "Fundus Image Annotation"
 
data_files:
  - path: data/fundus_images.json
    type: json
 
annotation_schemes:
  - annotation_type: image_annotation
    tools: [polygon]
    name: anatomical_structures
    labels:
      - name: optic_disc
        color: "#FDE68A"
        description: "Optic disc boundary"
 
      - name: fovea
        color: "#A78BFA"
        description: "Fovea region"
 
      - name: macula
        color: "#93C5FD"
        description: "Macular region"
 
  - annotation_type: image_annotation
    tools: [polygon]
    name: pathology
    labels:
      - name: hemorrhage
        color: "#EF4444"
        description: "Retinal hemorrhage"
 
      - name: exudate
        color: "#FCD34D"
        description: "Hard/soft exudate"
 
      - name: microaneurysm
        color: "#F97316"
        description: "Microaneurysm"
 
  - annotation_type: radio
    name: dr_grade
    description: "Diabetic retinopathy grade"
    labels:
      - name: none
        label: "No DR"
      - name: mild
        label: "Mild NPDR"
      - name: moderate
        label: "Moderate NPDR"
      - name: severe
        label: "Severe NPDR"
      - name: proliferative
        label: "PDR"

Datenformat

Leg deine Bilddaten als JSON an:

json
[
  {
    "id": "case_001",
    "image": "images/case_001.png",
    "metadata": {
      "body_part": "chest",
      "modality": "xray"
    }
  },
  {
    "id": "case_002",
    "image": "images/case_002.png",
    "metadata": {
      "body_part": "chest",
      "modality": "xray"
    }
  }
]

Hinweis: Die Bilder müssen in webtauglichen Standardformaten vorliegen (PNG, JPG und so weiter). DICOM-Dateien musst du vor dem Einsatz in Potato in ein Standardbildformat umwandeln.

Bewährte Vorgehensweisen

Setz Annotierende mit echter klinischer Ausbildung ein, denn diese Arbeit kann man nicht an beliebige Leute geben. Bereite die Bilder vorher auf: Wandle DICOM und andere Spezialformate in Standardformate um und prüfe, dass keine PHI mehr enthalten sind. Lass jedes Bild von mehreren Personen labeln, damit du die Übereinstimmung messen kannst. Schreib Richtlinien, die auf dein klinisches Fachgebiet zugeschnitten sind statt allgemein zu bleiben. Streu Goldstandard-Fälle ein, um die Genauigkeit im Blick zu behalten. Und halte die Compliance-Seite darüber auf dem Laufenden, wie mit den Daten umgegangen wird.

Grenzen

Potato macht allgemeine Bildannotation. Es liefert dir keine native DICOM-Unterstützung und keinen DICOM-Viewer, keine Whole-Slide-Viewer mit Zoom über mehrere Auflösungsstufen, keine eingebaute HIPAA-Konformität oder Audit-Protokollierung, keine Prüfung von Qualifikationsnachweisen und keine radiologischen Fensterungs-Werkzeuge. Wenn du das brauchst, bereite deine Daten vorab auf oder betreib Potato neben einer eigenen Infrastruktur für medizinische Bildgebung.


Mehr zur Bildannotation unter Bildannotation.