Como criar e gerenciar registros de anotações

Esta página explica como criar, visualizar, listar e excluir registros de anotações. Exemplos de registros de anotação incluem rótulos e tags para texto, imagem e áudio de saúde. Para uma visão geral dos armazenamentos e registros de anotações, consulte Anotações.

Como criar um registro de anotação

Antes de criar um registro de anotação, você precisa criar um armazenamento de anotações.

Os exemplos a seguir mostram como criar um registro de anotação. Para ver mais informações, consulte projects.locations.datasets.annotationStores.annotations.create.

curl

Para criar um registro de anotação, faça uma solicitação POST e forneça as seguintes informações:

  • O nome do conjunto de dados pai
  • O nome do armazenamento de anotações pai
  • A origem do registro de anotação
  • O tipo de registro de anotação
  • Um token de acesso

O exemplo a seguir mostra uma solicitação POST usando curl que cria um registro de anotação para uma imagem DICOM. A anotação usa uma caixa delimitadora para marcar as dimensões de uma parte da imagem e rotula a área limitada com o nome "bounding-box". Neste exemplo, presumimos que você já armazenau uma instância de DICOM em um armazenamento de DICOM. Esta instância DICOM é referenciada no campo name de 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 a solicitação for bem-sucedida, o servidor retornará a resposta no 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

Para criar um registro de anotação, faça uma solicitação POST e forneça as seguintes informações:

  • O nome do conjunto de dados pai
  • O nome do armazenamento de anotações pai
  • A origem do registro de anotação
  • O tipo de registro de anotação
  • Um token de acesso

O exemplo a seguir mostra uma solicitação POST usando o Windows PowerShell que cria um registro de anotação para uma imagem DICOM. A anotação usa uma caixa delimitadora para marcar as dimensões de uma parte da imagem e marca a área delimitada com o nome "caixa delimitadora". Este exemplo pressupõe que você já armazenou uma instância DICOM em um armazenamento DICOM. Esta instância DICOM é referenciada no campo name de 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 a solicitação for bem-sucedida, o servidor retornará a resposta no 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"
      }
    ]
  }
}

Como editar um registro de anotação

Os exemplos a seguir mostram como editar o registro de anotação em Como criar um registro de anotação para que ele tenha um rótulo de tipo de recurso. Para ver mais informações, consulte projects.locations.datasets.annotationStores.annotations.patch.

curl

Para editar um registro de anotação, faça uma solicitação PATCH e forneça as seguintes informações:

  • O nome do conjunto de dados pai
  • O nome do armazenamento de anotações pai
  • O ID do registro de anotação
  • Dados a serem atualizados
  • Uma máscara de atualização
  • Um token de acesso

O exemplo a seguir mostra uma solicitação PATCH usando curl em um registro de anotação para uma instância 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 a solicitação for bem-sucedida, o servidor retornará a resposta no 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

Para editar um registro de anotação, faça uma solicitação PATCH e forneça as seguintes informações:

  • O nome do conjunto de dados pai
  • O nome do armazenamento de anotações pai
  • O ID do registro de anotação
  • Dados a serem atualizados
  • Uma máscara de atualização
  • Um token de acesso

O exemplo a seguir mostra uma solicitação PATCH usando o Windows PowerShell em um registro de anotação para uma instância 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 a solicitação for bem-sucedida, o servidor retornará a resposta no 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"
  }
}

Como conseguir detalhes do registro de anotação

Os exemplos a seguir mostram como receber detalhes sobre um registro de anotação. Para ver mais informações, consulte projects.locations.datasets.annotationStores.annotations.get.

curl

Para ver detalhes sobre um registro de anotação, faça uma solicitação GET e forneça as seguintes informações:

  • O nome do conjunto de dados pai
  • O nome do armazenamento de anotações pai
  • O ID do registro de anotaçõe
  • Um token de acesso

O exemplo a seguir mostra uma solicitação GET usando curl para visualizar um registro de anotação para uma instância 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 a solicitação for bem-sucedida, o servidor retornará a resposta no 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 você tiver configurado algum campo no recurso Annotation, ele também aparecerá na resposta.

PowerShell

Para ver detalhes sobre um registro de anotação, faça uma solicitação GET e forneça as seguintes informações:

  • O nome do conjunto de dados pai
  • O nome do armazenamento de anotações pai
  • O ID do registro de anotaçõe
  • Um token de acesso

O exemplo a seguir mostra uma solicitação GET usando o Windows PowerShell para visualizar um registro de anotação para uma instância 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 a solicitação for bem-sucedida, o servidor retornará a resposta no 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 você tiver configurado algum campo no recurso Annotation, ele também aparecerá na resposta.

Como listar registros de anotação em um armazenamento de anotações

Os exemplos a seguir mostram como listar os registros de anotação em um armazenamento de anotações. Para ver mais informações, consulte projects.locations.datasets.annotationStores.annotations.list.

curl

Para listar os registros de anotações em um armazenamento de anotações, faça uma solicitação GET e forneça as seguintes informações:

  • O nome do conjunto de dados pai
  • O nome do armazenamento de anotações
  • Um token de acesso

O exemplo a seguir mostra uma solicitação GET usando curl em um armazenamento de anotações contendo registros de anotação para uma instância 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 a solicitação for bem-sucedida, o servidor retornará a resposta no 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 você tiver configurado algum campo no recurso Annotation, ele também aparecerá na resposta.

PowerShell

Para listar os registros de anotações em um armazenamento de anotações, faça uma solicitação GET e forneça as seguintes informações:

  • O nome do conjunto de dados pai
  • O nome do armazenamento de anotações
  • Um token de acesso

O exemplo a seguir mostra uma solicitação GET usando o Windows PowerShell em um armazenamento de anotações contendo registros de anotação para uma instância 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 a solicitação for bem-sucedida, o servidor retornará a resposta no 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 você tiver configurado algum campo no recurso Annotation, ele também aparecerá na resposta.

Como excluir um registro de anotação

Os exemplos a seguir mostram como excluir um registro de anotação. Para mais informações, consulte projects.locations.datasets.annotationStores.annotations.delete.

curl

Para excluir um registro de anotação, faça uma solicitação DELETE e forneça as seguintes informações:

  • O nome do conjunto de dados pai
  • O nome do armazenamento de anotações pai
  • O ID do registro de anotaçõe
  • Um token de acesso

O exemplo a seguir mostra uma solicitação DELETE usando 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 a solicitação for bem-sucedida, o servidor retornará um corpo de resposta vazio no formato JSON:

{}

PowerShell

Para excluir um registro de anotação, faça uma solicitação DELETE e forneça as seguintes informações:

  • O nome do conjunto de dados pai
  • O nome do armazenamento de anotações pai
  • O ID do registro de anotaçõe
  • Um token de acesso

O exemplo a seguir mostra uma solicitação DELETE usando o 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 a solicitação for bem-sucedida, o servidor retornará um corpo de resposta vazio no formato JSON:

{}