Creazione e gestione dei record di annotazione

In questa pagina viene spiegato come creare, visualizzare, elencare ed eliminare i record di annotazioni. Esempi di record di annotazioni includono etichette e tag per testo, immagini e audio relativi al settore sanitario. Per una panoramica degli archivi di annotazioni e dei record di annotazioni, consulta Annotazioni.

Creazione di un record di annotazione

Prima di poter creare un record di annotazioni, devi creare un archivio di annotazioni.

I seguenti esempi mostrano come creare un record di annotazione. Per ulteriori informazioni, consulta la pagina projects.locations.datasets.annotationStores.annotations.create.

curl

Per creare un record di annotazione, effettua una richiesta POST e fornisci le seguenti informazioni:

  • Il nome del set di dati padre
  • Il nome dell'archivio di annotazioni padre
  • L'origine del record di annotazione
  • Il tipo di record di annotazione
  • Un token di accesso

Il seguente esempio mostra una richiesta POST che utilizza curl che crea un record di annotazione per un'immagine DICOM. L'annotazione utilizza un riquadro di delimitazione per contrassegnare le dimensioni di una parte dell'immagine ed etichetta l'area con il nome "riquadro di delimitazione". Questo esempio presuppone che tu abbia già archiviato un'istanza DICOM in un archivio DICOM. A questa istanza DICOM viene fatto riferimento nel campo name di cloudHealthcareSource.

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"

Se la richiesta ha esito positivo, il server restituisce la risposta in formato JSON:

{
  "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

Per creare un record di annotazione, effettua una richiesta POST e fornisci le seguenti informazioni:

  • Il nome del set di dati padre
  • Il nome dell'archivio di annotazioni padre
  • L'origine del record di annotazione
  • Il tipo di record di annotazione
  • Un token di accesso

Il seguente esempio mostra una richiesta POST mediante Windows PowerShell che crea un record di annotazione per un'immagine DICOM. L'annotazione utilizza un riquadro di delimitazione per contrassegnare le dimensioni di una parte dell'immagine ed etichetta l'area con il nome "riquadro di delimitazione". Questo esempio presuppone che tu abbia già archiviato un'istanza DICOM in un archivio DICOM. A questa istanza DICOM viene fatto riferimento nel campo name di cloudHealthcareSource.

$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

Se la richiesta ha esito positivo, il server restituisce la risposta in formato JSON:

{
  "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"
      }
    ]
  }
}

Modifica di un record di annotazione

Gli esempi riportati di seguito mostrano come modificare il record di annotazione dalla creazione di un record di annotazione in modo che abbia un'etichetta del tipo di risorsa. Per saperne di più, visita projects.locations.datasets.annotationStores.annotations.patch.

curl

Per modificare un record di annotazione, effettua una richiesta PATCH e fornisci le seguenti informazioni:

  • Il nome del set di dati padre
  • Il nome dell'archivio di annotazioni padre
  • ID record annotazione
  • I dati da aggiornare
  • Una maschera di aggiornamento
  • Un token di accesso

Il seguente esempio mostra una richiesta PATCH utilizzando curl su un record di annotazione per un'istanza DICOM.

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"

Se la richiesta ha esito positivo, il server restituisce la risposta in formato JSON:

{
  "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

Per modificare un record di annotazione, effettua una richiesta PATCH e fornisci le seguenti informazioni:

  • Il nome del set di dati padre
  • Il nome dell'archivio di annotazioni padre
  • ID record annotazione
  • I dati da aggiornare
  • Una maschera di aggiornamento
  • Un token di accesso

Il seguente esempio mostra una richiesta PATCH utilizzando Windows PowerShell su un record di annotazione per un'istanza DICOM.

$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

Se la richiesta ha esito positivo, il server restituisce la risposta in formato JSON:

{
  "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"
  }
}

Recupero dei dettagli del record di annotazioni in corso...

