DCM у JPG

Перетворення DCM на JPG у Java

Digital Imaging and Communications in Medicine (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, ви можете звернутися до нас за швидким вирішенням через безкоштовний форум підтримки продуктів.

Схожі статті

Перейдіть за наведеними нижче посиланнями, щоб дізнатися більше про: