

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Obtención de datos de píxeles de los conjuntos de imágenes
<a name="get-image-frame"></a>

Los conjuntos de imágenes son la información de los píxeles existentes en un [conjunto de imágenes](getting-started-concepts.md#concept-image-frame) y que forman una imagen médica en 2D. Utilice esta `GetImageFrame` acción para recuperar un marco de imagen JPEG 2000 nativo o HTJ2 codificado en K sin pérdidas para un conjunto de [imágenes](getting-started-concepts.md#concept-image-set) determinado. HealthImaging En los menús siguientes se proporcionan ejemplos de código para las letras y. AWS CLI AWS SDKs Para obtener más información, consulte [https://docs.aws.amazon.com/healthimaging/latest/APIReference/API_GetImageFrame.html](https://docs.aws.amazon.com/healthimaging/latest/APIReference/API_GetImageFrame.html)la *referencia de la HealthImaging API de AWS*.

**nota**  
Tenga en cuenta los siguientes puntos al utilizar la `GetImageFrame` acción:  
Durante la [importación](importing-imaging-data.md), HealthImaging conserva la codificación de algunas sintaxis de transferencia y transcodifica otras a HTJ2 K lossless (predeterminado) o JPEG 2000 Lossless. La `GetImageFrame` acción devuelve el marco de la imagen en la sintaxis de transferencia almacenada de la instancia. No se realiza ninguna transcodificación durante la recuperación para garantizar una latencia de recuperación mínima. Es posible que sea necesario decodificar los fotogramas de imagen antes de visualizarlos en un visor de imágenes, según la sintaxis de transferencia. Para obtener más información, consulte [Sintaxis de transferencia compatibles](supported-transfer-syntaxes.md) y [Bibliotecas de decodificación de marcos de imágenes](reference-libraries.md).
[En el caso de los casos almacenados HealthImaging con uno o más fotogramas de imagen codificados en la familia de sintaxis de transferencia MPEG (que incluye MPEG-4 AVC/H.264 and HEVC/H .265) MPEG2, la `GetImageFrame` acción devolverá un objeto de vídeo con la sintaxis de transferencia almacenada.](supported-transfer-syntaxes.md)
La sintaxis de transferencia de los fotogramas de imagen se especifica en el elemento de respuesta del encabezado. `Content-Type HTTP` Por ejemplo, un marco de imagen codificado en HTJ2 K. tendrá`Content-Type: image/jph header`. Para obtener más información, consulte [https://docs.aws.amazon.com/healthimaging/latest/APIReference/API_GetImageFrame.html](https://docs.aws.amazon.com/healthimaging/latest/APIReference/API_GetImageFrame.html)la *referencia de la HealthImaging API de AWS*.
También puede utilizar `GetDICOMInstanceFrames` HealthImaging la representación de un DICOMweb servicio para recuperar marcos de instancias DICOM (`multipart`solicitud) para aplicaciones y visores DICOMweb compatibles. Para obtener más información, consulte [Obtener marcos de instancia DICOM de HealthImaging](dicomweb-retrieve-instance-frames.md).

**Obtención de datos de píxeles de un conjunto de imágenes**  
Elija un menú en función de sus preferencias de acceso a AWS HealthImaging.

## AWS Consola
<a name="code-example-console-image-set-get-pixel-data"></a>

**nota**  
Los marcos de imágenes deben decodificarse y se debe acceder a ellos mediante programación, ya que no hay un visor de imágenes disponible en la Consola de administración de AWS.  
Para más información sobre la decodificación y la visualización de marcos de imágenes, consulte [Bibliotecas de decodificación de marcos de imágenes](reference-libraries.md).

## AWS CLI y SDKs
<a name="code-example-cli-sdk-image-set-get-pixel-data"></a>

------
#### [ C\+\+ ]

**SDK para 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 obtener más información sobre la API, consulte [GetImageFrame](https://docs.aws.amazon.com/goto/SdkForCpp/medical-imaging-2023-07-19/GetImageFrame)la *referencia AWS SDK para C\+\+ de la API*. 
 Hay más información al respecto GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el [Repositorio de ejemplos de código de AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/medical-imaging/#code-examples). 

------
#### [ CLI ]

**AWS CLI**  
**Obtención de datos de píxeles de un conjunto de imágenes**  
En el siguiente ejemplo de código `get-image-frame` se obtiene un marco de una imagen.  

```
aws medical-imaging get-image-frame \
    --datastore-id {{"12345678901234567890123456789012"}} \
    --image-set-id {{"98765412345612345678907890789012"}} \
    --image-frame-information {{imageFrameId=3abf5d5d7ae72f80a0ec81b2c0de3ef4}} \
    {{imageframe.jph}}
```
Nota: Este ejemplo de código no incluye la salida porque la GetImageFrame acción devuelve un flujo de datos de píxeles al archivo imageframe.jph. Para obtener información sobre la decodificación y la visualización de marcos de imágenes, consulte las bibliotecas de decodificación K. HTJ2  
Para obtener más información, consulte [Obtener datos de píxeles de conjuntos de imágenes](https://docs.aws.amazon.com/healthimaging/latest/devguide/get-image-frame.html) en la *Guía para AWS HealthImaging desarrolladores*.  
+  Para obtener más información sobre la API, consulte [GetImageFrame](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/medical-imaging/get-image-frame.html)la *Referencia de AWS CLI comandos*. 

------
#### [ Java ]

**SDK para 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 obtener más información sobre la API, consulte [GetImageFrame](https://docs.aws.amazon.com/goto/SdkForJavaV2/medical-imaging-2023-07-19/GetImageFrame)la *Referencia AWS SDK for Java 2.x de la API*. 
 Hay más información al respecto GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el [Repositorio de ejemplos de código de AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/example_code/medicalimaging#code-examples). 

------
#### [ JavaScript ]

**SDK para 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 obtener más información sobre la API, consulte [GetImageFrame](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medical-imaging/command/GetImageFrameCommand)la *Referencia de AWS SDK para JavaScript la API*. 
 Hay más información al respecto GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el [Repositorio de ejemplos de código de AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3/example_code/medical-imaging#code-examples). 

------
#### [ Python ]

**SDK para 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
```
El siguiente código crea una instancia del MedicalImagingWrapper objeto.   

```
    client = boto3.client("medical-imaging")
    medical_imaging_wrapper = MedicalImagingWrapper(client)
```
+  Para obtener más información sobre la API, consulta [GetImageFrame](https://docs.aws.amazon.com/goto/boto3/medical-imaging-2023-07-19/GetImageFrame)la *AWS Referencia de API de SDK for Python (Boto3*). 
 Hay más información al respecto. GitHub Busque el ejemplo completo y aprenda a configurar y ejecutar en el [Repositorio de ejemplos de código de AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/medical-imaging#code-examples). 

------
#### [ SAP ABAP ]

**SDK para SAP ABAP**  

```
    TRY.
        " iv_datastore_id = '1234567890123456789012345678901234567890'
        " iv_image_set_id = '1234567890123456789012345678901234567890'
        " iv_image_frame_id = '1234567890123456789012345678901234567890'
        oo_result = lo_mig->getimageframe(
          iv_datastoreid = iv_datastore_id
          iv_imagesetid = iv_image_set_id
          io_imageframeinformation = NEW /aws1/cl_migimageframeinfmtion(
            iv_imageframeid = iv_image_frame_id ) ).
        DATA(lv_frame_blob) = oo_result->get_imageframeblob( ).
        MESSAGE 'Image frame retrieved.' TYPE 'I'.
      CATCH /aws1/cx_migaccessdeniedex.
        MESSAGE 'Access denied.' TYPE 'I'.
      CATCH /aws1/cx_migconflictexception.
        MESSAGE 'Conflict error.' TYPE 'I'.
      CATCH /aws1/cx_miginternalserverex.
        MESSAGE 'Internal server error.' TYPE 'I'.
      CATCH /aws1/cx_migresourcenotfoundex.
        MESSAGE 'Image frame not found.' TYPE 'I'.
      CATCH /aws1/cx_migthrottlingex.
        MESSAGE 'Request throttled.' TYPE 'I'.
      CATCH /aws1/cx_migvalidationex.
        MESSAGE 'Validation error.' TYPE 'I'.
    ENDTRY.
```
+  Para obtener más información sobre la API, consulte [GetImageFrame](https://docs.aws.amazon.com/sdk-for-sap-abap/v1/api/latest/index.html)la *referencia sobre la API ABAP del AWS SDK para SAP*. 
 Hay más información al respecto. GitHub Busque el ejemplo completo y aprenda a configurar y ejecutar en el [Repositorio de ejemplos de código de AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap/services/mig#code-examples). 

------

**Ejemplo de disponibilidad**  
¿No encuentra lo que necesita? Solicita un ejemplo de código mediante **el enlace Enviar comentarios** en la barra lateral derecha de esta página.