DCM в JPG

Преобразование DCM в JPG на Java

Цифровая визуализация и передача данных в медицине (DICOM) — это стандарт для передачи и управления информацией о медицинских изображениях и связанными данными. Он также содержит несколько монохромных изображений вместе с богатым набором метаданных. Такой информацией может быть что угодно: информация о пациенте, учреждении, модальности и многое другое. Кроме того, они популярны, потому что они могут легко обеспечить интеграцию медицинских устройств визуализации, таких как сканеры, серверы, рабочие станции, принтеры, сетевое оборудование. Однако для отображения изображения DICOM нам нужно специальное приложение, и это становится очень сложно, когда нам нужно отобразить его на веб-странице. Таким образом, одним из жизнеспособных решений является преобразование DICOM в формат JPG. Еще одним преимуществом файлов JPEG является то, что они содержат одно монохромное (или цветное) изображение. Поскольку изображение JPG не имеет связанных метаданных, оно уменьшает размер изображения, а вывод также сжимается/уменьшается по размеру.

API преобразования изображений DICOM

Aspose.Imaging Cloud SDK для Java позволяет реализовать возможности обработки популярных форматов изображений. Вы можете редактировать и преобразовывать растровые изображения, файлы Photoshop, метафайлы и другие форматы, такие как WebP. Точно так же он в равной степени способен обрабатывать изображения DICOM, и мы собираемся использовать его для преобразования DCM в формат JPG. Теперь, чтобы начать использовать SDK, нам нужно добавить его ссылку в наш проект Java, включив следующую информацию в pom.xml (проект типа сборки maven).

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

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

Если мы уже зарегистрировались на Aspose Cloud Dashboard, получите учетные данные клиента на Cloud Dashboard. В противном случае вам необходимо сначала зарегистрировать бесплатную учетную запись, используя действующий адрес электронной почты.

Преобразование DCM в JPG на Java

В этом разделе подробно описано, как загрузить и преобразовать DCM в формат JPG с помощью фрагмента кода Java.

  • Создайте объект ImagingApi, используя персонализированные учетные данные клиента.
  • Теперь загрузите файл DCM с помощью метода readAllBytes(…) и перейдите в массив byte[]
  • Создайте экземпляр UploadFileRequest, предоставив аргумент имени изображения DICOM и загрузив его в облачное хранилище с помощью метода uploadFile(…)
  • Следующим шагом является создание объекта ConvertImageRequest, который принимает имя DCM и JPG в качестве аргументов.
  • Вызовите метод convertImage(…) для преобразования DCM в формат JPG, и результат будет возвращен в виде потока ответа.
  • Наконец, сохраните полученный JPG на локальный диск, используя объект FileOutputStream.
// Получите ClientID и ClientSecret с https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// создать объект изображения
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// загрузить изображение DICOM с локального диска
File file1 = new File("skull_2.dcm");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// создать объект запроса загрузки файла
UploadFileRequest uploadRequest = new UploadFileRequest("input.dcm",imageStream,null);
// загрузить изображение DICOM в облачное хранилище
imageApi.uploadFile(uploadRequest);

// укажите выходной формат изображения
String format = "jpg";

// Создать объект запроса преобразования изображения
ConvertImageRequest convertImage = new ConvertImageRequest("input.dcm", format, null, null);
// преобразовать DCM в JPG и вернуть результат в поток ответа
byte[] resultantImage = imageApi.convertImage(convertImage);

// Сохраните полученный JPG на локальный диск
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Resultant.jpg");
fos.write(resultantImage);
fos.close();

Образец изображения DICOM, использованный в приведенном выше примере, можно загрузить из skull2.dcm, а выходные данные — из Resultant.jpg.

dcm в jpg

Изображение: предварительный просмотр преобразования DCM в JPG

DCM в JPG с помощью команд cURL

Помимо языка программирования, к REST API также можно получить доступ с помощью команд cURL. Поскольку Aspose.Imaging Cloud разработан в соответствии с архитектурой REST, поэтому в этой статье мы подробно обсудим, как конвертировать изображения DICOM в JPG с помощью команд cURL. Первым шагом является создание токена доступа JWT (на основе учетных данных клиента) с помощью следующей команды.

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"

После генерации JWT выполните следующую команду, чтобы преобразовать DCM в формат 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

Заключение

Мы обсудили детали того, как мы можем программно конвертировать изображения DICOM в формат JPG с помощью Aspose.Imaging Cloud SDK для Java. В то же время мы также изучили возможность преобразования DCM в JPG с помощью команд cURL. Кроме того, Документация по продукту — прекрасный источник информации о других интересных функциях, предлагаемых API.

Обратите внимание, что функции API также можно протестировать с помощью SwaggerUI в веб-браузере, а полный исходный код Cloud SDK доступен на GitHub (под лицензией MIT), поэтому вы можете рассмотреть возможность загрузки и модифицируя его по своему усмотрению. Наконец, если вы обнаружите какие-либо проблемы при использовании API, вы можете обратиться к нам за быстрым решением через бесплатный форум поддержки продукта.

Статьи по Теме

Пожалуйста, перейдите по следующим ссылкам, чтобы узнать больше о: