Acquisizione dei dati dei pixel del set di immagini - AWS HealthImaging

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Acquisizione dei dati dei pixel del set di immagini

Una cornice di immagine è costituita dai dati in pixel presenti all'interno di un set di immagini per creare un'immagine medica 2D. Utilizzate l'GetImageFrameazione per recuperare una cornice di immagine HTJ2K con codifica per un determinato set di immagini. HealthImaging I seguenti menu forniscono esempi di codice per AWS CLI e AWS SDKs. Per ulteriori informazioni, vedere GetImageFramenel AWS HealthImaging APIReference.

Nota

Durante l'importazione, AWS HealthImaging codifica tutti i fotogrammi dell'immagine in formato HTJ2K senza perdita di dati, pertanto devono essere decodificati prima di essere visualizzati in un visualizzatore di immagini. Per ulteriori informazioni, consulta Librerie di decodifica HTJ2K.

UtilizzaGetDICOMInstanceFrames, HealthImaging come rappresentazione di un DICOMweb servizio, per restituire i frame di DICOM istanza (multipartrichiesta). Per ulteriori informazioni, consulta Ottenere frame di DICOM istanza da HealthImaging.

Per ottenere i dati dei pixel del set di immagini

Scegli un menu in base alle tue preferenze di accesso a AWS HealthImaging.

Nota

È necessario accedere ai riquadri delle immagini e decodificarli a livello di codice, poiché un visualizzatore di immagini non è disponibile in AWS Management Console.

Per ulteriori informazioni sulla decodifica e la visualizzazione dei fotogrammi delle immagini, vedere. Librerie di decodifica HTJ2K

C++
SDKper 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(); }
  • Per API i dettagli, vedere GetImageFramein AWS SDK for C++ APIRiferimento.

Nota

C'è altro da fare GitHub. Trova l'esempio completo e scopri come configurare ed eseguire in AWS Repository di esempi di codice.

CLI
AWS CLI

Per ottenere i dati dei pixel del set di immagini

Il seguente esempio di get-image-frame codice ottiene una cornice di immagine.

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

Nota: questo esempio di codice non include l'output perché l' GetImageFrame azione restituisce un flusso di dati di pixel al file imageframe.jph. Per informazioni sulla decodifica e la visualizzazione dei frame di immagini, consultate le librerie di decodifica. HTJ2K

Per ulteriori informazioni, vedete Acquisizione dei dati dei pixel del set di immagini in AWS HealthImaging Guida per gli sviluppatori.

  • Per API i dettagli, vedere GetImageFramein AWS CLI Riferimento ai comandi.

Java
SDKper 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); } }
  • Per API i dettagli, vedere GetImageFramein AWS SDK for Java 2.x APIRiferimento.

Nota

C'è altro da fare GitHub. Trova l'esempio completo e scopri come configurare ed eseguire in AWS Repository di esempi di codice.

JavaScript
SDKper 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; };
  • Per API i dettagli, vedere GetImageFramein AWS SDK for JavaScript APIRiferimento.

Nota

C'è altro da fare GitHub. Trova l'esempio completo e scopri come configurare ed eseguire in AWS Repository di esempi di codice.

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

Il codice seguente crea un'istanza dell'oggetto. MedicalImagingWrapper

client = boto3.client("medical-imaging") medical_imaging_wrapper = MedicalImagingWrapper(client)
  • Per i API dettagli, vedere in GetImageFrameAWS SDKper Python (Boto3) Reference. API

Nota

C'è di più su. GitHub Trova l'esempio completo e scopri come configurare ed eseguire in AWS Repository di esempi di codice.