DCM a JPG

Convertir DCM a JPG en Java

Digital Imaging and Communications in Medicine (DICOM) es el estándar para la comunicación y gestión de información de imágenes médicas y datos relacionados. También contiene múltiples imágenes monocromáticas junto con un rico conjunto de metadatos. Dicha información puede ser cualquier cosa, desde información del paciente, institución, modalidad y más. Además, es popular porque pueden proporcionar fácilmente la integración de dispositivos de imágenes médicas como escáneres, servidores, estaciones de trabajo, impresoras, hardware de red. Sin embargo, para mostrar la imagen DICOM, necesitamos una aplicación específica y se vuelve realmente difícil cuando necesitamos mostrarla dentro de una página web. Entonces, una de las soluciones viables es convertir DICOM a formato JPG. Otro beneficio de los archivos JPEG es que contienen una sola imagen monocromática (o en color). Dado que la imagen JPG no tiene metadatos asociados, reduce el tamaño de la imagen y la salida también se comprime o es más pequeña.

API de conversión de imágenes DICOM

Aspose.Imaging Cloud SDK for Java le permite implementar capacidades de procesamiento de formatos de imagen populares. Puede editar y transformar imágenes rasterizadas, archivos de Photoshop, metarchivos y otros formatos como WebP. Del mismo modo, es igualmente capaz de procesar imágenes DICOM y lo vamos a utilizar para la conversión de formato DCM a JPG. Ahora, para comenzar con la utilización del SDK, debemos agregar su referencia en nuestro proyecto java incluyendo la siguiente información en pom.xml (proyecto de tipo de compilación maven).

<repositories> 
    <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>http://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>

<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-imaging-cloud</artifactId>
        <version>22.4</version>
    </dependency>
</dependencies>

Si ya nos registramos en Aspose Cloud Dashboard, obtenga sus credenciales de cliente de Cloud Dashboard. De lo contrario, primero debe registrar una cuenta gratuita mientras usa una dirección de correo electrónico válida.

Convertir DCM a JPG en Java

Esta sección proporciona los detalles sobre cómo cargar y convertir DCM a formato JPG utilizando un fragmento de código Java.

  • Cree un objeto de ImagingApi usando credenciales de cliente personalizadas
  • Ahora cargue el archivo DCM usando el método readAllBytes(…) y pase a la matriz byte[]
  • Cree una instancia de UploadFileRequest mientras proporciona un argumento de nombre de imagen DICOM y lo carga en el almacenamiento en la nube usando el método uploadFile(…)
  • El siguiente paso es crear un objeto de ConvertImageRequest que toma el nombre de DCM de entrada y JPG como argumentos.
  • Llame al método convertImage(…) para convertir DCM a formato JPG y el resultado se devuelve como flujo de respuesta
  • Finalmente, guarde el JPG resultante en la unidad local usando el objeto FileOutputStream
// Obtenga ClientID y ClientSecret de https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// crear objeto de imagen
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// cargar la imagen DICOM desde la unidad local
File file1 = new File("skull_2.dcm");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// crear objeto de solicitud de carga de archivo
UploadFileRequest uploadRequest = new UploadFileRequest("input.dcm",imageStream,null);
// cargue la imagen DICOM en el almacenamiento en la nube
imageApi.uploadFile(uploadRequest);

// especificar el formato de salida de la imagen
String format = "jpg";

// Crear objeto de solicitud de conversión de imagen
ConvertImageRequest convertImage = new ConvertImageRequest("input.dcm", format, null, null);
// convertir DCM a JPG y devolver la salida en el flujo de respuesta
byte[] resultantImage = imageApi.convertImage(convertImage);

// Guarde el JPG resultante en la unidad local
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Resultant.jpg");
fos.write(resultantImage);
fos.close();

La imagen DICOM de muestra utilizada en el ejemplo anterior se puede descargar de skull2.dcm y la salida de Resultant.jpg.

dcm a jpg

Imagen: - Vista previa de conversión de DCM a JPG

DCM a JPG usando comandos cURL

Además del lenguaje de programación, también se puede acceder a las API REST a través de comandos cURL. Dado que Aspose.Imaging Cloud está desarrollado según la arquitectura REST, en este artículo vamos a discutir los detalles sobre cómo convertir imágenes DICOM a JPG usando los comandos cURL. Los primeros pasos son generar un token de acceso JWT (basado en las credenciales del cliente) usando el siguiente comando.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Después de la generación de JWT, ejecute el siguiente comando para convertir DCM a formato JPG.

curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/input.dcm/convert?format=Resultant.jpg" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-o Resultant.jpg

Conclusión

Hemos discutido los detalles sobre cómo podemos convertir mediante programación imágenes DICOM a formato JPG utilizando Aspose.Imaging Cloud SDK para Java. Al mismo tiempo, también hemos explorado una opción para convertir DCM a JPG usando comandos cURL. Además, la Documentación del producto es una increíble fuente de información para conocer otras características interesantes que ofrece la API.

Tenga en cuenta que las características de la API también se pueden probar usando SwaggerUI dentro de un navegador web y el código fuente completo de Cloud SDK está disponible en GitHub (bajo licencia MIT), por lo que puede considerar descargar y modificándolo según su conveniencia. Por último, en caso de que encuentre algún problema al usar la API, puede considerar comunicarse con nosotros para una resolución rápida a través del foro de soporte del producto gratuito.

Artículos relacionados

Visite los siguientes enlaces para obtener más información sobre: