

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 metadatos de conjuntos de imágenes
<a name="get-image-set-metadata"></a>

Utilice la `GetImageSetMetadata` acción para recuperar [los metadatos](getting-started-concepts.md#concept-metadata) de un [conjunto de imágenes](getting-started-concepts.md#concept-image-set) determinado HealthImaging. Los siguientes menús proporcionan un procedimiento para el Consola de administración de AWS y ejemplos de código para el AWS CLI y AWS SDKs. Para obtener más información, consulte [https://docs.aws.amazon.com/healthimaging/latest/APIReference/API_GetImageSetMetadata.html](https://docs.aws.amazon.com/healthimaging/latest/APIReference/API_GetImageSetMetadata.html)la *referencia de la HealthImaging API de AWS*.

**nota**  
De forma predeterminada, HealthImaging devuelve los atributos de metadatos de la última versión de un conjunto de imágenes. Para ver los metadatos de una versión anterior de un conjunto de imágenes, indique la `versionId` al realizar la solicitud.  
Los metadatos del conjunto de imágenes se comprimen con `gzip` y se devuelven como un objeto JSON. Por lo tanto, debe descomprimir el objeto JSON antes de ver los metadatos normalizados. Para obtener más información, consulte [Normalización de metadatos](metadata-normalization.md).  
Si los metadatos de un conjunto de imágenes de gran tamaño aún se están procesando después de la importación, es `ConflictException` posible que se devuelva un 409. Vuelva a intentar la solicitud transcurridos unos segundos una vez que se complete el procesamiento.  
Utilice `GetDICOMInstanceMetadata` HealthImaging la representación de un DICOMweb servicio para devolver los metadatos de la instancia DICOM (`.json`archivo). Para obtener más información, consulte [Obtener metadatos de instancias DICOM de HealthImaging](dicomweb-retrieve-instance-metadata.md).

**Cómo obtener metadatos de conjuntos 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-metadata"></a>

1. Abra la [página de almacenes de datos](https://console.aws.amazon.com/medical-imaging/home#/dataStores) de la HealthImaging consola.

1. Elija un almacén de datos.

   Se abrirá la página de **detalles del almacén de datos** y, por defecto, se seleccionará la pestaña **Conjuntos de imágenes**.

1. Seleccione un conjunto de imágenes.

   Se abrirá la página de **Detalles del conjunto de imágenes**, y los metadatos del conjunto de imágenes aparecerán en la sección del **Visor de metadatos de conjuntos de imágenes**.

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

------
#### [ C\$1\$1 ]

**SDK para C\$1\$1**  
Función de utilidad para obtener metadatos del conjunto de imágenes.  

```
//! Routine which gets a HealthImaging image set's metadata.
/*!
  \param dataStoreID: The HealthImaging data store ID.
  \param imageSetID: The HealthImaging image set ID.
  \param versionID: The HealthImaging image set version ID, ignored if empty.
  \param outputFilePath: The path where the metadata will be stored as gzipped json.
  \param clientConfig: Aws client configuration.
  \\return bool: Function succeeded.
*/
bool AwsDoc::Medical_Imaging::getImageSetMetadata(const Aws::String &dataStoreID,
                                                  const Aws::String &imageSetID,
                                                  const Aws::String &versionID,
                                                  const Aws::String &outputFilePath,
                                                  const Aws::Client::ClientConfiguration &clientConfig) {
    Aws::MedicalImaging::Model::GetImageSetMetadataRequest request;
    request.SetDatastoreId(dataStoreID);
    request.SetImageSetId(imageSetID);
    if (!versionID.empty()) {
        request.SetVersionId(versionID);
    }
    Aws::MedicalImaging::MedicalImagingClient client(clientConfig);
    Aws::MedicalImaging::Model::GetImageSetMetadataOutcome outcome = client.GetImageSetMetadata(
            request);
    if (outcome.IsSuccess()) {
        std::ofstream file(outputFilePath, std::ios::binary);
        auto &metadata = outcome.GetResult().GetImageSetMetadataBlob();
        file << metadata.rdbuf();
    }
    else {
        std::cerr << "Failed to get image set metadata: "
                  << outcome.GetError().GetMessage() << std::endl;
    }

    return outcome.IsSuccess();
}
```
Obtener metadatos del conjunto de imágenes sin versión.  

```
        if (AwsDoc::Medical_Imaging::getImageSetMetadata(dataStoreID, imageSetID, "", outputFilePath, clientConfig))
        {
            std::cout << "Successfully retrieved image set metadata." << std::endl;
            std::cout << "Metadata stored in: " << outputFilePath << std::endl;
        }
```
Obtener metadatos del conjunto de imágenes con la versión.  

```
        if (AwsDoc::Medical_Imaging::getImageSetMetadata(dataStoreID, imageSetID, versionID, outputFilePath, clientConfig))
        {
            std::cout << "Successfully retrieved image set metadata." << std::endl;
            std::cout << "Metadata stored in: " << outputFilePath << std::endl;
        }
```
+  Para obtener más información sobre la API, consulte [GetImageSetMetadata](https://docs.aws.amazon.com/goto/SdkForCpp/medical-imaging-2023-07-19/GetImageSetMetadata)la *referencia AWS SDK para C\$1\$1 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**  
**Ejemplo 1: obtención de los metadatos de un conjunto de imágenes sin versión**  
En el siguiente ejemplo de código `get-image-set-metadata` se obtienen los metadatos de un conjunto de imágenes sin especificar una versión.  
Nota: El parámetro `outfile` es obligatorio  

```
aws medical-imaging get-image-set-metadata \
    --datastore-id 12345678901234567890123456789012 \
    --image-set-id ea92b0d8838c72a3f25d00d13616f87e \
    studymetadata.json.gz
```
Los metadatos devueltos se comprimen con gzip y se almacenan en el archivo studymetadata.json.gz. Para ver el contenido del objeto JSON devuelto, primero debe descomprimirlo.  
Salida:  

```
{
    "contentType": "application/json",
    "contentEncoding": "gzip"
}
```
**Ejemplo 2: obtención de los metadatos de un conjunto de imágenes con versión**  
En el siguiente ejemplo de código `get-image-set-metadata` se obtienen los metadatos de un conjunto de imágenes con una versión especificada.  
Nota: El parámetro `outfile` es obligatorio  

```
aws medical-imaging get-image-set-metadata \
    --datastore-id 12345678901234567890123456789012 \
    --image-set-id ea92b0d8838c72a3f25d00d13616f87e \
    --version-id 1 \
    studymetadata.json.gz
```
Los metadatos devueltos se comprimen con gzip y se almacenan en el archivo studymetadata.json.gz. Para ver el contenido del objeto JSON devuelto, primero debe descomprimirlo.  
Salida:  

```
{
    "contentType": "application/json",
    "contentEncoding": "gzip"
}
```
Para obtener más información, consulta [Cómo obtener metadatos de conjuntos de imágenes](https://docs.aws.amazon.com/healthimaging/latest/devguide/get-image-set-metadata.html) en la *Guía para AWS HealthImaging desarrolladores*.  
+  Para obtener más información sobre la API, consulte [GetImageSetMetadata](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/medical-imaging/get-image-set-metadata.html)la *Referencia de AWS CLI comandos*. 

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

**SDK para Java 2.x**  

```
    public static void getMedicalImageSetMetadata(MedicalImagingClient medicalImagingClient,
            String destinationPath,
            String datastoreId,
            String imagesetId,
            String versionId) {

        try {
            GetImageSetMetadataRequest.Builder getImageSetMetadataRequestBuilder = GetImageSetMetadataRequest.builder()
                    .datastoreId(datastoreId)
                    .imageSetId(imagesetId);

            if (versionId != null) {
                getImageSetMetadataRequestBuilder = getImageSetMetadataRequestBuilder.versionId(versionId);
            }

            medicalImagingClient.getImageSetMetadata(getImageSetMetadataRequestBuilder.build(),
                    FileSystems.getDefault().getPath(destinationPath));

            System.out.println("Metadata 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 [GetImageSetMetadata](https://docs.aws.amazon.com/goto/SdkForJavaV2/medical-imaging-2023-07-19/GetImageSetMetadata)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)**  
Función de utilidad para obtener metadatos del conjunto de imágenes.  

```
import { GetImageSetMetadataCommand } from "@aws-sdk/client-medical-imaging";
import { medicalImagingClient } from "../libs/medicalImagingClient.js";
import { writeFileSync } from "node:fs";

/**
 * @param {string} metadataFileName - The name of the file for the gzipped metadata.
 * @param {string} datastoreId - The ID of the data store.
 * @param {string} imagesetId - The ID of the image set.
 * @param {string} versionID - The optional version ID of the image set.
 */
export const getImageSetMetadata = async (
  metadataFileName = "metadata.json.gzip",
  datastoreId = "xxxxxxxxxxxxxx",
  imagesetId = "xxxxxxxxxxxxxx",
  versionID = "",
) => {
  const params = { datastoreId: datastoreId, imageSetId: imagesetId };

  if (versionID) {
    params.versionID = versionID;
  }

  const response = await medicalImagingClient.send(
    new GetImageSetMetadataCommand(params),
  );
  const buffer = await response.imageSetMetadataBlob.transformToByteArray();
  writeFileSync(metadataFileName, buffer);

  console.log(response);
  // {
  //     '$metadata': {
  //     httpStatusCode: 200,
  //         requestId: '5219b274-30ff-4986-8cab-48753de3a599',
  //         extendedRequestId: undefined,
  //         cfId: undefined,
  //         attempts: 1,
  //         totalRetryDelay: 0
  // },
  //     contentType: 'application/json',
  //     contentEncoding: 'gzip',
  //     imageSetMetadataBlob: <ref *1> IncomingMessage {}
  // }

  return response;
};
```
Obtener metadatos del conjunto de imágenes sin versión.  

```
  try {
    await getImageSetMetadata(
      "metadata.json.gzip",
      "12345678901234567890123456789012",
      "12345678901234567890123456789012",
    );
  } catch (err) {
    console.log("Error", err);
  }
```
Obtener metadatos del conjunto de imágenes con la versión.  

```
  try {
    await getImageSetMetadata(
      "metadata2.json.gzip",
      "12345678901234567890123456789012",
      "12345678901234567890123456789012",
      "1",
    );
  } catch (err) {
    console.log("Error", err);
  }
```
+  Para obtener más información sobre la API, consulte [GetImageSetMetadata](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medical-imaging/command/GetImageSetMetadataCommand)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)**  
Función de utilidad para obtener metadatos del conjunto de imágenes.  

```
class MedicalImagingWrapper:
    def __init__(self, health_imaging_client):
        self.health_imaging_client = health_imaging_client


    def get_image_set_metadata(
        self, metadata_file, datastore_id, image_set_id, version_id=None
    ):
        """
        Get the metadata of an image set.

        :param metadata_file: The file to store the JSON gzipped metadata.
        :param datastore_id: The ID of the data store.
        :param image_set_id: The ID of the image set.
        :param version_id: The version of the image set.
        """
        try:
            if version_id:
                image_set_metadata = self.health_imaging_client.get_image_set_metadata(
                    imageSetId=image_set_id,
                    datastoreId=datastore_id,
                    versionId=version_id,
                )
            else:

                image_set_metadata = self.health_imaging_client.get_image_set_metadata(
                    imageSetId=image_set_id, datastoreId=datastore_id
                )
            print(image_set_metadata)
            with open(metadata_file, "wb") as f:
                for chunk in image_set_metadata["imageSetMetadataBlob"].iter_chunks():
                    if chunk:
                        f.write(chunk)

        except ClientError as err:
            logger.error(
                "Couldn't get image metadata. Here's why: %s: %s",
                err.response["Error"]["Code"],
                err.response["Error"]["Message"],
            )
            raise
```
Obtener metadatos del conjunto de imágenes sin versión.  

```
                image_set_metadata = self.health_imaging_client.get_image_set_metadata(
                    imageSetId=image_set_id, datastoreId=datastore_id
                )
```
Obtener metadatos del conjunto de imágenes con la versión.  

```
                image_set_metadata = self.health_imaging_client.get_image_set_metadata(
                    imageSetId=image_set_id,
                    datastoreId=datastore_id,
                    versionId=version_id,
                )
```
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 [GetImageSetMetadata](https://docs.aws.amazon.com/goto/boto3/medical-imaging-2023-07-19/GetImageSetMetadata)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_version_id = '1' (optional)
        IF iv_version_id IS NOT INITIAL.
          oo_result = lo_mig->getimagesetmetadata(
            iv_datastoreid = iv_datastore_id
            iv_imagesetid = iv_image_set_id
            iv_versionid = iv_version_id ).
        ELSE.
          oo_result = lo_mig->getimagesetmetadata(
            iv_datastoreid = iv_datastore_id
            iv_imagesetid = iv_image_set_id ).
        ENDIF.
        DATA(lv_metadata_blob) = oo_result->get_imagesetmetadatablob( ).
        MESSAGE 'Image set metadata 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 set 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 [GetImageSetMetadata](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.

**Transfiere metadatos de sintaxis**  
Al importar datos DICOM, HealthImaging mantiene el valor original del atributo de sintaxis de transferencia en los metadatos del conjunto de imágenes. La sintaxis de transferencia de los datos DICOM originales importados se almacena como. `TransferSyntaxUID` HealthImaging se utiliza `StoredTransferSyntaxUID` para indicar el formato utilizado para codificar los datos de los marcos de imagen en el almacén de datos: `1.2.840.10008.1.2.4.202` para los almacenes de datos habilitados para HTJ2 K (predeterminado) y `1.2.840.10008.1.2.4.90` para los almacenes de datos JPEG 2000 habilitados para Lossless.