

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Pixeldaten des Bildsatzes abrufen
<a name="get-image-frame"></a>

Ein [Bildrahmen](getting-started-concepts.md#concept-image-frame) sind die Pixeldaten, die in einem Bilddatensatz vorhanden sind, um ein medizinisches 2D-Bild zu erstellen. Verwenden Sie die `GetImageFrame` Aktion, um einen HTJ2 K-codierten oder systemeigenen, verlustfreien JPEG 2000-Bildrahmen für einen bestimmten [Bilddatensatz](getting-started-concepts.md#concept-image-set) abzurufen. HealthImaging Die folgenden Menüs enthalten Codebeispiele für und. AWS CLI AWS SDKs Weitere Informationen finden Sie [https://docs.aws.amazon.com/healthimaging/latest/APIReference/API_GetImageFrame.html](https://docs.aws.amazon.com/healthimaging/latest/APIReference/API_GetImageFrame.html)in der * HealthImaging AWS-API-Referenz*.

**Anmerkung**  
Beachten Sie bei der Verwendung der `GetImageFrame` Aktion die folgenden Punkte:  
 HealthImaging Behält beim [Import](importing-imaging-data.md) die Kodierung einiger Übertragungssyntaxen bei und transkodiert andere in HTJ2 K Lossless (Standard) oder JPEG 2000 Lossless. Die `GetImageFrame` Aktion gibt den Bildrahmen in der gespeicherten Übertragungssyntax der Instanz zurück. Während des Abrufs wird keine Transcodierung durchgeführt, um eine minimale Latenz beim Abrufen zu gewährleisten. Je nach Übertragungssyntax müssen Bildframes möglicherweise vor der Anzeige in einem Bildbetrachter dekodiert werden. Weitere Informationen erhalten Sie unter [Unterstützte Übertragungssyntaxen](supported-transfer-syntaxes.md) und [Bibliotheken zur Dekodierung von Bildrahmen](reference-libraries.md).
[Bei Instanzen, in HealthImaging denen ein oder mehrere Bildrahmen gespeichert sind, die in der MPEG-Familie der Übertragungssyntaxen (einschließlich MPEG-4 AVC/H.264 and HEVC/H .265) kodiert sind MPEG2, gibt die `GetImageFrame` Aktion ein Videoobjekt in der gespeicherten Übertragungssyntax zurück.](supported-transfer-syntaxes.md)
Die Übertragungssyntax von Bildrahmen ist im Header-Antwortelement angegeben. `Content-Type HTTP` Ein in HTJ2 K kodierter Bildrahmen hat `Content-Type: image/jph header` beispielsweise. Weitere Informationen finden Sie [https://docs.aws.amazon.com/healthimaging/latest/APIReference/API_GetImageFrame.html](https://docs.aws.amazon.com/healthimaging/latest/APIReference/API_GetImageFrame.html)in der * HealthImaging AWS-API-Referenz*.
Sie können auch die Darstellung HealthImaging eines DICOMweb Service verwenden`GetDICOMInstanceFrames`, um DICOM-Instance-Frames (`multipart`Anfrage) für DICOMweb -kompatible Viewer und Anwendungen abzurufen. Weitere Informationen finden Sie unter [DICOM-Instanz-Frames abrufen von HealthImaging](dicomweb-retrieve-instance-frames.md).

**So rufen Sie Pixeldaten des Bildersatzes ab**  
Wählen Sie ein Menü, das auf Ihren Zugriffspräferenzen für AWS basiert HealthImaging.

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

**Anmerkung**  
Auf Bildrahmen muss programmgesteuert zugegriffen und sie dekodiert werden, da in der kein Bildbetrachter verfügbar ist. AWS-Managementkonsole  
Weitere Informationen zum Dekodieren und Anzeigen von Bildrahmen finden Sie unter. [Bibliotheken zur Dekodierung von Bildrahmen](reference-libraries.md)

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

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

**SDK für 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();
}
```
+  Einzelheiten zur API finden Sie [GetImageFrame](https://docs.aws.amazon.com/goto/SdkForCpp/medical-imaging-2023-07-19/GetImageFrame)unter *AWS SDK für C\+\+ API-Referenz.* 
 Es gibt noch mehr dazu GitHub. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/medical-imaging/#code-examples) einrichten und ausführen. 

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

**AWS CLI**  
**So rufen Sie Pixeldaten des Bildersatzes ab**  
Im folgenden Codebeispiel für `get-image-frame` wird ein Image-Frame abgerufen.  

```
aws medical-imaging get-image-frame \
    --datastore-id {{"12345678901234567890123456789012"}} \
    --image-set-id {{"98765412345612345678907890789012"}} \
    --image-frame-information {{imageFrameId=3abf5d5d7ae72f80a0ec81b2c0de3ef4}} \
    {{imageframe.jph}}
```
Hinweis: Dieses Codebeispiel beinhaltet keine Ausgabe, da die GetImageFrame Aktion einen Stream von Pixeldaten an die Datei imageframe.jph zurückgibt. Informationen zum Dekodieren und Anzeigen von Bildrahmen finden Sie unter K-Decodierungsbibliotheken. HTJ2  
Weitere Informationen finden Sie im *AWS HealthImaging Entwicklerhandbuch* unter [Abrufen von Pixeldaten von Bilddatensätzen](https://docs.aws.amazon.com/healthimaging/latest/devguide/get-image-frame.html).  
+  Einzelheiten zur API finden Sie [GetImageFrame](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/medical-imaging/get-image-frame.html)in der *AWS CLI Befehlsreferenz*. 

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

**SDK für 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);
                }
        }
```
+  Einzelheiten zur API finden Sie [GetImageFrame](https://docs.aws.amazon.com/goto/SdkForJavaV2/medical-imaging-2023-07-19/GetImageFrame)unter *AWS SDK for Java 2.x API-Referenz*. 
 Es gibt noch mehr dazu GitHub. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/example_code/medicalimaging#code-examples) einrichten und ausführen. 

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

**SDK für 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;
};
```
+  Einzelheiten zur API finden Sie [GetImageFrame](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medical-imaging/command/GetImageFrameCommand)in der *AWS SDK für JavaScript API-Referenz*. 
 Es gibt noch mehr dazu GitHub. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3/example_code/medical-imaging#code-examples) einrichten und ausführen. 

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

**SDK für 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
```
Der folgende Code instanziiert das MedicalImagingWrapper Objekt.   

```
    client = boto3.client("medical-imaging")
    medical_imaging_wrapper = MedicalImagingWrapper(client)
```
+  Einzelheiten zur API finden Sie [GetImageFrame](https://docs.aws.amazon.com/goto/boto3/medical-imaging-2023-07-19/GetImageFrame)in *AWS SDK for Python (Boto3) API* Reference. 
 Es gibt noch mehr dazu. GitHub Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/medical-imaging#code-examples) einrichten und ausführen. 

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

**SDK für 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.
```
+  Einzelheiten zur API finden Sie [GetImageFrame](https://docs.aws.amazon.com/sdk-for-sap-abap/v1/api/latest/index.html)in der *AWS API-Referenz zum SDK für SAP ABAP*. 
 Es gibt noch mehr dazu. GitHub Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap/services/mig#code-examples) einrichten und ausführen. 

------

**Beispiel für die Verfügbarkeit**  
Sie können nicht finden, was Sie brauchen? Fordern Sie über den Link **Feedback geben** in der rechten Seitenleiste dieser Seite ein Codebeispiel an.