画像セットのピクセルデータの取得 - AWS HealthImaging

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

画像セットのピクセルデータの取得

画像フレームは、2D 医療画像を構成する画像セット内にあるピクセルデータです。GetImageFrame アクションを使用して、 で指定されたイメージセットのHTJ2Kエンコードされたイメージフレームを取得します HealthImaging。 画像セット次のメニューでは、 AWS CLI と のコード例を示します AWS SDKs。詳細については、「 リファレンスGetImageFrame」の「」を参照してください。 AWS HealthImaging API

注記

GetImageFrame アクションを使用するときは、次の点に注意してください。

  • インポート中、 は一部の転送構文のエンコード HealthImaging を保持しますが、デフォルトでは他の をHTJ2Kロスレスにトランスコードします。したがって、イメージビューワーで表示する前に、イメージフレームをデコードする必要があります。詳細については、「サポートされる転送構文」および「HTJ2K ライブラリのデコード」を参照してください。

  • GetImageFrame アクションは、デフォルトでインスタンスのストアド転送構文でイメージフレームを返します。詳細については、「サポートされる転送構文」を参照してください。

  • DICOMweb サービスの表現GetDICOMInstanceFrames HealthImagingである を使用して、DICOMweb互換性のあるビューワーとアプリケーションのDICOMインスタンスフレーム (multipart リクエスト) を取得することもできます。詳細については、「からDICOMインスタンスフレームを取得する HealthImaging」を参照してください。

画像セットのピクセルデータを取得するには

へのアクセス設定に基づいてメニューを選択しますAWS HealthImaging。

注記

AWS Management Consoleには画像ビューアが組み込まれていないため、画像フレームをプログラムでデコードしてアクセスする必要があります。

画像フレームのデコードと表示の詳細については、HTJ2K ライブラリのデコードを参照してください。

C++
SDK C++ 用
//! Routine which downloads an AWS HealthImaging image frame. /*! \param dataStoreID: The HealthImaging data store ID. \param imageSetID: The image set ID. \param frameID: The image frame ID. \param jphFile: File to store the downloaded frame. \param clientConfig: Aws client configuration. \return bool: Function succeeded. */ bool AwsDoc::Medical_Imaging::getImageFrame(const Aws::String &dataStoreID, const Aws::String &imageSetID, const Aws::String &frameID, const Aws::String &jphFile, const Aws::Client::ClientConfiguration &clientConfig) { Aws::MedicalImaging::MedicalImagingClient client(clientConfig); Aws::MedicalImaging::Model::GetImageFrameRequest request; request.SetDatastoreId(dataStoreID); request.SetImageSetId(imageSetID); Aws::MedicalImaging::Model::ImageFrameInformation imageFrameInformation; imageFrameInformation.SetImageFrameId(frameID); request.SetImageFrameInformation(imageFrameInformation); Aws::MedicalImaging::Model::GetImageFrameOutcome outcome = client.GetImageFrame( request); if (outcome.IsSuccess()) { std::cout << "Successfully retrieved image frame." << std::endl; auto &buffer = outcome.GetResult().GetImageFrameBlob(); std::ofstream outfile(jphFile, std::ios::binary); outfile << buffer.rdbuf(); } else { std::cout << "Error retrieving image frame." << outcome.GetError().GetMessage() << std::endl; } return outcome.IsSuccess(); }
  • API 詳細については、「 リファレンスGetImageFrame」の「」を参照してください。 AWS SDK for C++ API

注記

の詳細については、「」を参照してください GitHub。用例一覧を検索し、AWS コード例リポジトリでの設定と実行の方法を確認してください。

CLI
AWS CLI

画像セットのピクセルデータを取得するには

次の get-image-frame コード例では、画像フレームを取得しています。

aws medical-imaging get-image-frame \ --datastore-id "12345678901234567890123456789012" \ --image-set-id "98765412345612345678907890789012" \ --image-frame-information imageFrameId=3abf5d5d7ae72f80a0ec81b2c0de3ef4 \ imageframe.jph

注: このコード例では、 GetImageFrame アクションがピクセルデータのストリームを imageframe.jph ファイルに戻すため、出力は含まれません。イメージフレームのデコードと表示については、HTJ2K「デコードライブラリ」を参照してください。

