

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 从中获取 DICOM 实例帧 HealthImaging
<a name="dicomweb-retrieve-instance-frames"></a>

使用该`GetDICOMInstanceFrames`操作通过指定与资源关联的系列 UID、研究 UID、实例和帧号，从 HealthImaging [数据存储](getting-started-concepts.md#concept-data-store)中的 DICOM 实例 UIDs中检索单个或批量图像帧（`multipart`请求）。您可以通过提供[图像集](getting-started-concepts.md#concept-image-set) ID 作为查询参数来指定应从中检索实例帧的图像集。除非提供了可选的图像集参数，否则 API 将仅返回主[图像集](getting-started-concepts.md#concept-image-set)的实例帧。通过将指定为查询参数，可以检索数据存储中的任何实例帧（来自主影像集或非主影`imageSetId`像集）。

DICOM 数据可以通过其存储的传输语法或未压缩 (ELE) 格式进行检索。

**获取 DICOM 实例帧 () `multipart`**  


1. 收集 HealthImaging `datastoreId`和`imageSetId`参数值。

1. 使用带有`datastoreId`和`imageSetId`参数值的[https://docs.aws.amazon.com/healthimaging/latest/APIReference/API_GetImageSetMetadata.html](https://docs.aws.amazon.com/healthimaging/latest/APIReference/API_GetImageSetMetadata.html)操作来检索`studyInstanceUID``seriesInstanceUID`、和的关联元数据值`sopInstanceUID`。有关更多信息，请参阅 [获取影像集元数据](get-image-set-metadata.md)。

1. 确定要从关联的元数据中检索的图像帧以形成`frameList`参数。该`frameList`参数是一个以逗号分隔的列表，其中包含一个或多个不重复的帧号，按任意顺序排列。例如，元数据中的第一个图像帧将是第 1 帧。
   + 单帧请求：`/frames/1`
   + 多帧请求：`/frames/1,2,3,4`

1. 使用`datastoreId`、、、`studyInstanceUID``seriesInstanceUID`、和的值构造请求`sopInstanceUID`的 `imageSetId` URL `frameList`。要查看以下示例中的整个 URL 路径，请滚动到 “**复制**” 按钮。网址的格式为：

   ```
   GET https://dicom-medical-imaging.region.amazonaws.com/datastore/datastore-id/studies/study-instance-uid/series/series-instance-uid/instances/sop-instance-uid/frames/1?imageSetId=image-set-id
   ```

1. 准备并发送您的请求。 `GetDICOMInstanceFrames`使用带有[AWS 签名版本 4 签名](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html)协议的 HTTP GET 请求。以下代码示例使用`curl`命令行工具从中获取`multipart`响应中的图像帧 HealthImaging。

------
#### [ Shell ]

   ```
   curl --request GET \
     'https://dicom-medical-imaging.us-east-1.amazonaws.com/datastore/d9a2a515ab294163a2d2f4069eed584c/studies/1.3.6.1.4.1.5962.1.2.4.20040826285059.5457/series/1.3.6.1.4.1.5962.1.3.4.1.20040825185059.5457/instances/1.3.6.1.4.1.5962.1.1.4.1.1.20040826186059.5457/frames/1?imageSetId=459e50687f121185f747b67bb60d1bc8' \
     --aws-sigv4 'aws:amz:us-east-1:medical-imaging' \
     --user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \
     --header "x-amz-security-token:$AWS_SESSION_TOKEN" \
     --header 'Accept: multipart/related; type=application/octet-stream; transfer-syntax=1.2.840.10008.1.2.1'
   ```

------
**注意**  
`transfer-syntax`UID 是可选的，如果不包括在内，则默认为 Explicit VR Little Endian。如果无法转码到 ELE（由于导入时有警告），则将在不进行转码的情况下返回像素。支持的传输语法包括：  
显式 VR Little Endian (ELE)-`1.2.840.10008.1.2.1`（无损图像帧的默认值）
如果是`transfer-syntax=*`这样，图像帧将以存储的传输语法返回。
带有 RPCL 选项的高吞吐量 JPEG 2000 图像压缩（仅限无损）-`1.2.840.10008.1.2.4.202`-如果实例存储为 HealthImaging `1.2.840.10008.1.2.4.202`
JPEG 2000 Lossless `1.2.840.10008.1.2.4.90`--如果实例存储在 HealthImaging 无损状态中。
JPEG 基准（流程 1）：有损 JPEG 8 位图像压缩的默认传输语法-`1.2.840.10008.1.2.4.50`-如果实例存储为 HealthImaging `1.2.840.10008.1.2.4.50`
JPEG 2000 图像压缩 `1.2.840.10008.1.2.4.91`--如果实例存储为 HealthImaging `1.2.840.10008.1.2.4.91`
高吞吐量 JPEG 2000 图像压缩 `1.2.840.10008.1.2.4.203`--如果实例存储为 HealthImaging `1.2.840.10008.1.2.4.203`
JPEG XL 图像压缩 `1.2.840.10008.1.2.4.112`--如果实例存储为 HealthImaging `1.2.840.10008.1.2.4.112`
存储在一个或多个 HealthImaging 以 MPEG 系列传输语法（包括 MPEG-4 AVC/H.264 and HEVC/H .265）中编码的图像帧的实例 MPEG2，可以使用相应的[传输语法](supported-transfer-syntaxes.md) UID 进行检索。例如，`1.2.840.10008.1.2.4.100`如果实例存储为 MPEG2 主配置文件主级别。
`NotAcceptableException`如果无法根据存储的传输语法返回请求的传输语法，或者如果实例有特定的处理警告，则可能会收到 406。如果出现这种情况，请使用重试呼叫。`transfer-syntax=*`

   有关更多信息，请参阅[支持的传输语法](supported-transfer-syntaxes.md)和[AWS 的图像帧解码库 HealthImaging](reference-libraries.md)。