Annotationsdatensätze erstellen und verwalten

Auf dieser Seite wird erläutert, wie Sie Annotationsdaten erstellen, anzeigen, auflisten und löschen. Beispiele für Annotationsdatensätze sind Labels und Tags für Gesundheitstexte, Bilder und Audio. Eine Übersicht über Annotationsspeicher und Annotations-Datensätze finden Sie unter Annotationen.

Annotationsdatensatz erstellen

Vor dem Erstellen eines Annotationseintrags müssen Sie einen Annotationsspeicher erstellen.

Die folgenden Beispiele zeigen, wie ein Annotationsdatensatz erstellt wird. Weitere Informationen finden Sie unter projects.locations.datasets.annotationStores.annotations.create.

curl

Um einen Annotationseintrag zu erstellen, senden Sie eine POST-Anfrage und geben Sie die folgenden Informationen an:

  • Der Name des übergeordneten Datasets
  • Der Name des übergeordneten Annotationsspeichers
  • Die Quelle des Annotationseintrags
  • Der Typ des Annotationsdatensatzes
  • Ein Zugriffstoken

Das folgende Beispiel zeigt eine POST-Anfrage mit curl, die einen Annotationsdatensatz für ein DICOM-Image erstellt. Die Annotation verwendet einen Begrenzungsrahmen, um die Abmessungen eines Teils des Bildes zu kennzeichnen und den begrenzten Bereich mit dem Namen "bounding-box" zu versehen. In diesem Beispiel wird davon ausgegangen, dass Sie bereits eine DICOM-Instanz in einem DICOM-Speicher gespeichert haben. Diese DICOM-Instanz wird im Feld name von cloudHealthcareSource referenziert.

curl -X POST \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data "{
      'annotationSource': {
        'cloudHealthcareSource': {
          'name': 'projects/PROJECT_ID/locations/REGION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_UID'
        }
      },
      'imageAnnotation': {
        'boundingPolys': [
          {
            'vertices': [
              {
                'x': 100,
                'y': 100
              },
              {
                'x': 100,
                'y': 400
              },
              {
                'x': 400,
                'y': 100
              },
              {
                'x': 400,
                'y': 400
              }
            ],
            'label': 'bounding-box'
          }
        ]
      }
    }" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/datasets/DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations"

Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:

{
  "name": "projects/PROJECT_ID/locations/REGION/datasets/DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations/ANNOTATION_ID",
  "annotationSource": {
    "cloudHealthcareSource": {
      "name": "projects/PROJECT_ID/locations/REGION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_UID"
    }
  },
  "imageAnnotation": {
    "boundingPolys": [
      {
        "vertices": [
          {
            "x": 100,
            "y": 100
          },
          {
            "x": 100,
            "y": 400
          },
          {
            "x": 400,
            "y": 100
          },
          {
            "x": 400,
            "y": 400
          }
        ],
        "label": "bounding-box"
      }
    ]
  }
}

PowerShell

Um einen Annotationseintrag zu erstellen, senden Sie eine POST-Anfrage und geben Sie die folgenden Informationen an:

  • Der Name des übergeordneten Datasets
  • Der Name des übergeordneten Annotationsspeichers
  • Die Quelle des Annotationseintrags
  • Der Typ des Annotationsdatensatzes
  • Ein Zugriffstoken

Das folgende Beispiel zeigt eine POST-Anfrage mit Windows PowerShell, die einen Annotationsdatensatz für ein DICOM-Image erstellt. Die Annotation verwendet einen Begrenzungsrahmen, um die Abmessungen eines Teils des Bildes zu kennzeichnen und den begrenzten Bereich mit dem Namen "bounding-box" zu versehen. In diesem Beispiel wird davon ausgegangen, dass Sie bereits eine DICOM-Instanz in einem DICOM-Speicher gespeichert haben. Diese DICOM-Instanz wird im Feld name von cloudHealthcareSource referenziert.

$cred = gcloud auth application-default print-access-token
$headers = @{ Authorization = "Bearer $cred" }

Invoke-WebRequest `
  -Method Post `
  -Headers $headers `
  -ContentType: "application/json; charset=utf-8" `
  -Body "{
    'annotationSource': {
      'cloudHealthcareSource': {
        'name': 'projects/PROJECT_ID/locations/REGION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_UID'
      }
    },
    'imageAnnotation': {
      'boundingPolys': [
        {
          'vertices': [
            {
              'x': 100,
              'y': 100
            },
            {
              'x': 100,
              'y': 400
            },
            {
              'x': 400,
              'y': 100
            },
            {
              'x': 400,
              'y': 400
            }
          ],
          'label': 'bounding-box'
        }
      ]
    }
  }" `
  -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/datasets/DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations" | Select-Object -Expand Content

Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:

{
  "name": "projects/PROJECT_ID/locations/REGION/datasets/DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations/ANNOTATION_ID",
  "annotationSource": {
    "cloudHealthcareSource": {
      "name": "projects/PROJECT_ID/locations/REGION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_UID"
    }
  },
  "imageAnnotation": {
    "boundingPolys": [
      {
        "vertices": [
          {
            "x": 100,
            "y": 100
          },
          {
            "x": 100,
            "y": 400
          },
          {
            "x": 400,
            "y": 100
          },
          {
            "x": 400,
            "y": 400
          }
        ],
        "label": "bounding-box"
      }
    ]
  }
}

Annotationsdatensatz bearbeiten

Die folgenden Beispiele zeigen, wie der Annotationsdatensatz aus dem Abschnitt Annotationsdatensatz erstellen so bearbeitet wird, dass er ein Ressourcentyplabel aufweist. Weitere Informationen finden Sie unter projects.locations.datasets.annotationStores.annotations.patch.

curl

Zum Bearbeiten eines Annotationseintrags senden Sie eine PATCH-Anfrage und geben Sie die folgenden Informationen an:

  • Der Name des übergeordneten Datasets
  • Der Name des übergeordneten Annotationsspeichers
  • Die ID des Annotationseintrags
  • Zu aktualisierende Daten
  • Eine Aktualisierungsmaske
  • Ein Zugriffstoken

Das folgende Beispiel zeigt eine PATCH-Anfrage mit curl für einen Annotationseintrag für eine DICOM-Instanz.

curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data "{
      'resourceAnnotation': {
        'label': 'VALUE'
      }
    }" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/datasets/DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations/ANNOTATION_ID?updateMask=resourceAnnotation"

Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:

{
  "name": "projects/PROJECT_ID/locations/REGION/datasets/DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations/ANNOTATION_ID",
  "annotationSource": {
    "cloudHealthcareSource": {
      "name": "projects/PROJECT_ID/locations/REGION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_UID"
    }
  },
  "resourceAnnotation": {
    "label": "VALUE"
  }
}

PowerShell

Zum Bearbeiten eines Annotationseintrags senden Sie eine PATCH-Anfrage und geben Sie die folgenden Informationen an:

  • Der Name des übergeordneten Datasets
  • Der Name des übergeordneten Annotationsspeichers
  • Die ID des Annotationseintrags
  • Zu aktualisierende Daten
  • Eine Aktualisierungsmaske
  • Ein Zugriffstoken

Das folgende Beispiel zeigt eine PATCH-Anfrage mit Windows PowerShell für einen Annotationseintrag für eine DICOM-Instanz.

$cred = gcloud auth application-default print-access-token
$headers = @{ Authorization = "Bearer $cred" }

Invoke-WebRequest `
  -Method Patch `
  -Headers $headers `
  -ContentType: "application/json; charset=utf-8" `
  -Body "{
    'resourceAnnotation': {
      'label': 'VALUE'
    }
  }" `
  -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/datasets/DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations/ANNOTATION_ID?updateMask=resourceAnnotation" | Select-Object -Expand Content

Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:

{
  "name": "projects/PROJECT_ID/locations/REGION/datasets/DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations/ANNOTATION_ID",
  "annotationSource": {
    "cloudHealthcareSource": {
      "name": "projects/PROJECT_ID/locations/REGION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_UID"
    }
  },
  "resourceAnnotation": {
    "label": "VALUE"
  }
}

Details zum Annotationsdatensatz abrufen

Die folgenden Beispiele zeigen, wie Sie Details zu einem Annotationsdatensatz abrufen können. Weitere Informationen finden Sie unter projects.locations.datasets.annotationStores.annotations.get

curl

Wenn Sie Details zu einem Annotationseintrag abrufen möchten, senden Sie eine GET-Anfrage und geben Sie die folgenden Informationen an:

  • Der Name des übergeordneten Datasets
  • Der Name des übergeordneten Annotationsspeichers
  • Die ID des Annotationseintrags
  • Ein Zugriffstoken

Das folgende Beispiel zeigt eine GET-Anfrage mit curl zum Anzeigen eines Annotationsdatensatzes für eine DICOM-Instanz.

curl -X GET \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/datasets/DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations/ANNOTATION_ID"

Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:

{
  "name": "projects/PROJECT_ID/locations/REGION/datasets/DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations/ANNOTATION_ID",
  "annotationSource": {
    "cloudHealthcareSource": {
      "name": "projects/PROJECT_ID/locations/REGION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_UID"
    }
  }
}

Wenn Sie in der Ressource Annotation Felder konfiguriert haben, werden diese auch in der Antwort angezeigt.

PowerShell

