创建和管理注释记录

本页面介绍了如何创建、查看和删除注释记录。如需注释存储区和注释记录的概览,请参阅注释

创建注释记录

在创建注释记录之前,您需要创建注释存储区

以下示例展示了如何创建注释记录。如需了解详情,请参阅 projects.locations.datasets.annotationStores.annotations.create

curl

如需创建注释记录,请发出 POST 请求并提供以下信息:

  • 父数据集的名称
  • 父注释存储区的名称
  • 注释记录的来源
  • 注释记录的类型
  • 访问令牌

以下示例显示了一个使用 curl 创建 DICOM 图像注释记录的 POST 请求。注释使用边界框来标记图像的部分尺寸,并使用名称“边界框”标记边界区域。此示例假定您已在 DICOM 存储区中存储了 DICOM 实例。此 DICOM 实例在 cloudHealthcareSourcename 字段中被引用。

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"

如果请求成功,服务器将以 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

如需创建注释记录,请发出 POST 请求并提供以下信息:

  • 父数据集的名称
  • 父注释存储区的名称
  • 注释记录的来源
  • 注释记录的类型
  • 访问令牌

以下示例展示了使用 Windows PowerShell 为 DICOM 图像创建注释记录的 POST 请求。注释使用边界框来标记图像的部分尺寸,并使用名称“边界框”标记边界区域。此示例假定您已在 DICOM 存储区中存储了 DICOM 实例。此 DICOM 实例在 cloudHealthcareSourcename 字段中被引用。

$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

如果请求成功,服务器将以 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"
      }
    ]
  }
}

修改注释记录

以下示例展示了如何通过创建注释记录修改注释记录,使其具有资源类型标签。如需了解详情,请参阅 projects.locations.datasets.annotationStores.annotations.patch

curl

如需修改注释记录,请发出 PATCH 请求并提供以下信息:

  • 父数据集的名称
  • 父注释存储区的名称
  • 注释记录 ID
  • 要更新的数据
  • 更新掩码
  • 访问令牌

以下示例展示了 DICOM 实例的注释记录中使用 curlPATCH 请求。

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"

如果请求成功,服务器将以 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

如需修改注释记录,请发出 PATCH 请求并提供以下信息:

  • 父数据集的名称
  • 父注释存储区的名称
  • 注释记录 ID
  • 要更新的数据
  • 更新掩码
  • 访问令牌

以下示例展示了 DICOM 实例的注释记录中使用 Windows PowerShell 的 PATCH 请求。

$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

如果请求成功,服务器将以 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"
  }
}

获取注释记录详细信息

以下示例展示了如何获取有关注释记录的详细信息。如需了解详情,请参阅 projects.locations.datasets.annotationStores.annotations.get

curl

如要获取有关注释记录的详细信息,请发出 GET 请求并提供以下信息:

  • 父数据集的名称
  • 父注释存储区的名称
  • 注释记录 ID
  • 访问令牌

以下示例展示了使用 curl 查看 DICOM 实例的注释记录的 GET 请求。

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"

如果请求成功,服务器将以 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"
    }
  }
}

如果您在 Annotation 资源中配置了任何字段,它们也会出现在响应中。

PowerShell

如要获取有关注释记录的详细信息,请发出 GET 请求并提供以下信息:

  • 父数据集的名称
  • 父注释存储区的名称
  • 注释记录 ID
  • 访问令牌

以下示例展示了使用 Windows PowerShell 查看 DICOM 实例的注释记录的 GET 请求。

$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

如果请求成功,服务器将以 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"
    }
  }
}

如果您在 Annotation 资源中配置了任何字段,它们也会出现在响应中。

在注释存储区中列出注释记录

以下示例展示了如何在注释存储区中列出注释记录。如需了解详情,请参阅 projects.locations.datasets.annotationStores.annotations.list

curl

如要列出注释存储区中的注释记录,请发出 GET 请求并提供以下信息:

  • 父数据集的名称
  • 注释存储区的名称
  • 访问令牌

以下示例展示了包含 DICOM 实例的注释记录的注释存储区中使用 curlGET 请求。

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"

如果请求成功,服务器将以 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"
        }
      }
    }
  ]
}

如果您在 Annotation 资源中配置了任何字段,它们也会出现在响应中。

PowerShell

如要列出注释存储区中的注释记录,请发出 GET 请求并提供以下信息:

  • 父数据集的名称
  • 注释存储区的名称
  • 访问令牌

以下示例显示了在包含 DICOM 实例的注释记录的注释存储区中使用 Windows PowerShell 的 GET 请求。

$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

如果请求成功,服务器将以 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"
        }
      }
    }
  ]
}

如果您在 Annotation 资源中配置了任何字段,它们也会出现在响应中。

删除注释记录

以下示例展示了如何删除注释记录。如需了解详情,请参阅 projects.locations.datasets.annotationStores.annotations.delete

curl

如需删除注释记录,请发出 DELETE 请求并提供以下信息:

  • 父数据集的名称
  • 父注释存储区的名称
  • 注释记录 ID
  • 访问令牌

以下示例展示了使用 curlDELETE 请求。

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"

如果请求成功,服务器将以 JSON 格式返回空响应正文:

{}

PowerShell

如需删除注释记录,请发出 DELETE 请求并提供以下信息:

  • 父数据集的名称
  • 父注释存储区的名称
  • 注释记录 ID
  • 访问令牌

以下示例展示了使用 Windows PowerShell 的 DELETE 请求。

$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

如果请求成功,服务器将以 JSON 格式返回空响应正文:

{}