Obtenir les données en pixels d'un ensemble d'images - AWS HealthImaging

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Obtenir les données en pixels d'un ensemble d'images

Une trame d'image correspond aux données de pixels qui existent dans un ensemble d'images pour constituer une image médicale en 2D. Utilisez cette GetImageFrame action pour récupérer un cadre d'image HTJ2K codé pour une image donnée définie dans HealthImaging. Les menus suivants fournissent des exemples de code pour AWS CLI and AWS SDKs. Pour plus d'informations, reportez-vous GetImageFrameà la section AWS HealthImaging APIRéférence.

Note

Lors de l'importation, AWS HealthImaging code toutes les images dans un format HTJ2K sans perte. Par conséquent, elles doivent être décodées avant d'être visualisées dans une visionneuse d'images. Pour de plus amples informations, veuillez consulter bibliothèques de décodage HTJ2K.

Utilisez GetDICOMInstanceFrames HealthImaging la représentation d'un DICOMweb service pour renvoyer des cadres d'DICOMinstance (multipartdemande). Pour de plus amples informations, veuillez consulter Obtenir des cadres DICOM d'instance à partir de HealthImaging.

Pour obtenir les données relatives aux pixels définis par image

Choisissez un menu en fonction de vos préférences d'accès à AWS HealthImaging.

Note

Les images doivent être accessibles et décodées par programmation, car aucune visionneuse d'images n'est disponible dans AWS Management Console.

Pour plus d'informations sur le décodage et l'affichage de cadres d'image, consultezbibliothèques de décodage HTJ2K.

C++
SDKpour 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(); }
  • Pour API plus de détails, voir GetImageFramedans AWS SDK for C++ APIRéférence.

Note

Il y en a plus à ce sujet GitHub. Consultez l'exemple complet et apprenez à configurer et à exécuter dans AWS Référentiel d'exemples de code.

CLI
AWS CLI

Pour obtenir les données relatives aux pixels définis par image

L'exemple de get-image-frame code suivant permet d'obtenir un cadre d'image.

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

Remarque : Cet exemple de code n'inclut pas de sortie car l' GetImageFrame action renvoie un flux de données de pixels vers le fichier imageframe.jph. Pour plus d'informations sur le décodage et l'affichage de trames d'images, consultez la section bibliothèques de HTJ2K décodage.

Pour plus d'informations, voir Obtenir les données en pixels d'un ensemble d'images dans le AWS HealthImaging Guide du développeur.

  • Pour API plus de détails, voir GetImageFramedans AWS CLI Référence de commande.

Java
SDKpour 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); } }
  • Pour API plus de détails, voir GetImageFramedans AWS SDK for Java 2.x APIRéférence.

Note

Il y en a plus à ce sujet GitHub. Consultez l'exemple complet et apprenez à configurer et à exécuter dans AWS Référentiel d'exemples de code.

JavaScript
SDKpour 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; };
  • Pour API plus de détails, voir GetImageFramedans AWS SDK for JavaScript APIRéférence.

Note

Il y en a plus à ce sujet GitHub. Consultez l'exemple complet et apprenez à configurer et à exécuter dans AWS Référentiel d'exemples de code.

Python
SDKpour 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

Le code suivant instancie l' MedicalImagingWrapper objet.

client = boto3.client("medical-imaging") medical_imaging_wrapper = MedicalImagingWrapper(client)
  • Pour API plus de détails, voir GetImageFramedans AWS SDKpour Python (Boto3) Reference. API

Note

Il y en a plus à ce sujet GitHub. Consultez l'exemple complet et apprenez à configurer et à exécuter dans AWS Référentiel d'exemples de code.