Wenn Sie Details zu einem Annotationseintrag abrufen möchten, senden Sie eine GET-Anfrage und geben Sie die folgenden Informationen an:

  • Der Name des übergeordneten Datasets
  • Der Name des übergeordneten Annotationsspeichers
  • Die ID des Annotationseintrags
  • Ein Zugriffstoken

Das folgende Beispiel zeigt eine GET-Anfrage mit Windows PowerShell zum Aufrufen eines Annotationseintrags für eine DICOM-Instanz.

$cred = gcloud auth application-default print-access-token
$headers = @{ Authorization = "Bearer $cred" }

Invoke-WebRequest `
  -Method Get `
  -Headers $headers `
  -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/datasets/DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations/ANNOTATION_ID" | Select-Object -Expand Content

Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:

{
  "name": "projects/PROJECT_ID/locations/REGION/datasets/DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations/ANNOTATION_ID",
  "annotationSource": {
    "cloudHealthcareSource": {
      "name": "projects/PROJECT_ID/locations/REGION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_UID"
    }
  }
}

Wenn Sie in der Ressource Annotation Felder konfiguriert haben, werden diese auch in der Antwort angezeigt.

Annotationsdatensätzen in einem Annotationsspeicher auflisten

Die folgenden Beispiele zeigen, wie die Annotationsdatensätze in einem Annotationsspeicher aufgelistet werden. Weitere Informationen finden Sie unter projects.locations.datasets.annotationStores.annotations.list.

curl

Um die Annotationsdatensätze in einem Annotationsspeicher aufzulisten, senden Sie eine GET-Anfrage und geben Sie die folgenden Informationen an:

  • Der Name des übergeordneten Datasets
  • Der Name des Annotationsspeichers
  • Ein Zugriffstoken

Das folgende Beispiel zeigt eine GET-Anfrage mit curl für einen Annotationsspeicher, der Annotationsdatensätze für eine DICOM-Instanz enthält.

curl -X GET \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/datasets/DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations"

Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:

{
  "annotations": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations/ANNOTATION_ID",
      "annotationSource": {
        "cloudHealthcareSource": {
          "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_UID"
        }
      }
    }
  ]
}

Wenn Sie in der Ressource Annotation Felder konfiguriert haben, werden diese auch in der Antwort angezeigt.

PowerShell

Um die Annotationsdatensätze in einem Annotationsspeicher aufzulisten, senden Sie eine GET-Anfrage und geben Sie die folgenden Informationen an:

  • Der Name des übergeordneten Datasets
  • Der Name des Annotationsspeichers
  • Ein Zugriffstoken

Das folgende Beispiel zeigt eine GET-Anfrage mit Windows PowerShell für einen Annotationsspeicher, der Annotationsdatensätze für eine DICOM-Instanz enthält.

$cred = gcloud auth application-default print-access-token
$headers = @{ Authorization = "Bearer $cred" }

Invoke-WebRequest `
  -Method Get `
  -Headers $headers `
  -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/datasets/DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations" | Select-Object -Expand Content

Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:

{
  "annotations": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations/ANNOTATION_ID",
      "annotationSource": {
        "cloudHealthcareSource": {
          "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_UID"
        }
      }
    }
  ]
}

Wenn Sie in der Ressource Annotation Felder konfiguriert haben, werden diese auch in der Antwort angezeigt.

Annotationseintrag löschen

Die folgenden Beispiele zeigen, wie ein Annotationseintrag gelöscht wird. Weitere Informationen finden Sie unter projects.locations.datasets.annotationStores.annotations.delete.

curl

Um einen Annotationseintrag zu löschen, senden Sie eine DELETE-Anfrage und geben Sie die folgenden Informationen an:

  • Der Name des übergeordneten Datasets
  • Der Name des übergeordneten Annotationsspeichers
  • Die ID des Annotationseintrags
  • Ein Zugriffstoken

Das folgende Beispiel zeigt eine DELETE-Anfrage mit curl.

curl -X DELETE \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/datasets/DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations/ANNOTATION_ID"

Wenn die Anfrage erfolgreich ist, gibt der Server einen leeren Antworttext im JSON-Format zurück:

{}

PowerShell

Um einen Annotationseintrag zu löschen, senden Sie eine DELETE-Anfrage und geben Sie die folgenden Informationen an:

  • Der Name des übergeordneten Datasets
  • Der Name des übergeordneten Annotationsspeichers
  • Die ID des Annotationseintrags
  • Ein Zugriffstoken

Das folgende Beispiel zeigt eine DELETE-Anfrage mit Windows PowerShell.

$cred = gcloud auth application-default print-access-token
$headers = @{ Authorization = "Bearer $cred" }

Invoke-WebRequest `
  -Method Delete `
  -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/datasets/DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations/ANNOTATION_ID" | Select-Object -Expand Content

Wenn die Anfrage erfolgreich ist, gibt der Server einen leeren Antworttext im JSON-Format zurück:

{}