詳細については、「 デベロッパーガイド」の「イメージセットピクセルデータの取得」を参照してください。 AWS HealthImaging

  • API 詳細については、AWS CLI 「 コマンドリファレンスGetImageFrame」の「」を参照してください。

Java
SDK Java 2.x 用
public static void getMedicalImageSetFrame(MedicalImagingClient medicalImagingClient, String destinationPath, String datastoreId, String imagesetId, String imageFrameId) { try { GetImageFrameRequest getImageSetMetadataRequest = GetImageFrameRequest.builder() .datastoreId(datastoreId) .imageSetId(imagesetId) .imageFrameInformation(ImageFrameInformation.builder() .imageFrameId(imageFrameId) .build()) .build(); medicalImagingClient.getImageFrame(getImageSetMetadataRequest, FileSystems.getDefault().getPath(destinationPath)); System.out.println("Image frame downloaded to " + destinationPath); } catch (MedicalImagingException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }
  • API 詳細については、「 リファレンスGetImageFrame」の「」を参照してください。 AWS SDK for Java 2.x API

注記

の詳細については、「」を参照してください GitHub。用例一覧を検索し、AWS コード例リポジトリでの設定と実行の方法を確認してください。

JavaScript
SDK JavaScript (v3) の場合
import { GetImageFrameCommand } from "@aws-sdk/client-medical-imaging"; import { medicalImagingClient } from "../libs/medicalImagingClient.js"; /** * @param {string} imageFrameFileName - The name of the file for the HTJ2K-encoded image frame. * @param {string} datastoreID - The data store's ID. * @param {string} imageSetID - The image set's ID. * @param {string} imageFrameID - The image frame's ID. */ export const getImageFrame = async ( imageFrameFileName = "image.jph", datastoreID = "DATASTORE_ID", imageSetID = "IMAGE_SET_ID", imageFrameID = "IMAGE_FRAME_ID", ) => { const response = await medicalImagingClient.send( new GetImageFrameCommand({ datastoreId: datastoreID, imageSetId: imageSetID, imageFrameInformation: { imageFrameId: imageFrameID }, }), ); const buffer = await response.imageFrameBlob.transformToByteArray(); writeFileSync(imageFrameFileName, buffer); console.log(response); // { // '$metadata': { // httpStatusCode: 200, // requestId: 'e4ab42a5-25a3-4377-873f-374ecf4380e1', // extendedRequestId: undefined, // cfId: undefined, // attempts: 1, // totalRetryDelay: 0 // }, // contentType: 'application/octet-stream', // imageFrameBlob: <ref *1> IncomingMessage {} // } return response; };
  • API 詳細については、「 リファレンスGetImageFrame」の「」を参照してください。 AWS SDK for JavaScript API

注記

の詳細については、「」を参照してください GitHub。用例一覧を検索し、AWS コード例リポジトリでの設定と実行の方法を確認してください。

Python
SDK Python 用 (Boto3)
class MedicalImagingWrapper: def __init__(self, health_imaging_client): self.health_imaging_client = health_imaging_client def get_pixel_data( self, file_path_to_write, datastore_id, image_set_id, image_frame_id ): """ Get an image frame's pixel data. :param file_path_to_write: The path to write the image frame's HTJ2K encoded pixel data. :param datastore_id: The ID of the data store. :param image_set_id: The ID of the image set. :param image_frame_id: The ID of the image frame. """ try: image_frame = self.health_imaging_client.get_image_frame( datastoreId=datastore_id, imageSetId=image_set_id, imageFrameInformation={"imageFrameId": image_frame_id}, ) with open(file_path_to_write, "wb") as f: for chunk in image_frame["imageFrameBlob"].iter_chunks(): if chunk: f.write(chunk) except ClientError as err: logger.error( "Couldn't get image frame. Here's why: %s: %s", err.response["Error"]["Code"], err.response["Error"]["Message"], ) raise

次のコードは MedicalImagingWrapper オブジェクトをインスタンス化します。

client = boto3.client("medical-imaging") medical_imaging_wrapper = MedicalImagingWrapper(client)
  • API 詳細については、AWS SDKPython (Boto3) APIリファレンス のGetImageFrame「」の「」を参照してください。

注記

の詳細については、「」を参照してください GitHub。用例一覧を検索し、AWS コード例リポジトリでの設定と実行の方法を確認してください。

可用性の例

必要なものが見つからなかった場合。このページの下部にあるフィードバックを提供するリンクを使用して、コード例をリクエストします。