Crear y administrar registros de anotaciones

En esta página, se explica cómo crear, ver y borrar registros de anotaciones. Para obtener una descripción general de los almacenes de anotaciones y de los registros de anotaciones, consulta Anotaciones.

Crea un registro de anotaciones

Antes de crear un registro de anotación, debes crear un almacén de anotaciones.

En los siguientes ejemplos, se muestra cómo crear un registro de anotación. Para obtener más información, consulte: projects.locations.datasets.annotationStores.annotations.create.

curl

Para crear un registro de anotaciones, realiza una solicitud POST y proporciona la siguiente información:

  • El nombre del conjunto de datos superior
  • El nombre del almacén de anotaciones superior
  • La fuente del registro de anotaciones
  • El tipo de registro de anotaciones
  • Un token de acceso

En el siguiente ejemplo, se muestra una solicitud POST con curl que crea un registro de anotación para una imagen de DICOM. La anotación usa un cuadro de límite para marcar las dimensiones de una parte de la imagen y etiqueta el área limitada con el nombre “cuadro de límite”. En esta muestra, se supone que ya almacenaste una instancia de DICOM en un almacén DICOM. Esta instancia de DICOM se hace referencia al campo name de cloudHealthcareSource.

curl -X POST \
    -H "Authorization: Bearer $(gcloud auth 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"

Si la solicitud tiene éxito, se mostrará la respuesta en formato JSON en el servidor:

{
  "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 crear un registro de anotaciones, realiza una solicitud POST y proporciona la siguiente información:

  • El nombre del conjunto de datos superior
  • El nombre del almacén de anotaciones superior
  • La fuente del registro de anotaciones
  • El tipo de registro de anotaciones
  • Un token de acceso

En el siguiente ejemplo, se muestra una solicitud POST con Windows PowerShell que crea un registro de anotación para una imagen de DICOM. La anotación usa un cuadro de límite para marcar las dimensiones de una parte de la imagen y etiqueta el área limitada con el nombre “cuadro de límite”. En esta muestra, se supone que ya almacenaste una instancia de DICOM en un almacén DICOM. Esta instancia de DICOM se hace referencia al campo name de cloudHealthcareSource.

$cred = gcloud auth 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

Si la solicitud tiene éxito, se mostrará la respuesta en formato JSON en el servidor:

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

Edita un registro de anotación

En los siguientes ejemplos, se muestra cómo editar el registro de anotaciones de Crea un registro de anotación para que tenga una etiqueta de tipo de recurso. Para obtener más información, consulta projects.locations.datasets.annotationStores.annotations.patch.

curl

Para editar un registro de anotación, realiza una solicitud PATCH y proporciona la siguiente información:

  • El nombre del conjunto de datos superior
  • El nombre del almacén de anotaciones superior
  • El ID del registro de anotaciones
  • Los datos que se actualizarán
  • Una máscara de actualización
  • Un token de acceso

En el siguiente ejemplo, se muestra una solicitud PATCH mediante curl en un registro de anotación para una instancia DICOM.

curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth 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"

Si la solicitud tiene éxito, se mostrará la respuesta en formato JSON en el servidor:

{
  "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 un registro de anotación, realiza una solicitud PATCH y proporciona la siguiente información:

  • El nombre del conjunto de datos superior
  • El nombre del almacén de anotaciones superior
  • El ID del registro de anotaciones
  • Los datos que se actualizarán
  • Una máscara de actualización
  • Un token de acceso

En el siguiente ejemplo, se muestra una solicitud PATCH con Windows PowerShell en un registro de anotación para una instancia de DICOM.

$cred = gcloud auth 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

Si la solicitud tiene éxito, se mostrará la respuesta en formato JSON en el servidor:

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

Obtén detalles del registro de anotaciones

En los siguientes ejemplos, se muestra cómo obtener detalles sobre un registro de anotación. Para obtener más información, consulte:projects.locations.datasets.annotationStores.annotations.get.

curl

Para obtener detalles sobre un registro de anotación, realiza una solicitud GET y proporciona la siguiente información:

  • El nombre del conjunto de datos superior
  • El nombre del almacén de anotaciones superior
  • El ID del registro de anotaciones
  • Un token de acceso

En el siguiente ejemplo, se muestra una solicitud GET que usa curl a fin de ver un registro de anotación para una instancia DICOM.

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

Si la solicitud tiene éxito, se mostrará la respuesta en formato JSON en el servidor:

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

Si configuraste algún campo en el recurso Annotation, también aparecerá en la respuesta.

PowerShell

Para obtener detalles sobre un registro de anotación, realiza una solicitud GET y proporciona la siguiente información:

  • El nombre del conjunto de datos superior
  • El nombre del almacén de anotaciones superior
  • El ID del registro de anotaciones
  • Un token de acceso

En el siguiente ejemplo, se muestra una solicitud GET mediante Windows PowerShell a fin de ver un registro de anotación para una instancia de DICOM.

$cred = gcloud auth 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

Si la solicitud tiene éxito, se mostrará la respuesta en formato JSON en el servidor:

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

Si configuraste algún campo en el recurso Annotation, también aparecerá en la respuesta.

Enumera registros de anotaciones en un almacén de anotaciones

En los siguientes ejemplos, se muestra cómo enumerar los registros de anotaciones en un almacén de anotaciones. Para obtener más información, consulta projects.locations.datasets.annotationStores.annotations.list.

curl

Para enumerar los registros de anotaciones en un almacén de anotaciones, realiza una solicitud GET y proporciona la siguiente información:

  • El nombre del conjunto de datos superior
  • El nombre del almacén de anotaciones
  • Un token de acceso

En el siguiente ejemplo, se muestra una solicitud GET mediante curl en un almacén de anotaciones que contiene registros de anotaciones para una instancia de DICOM.

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

Si la solicitud tiene éxito, se mostrará la respuesta en formato JSON en el servidor:

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

Si configuraste algún campo en el recurso Annotation, también aparecerá en la respuesta.

PowerShell

Para enumerar los registros de anotaciones en un almacén de anotaciones, realiza una solicitud GET y proporciona la siguiente información:

  • El nombre del conjunto de datos superior
  • El nombre del almacén de anotaciones
  • Un token de acceso

En el siguiente ejemplo, se muestra una solicitud GET mediante Windows PowerShell en un almacén de anotaciones que contiene registros de anotaciones para una instancia de DICOM.

$cred = gcloud auth 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

Si la solicitud tiene éxito, se mostrará la respuesta en formato JSON en el servidor:

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

Si configuraste algún campo en el recurso Annotation, también aparecerá en la respuesta.

Borra un registro de anotaciones

En los siguientes ejemplos, se muestra cómo borrar un registro de anotaciones. Para obtener más información, consulta projects.locations.datasets.annotationStores.annotations.delete:

curl

Para borrar un registro de anotaciones, realiza una solicitud DELETE y proporciona la siguiente información:

  • El nombre del conjunto de datos superior
  • El nombre del almacén de anotaciones superior
  • El ID del registro de anotaciones
  • Un token de acceso

En el siguiente ejemplo, se muestra una solicitud DELETE mediante curl.

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

Si la solicitud es exitosa, el servidor muestra el cuerpo de respuesta vacío en formato JSON:

{}

PowerShell

Para borrar un registro de anotaciones, realiza una solicitud DELETE y proporciona la siguiente información:

  • El nombre del conjunto de datos superior
  • El nombre del almacén de anotaciones superior
  • El ID del registro de anotaciones
  • Un token de acceso

En el siguiente ejemplo, se muestra una solicitud DELETE mediante Windows PowerShell.

$cred = gcloud auth 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

Si la solicitud es exitosa, el servidor muestra el cuerpo de respuesta vacío en formato JSON:

{}