Gli esempi riportati di seguito mostrano come ottenere i dettagli di un record di annotazione. Per ulteriori informazioni, visita la pagina projects.locations.datasets.annotationStores.annotations.get.

curl

Per ottenere dettagli su un record di annotazione, effettua una richiesta GET e fornisci le seguenti informazioni:

  • Il nome del set di dati padre
  • Il nome dell'archivio di annotazioni padre
  • ID record annotazione
  • Un token di accesso

Il seguente esempio mostra una richiesta GET utilizzando curl per visualizzare un record di annotazione per un'istanza DICOM.

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"

Se la richiesta ha esito positivo, il server restituisce la risposta in formato JSON:

{
  "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"
    }
  }
}

Se nella risorsa Annotation hai configurato dei campi, questi vengono visualizzati anche nella risposta.

PowerShell

Per ottenere dettagli su un record di annotazione, effettua una richiesta GET e fornisci le seguenti informazioni:

  • Il nome del set di dati padre
  • Il nome dell'archivio di annotazioni padre
  • ID record annotazione
  • Un token di accesso

Il seguente esempio mostra una richiesta GET mediante Windows PowerShell per visualizzare un record di annotazione per un'istanza DICOM.

$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

Se la richiesta ha esito positivo, il server restituisce la risposta in formato JSON:

{
  "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"
    }
  }
}

Se nella risorsa Annotation hai configurato dei campi, questi vengono visualizzati anche nella risposta.

Elenco dei record di annotazioni in un archivio di annotazioni

I seguenti esempi mostrano come elencare i record di annotazioni in un archivio di annotazioni. Per saperne di più, visita projects.locations.datasets.annotationStores.annotations.list.

curl

Per elencare i record di annotazioni in un archivio di annotazioni, effettua una richiesta GET e fornisci le seguenti informazioni:

  • Il nome del set di dati padre
  • Il nome dell'archivio di annotazioni
  • Un token di accesso

Il seguente esempio mostra una richiesta GET utilizzando curl su un archivio di annotazioni contenente record di annotazioni per un'istanza DICOM.

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"

Se la richiesta ha esito positivo, il server restituisce la risposta in formato JSON:

{
  "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"
        }
      }
    }
  ]
}

Se nella risorsa Annotation hai configurato dei campi, questi vengono visualizzati anche nella risposta.

PowerShell

Per elencare i record di annotazioni in un archivio di annotazioni, effettua una richiesta GET e fornisci le seguenti informazioni:

  • Il nome del set di dati padre
  • Il nome dell'archivio di annotazioni
  • Un token di accesso

Il seguente esempio mostra una richiesta GET utilizzando Windows PowerShell su un archivio di annotazioni contenente record di annotazioni per un'istanza DICOM.

$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

Se la richiesta ha esito positivo, il server restituisce la risposta in formato JSON:

{
  "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"
        }
      }
    }
  ]
}

Se nella risorsa Annotation hai configurato dei campi, questi vengono visualizzati anche nella risposta.

Eliminazione di un record di annotazione

I seguenti esempi mostrano come eliminare un record di annotazione. Per ulteriori informazioni, consulta projects.locations.datasets.annotationStores.annotations.delete.

curl

Per eliminare un record di annotazione, effettua una richiesta DELETE e fornisci le seguenti informazioni:

  • Il nome del set di dati padre
  • Il nome dell'archivio di annotazioni padre
  • ID record annotazione
  • Un token di accesso

Il seguente esempio mostra una richiesta DELETE che utilizza 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"

Se la richiesta ha esito positivo, il server restituisce un corpo della risposta vuoto in formato JSON:

{}

PowerShell

Per eliminare un record di annotazione, effettua una richiesta DELETE e fornisci le seguenti informazioni:

  • Il nome del set di dati padre
  • Il nome dell'archivio di annotazioni padre
  • ID record annotazione
  • Un token di accesso

L'esempio seguente mostra una richiesta DELETE mediante 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

Se la richiesta ha esito positivo, il server restituisce un corpo della risposta vuoto in formato JSON:

{}