Obtendo dados de pixels do conjunto de imagens - AWS HealthImaging

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Obtendo dados de pixels do conjunto de imagens

Um quadro de imagem são os dados de pixel que existem em um conjunto de imagens para formar uma imagem médica 2D. Use a GetImageFrame ação para recuperar um quadro de imagem HTJ2K codificado em -para uma determinada imagem definida. HealthImaging Os menus a seguir fornecem exemplos de código para AWS CLI AWS SDKs e. Para obter mais informações, consulte GetImageFramena AWS HealthImaging APIReferência.

nota

Lembre-se dos seguintes pontos ao usar a GetImageFrame ação:

  • Durante a importação, HealthImaging retém a codificação de algumas sintaxes de transferência, mas transcodifica outras para HTJ2K sem perdas por padrão. Portanto, os quadros de imagem devem ser decodificados antes da visualização em um visualizador de imagens. Para ter mais informações, consulte Sintaxes de transferência compatíveis e HTJ2Kbibliotecas de decodificação.

  • Por padrão, a GetImageFrame ação retorna o quadro da imagem na sintaxe de transferência armazenada da instância. Para obter mais informações, consulte Sintaxes de transferência compatíveis.

  • Você também pode usar GetDICOMInstanceFrames a representação HealthImaging de um DICOMweb serviço para recuperar quadros de DICOM instância (multipartsolicitação) para visualizadores e DICOMweb aplicativos compatíveis. Para obter mais informações, consulte Obtendo quadros de DICOM instância de HealthImaging.

Para obter dados de pixels do conjunto de imagens

Escolha um menu com base na sua preferência de acesso AWS HealthImaging a.

nota

Os quadros de imagem devem ser acessados e decodificados programaticamente, pois não há um visualizador de imagens disponível no AWS Management Console.

Para obter mais informações sobre decodificação e visualização de quadros de imagem, consulte HTJ2Kbibliotecas de decodificação.

C++
SDKpara 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(); }
  • Para API obter detalhes, consulte GetImageFrameem AWS SDK for C++ APIReferência.

nota

Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no Repositório de exemplos de código da AWS.

CLI
AWS CLI

Para obter dados de pixels do conjunto de imagens

O exemplo de código get-image-frame a seguir obtém um quadro de imagem.

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

Observação: esse exemplo de código não inclui a saída porque a GetImageFrame ação retorna um fluxo de dados de pixels para o arquivo imageframe.jph. Para obter informações sobre decodificação e visualização de quadros de imagem, consulte bibliotecas de HTJ2K decodificação.

Para obter mais informações, consulte Obter dados de pixels do conjunto de imagens no Guia do AWS HealthImaging desenvolvedor.

  • Para API obter detalhes, consulte GetImageFramena Referência de AWS CLI Comandos.

Java
SDKpara 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); } }
  • Para API obter detalhes, consulte GetImageFrameem AWS SDK for Java 2.x APIReferência.

nota

Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no Repositório de exemplos de código da AWS.

JavaScript
SDKpara 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; };
  • Para API obter detalhes, consulte GetImageFrameem AWS SDK for JavaScript APIReferência.

nota

Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no Repositório de exemplos de código da AWS.

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

O código a seguir instancia o MedicalImagingWrapper objeto.

client = boto3.client("medical-imaging") medical_imaging_wrapper = MedicalImagingWrapper(client)
  • Para API obter detalhes, consulte a GetImageFrameReferência AWS SDK do Python (Boto3). API

nota

Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no Repositório de exemplos de código da AWS.

Exemplo de disponibilidade

Não consegue encontrar o que precisa? Solicite um exemplo de código usando o link Fornecer feedback na parte inferior desta página.