醫學數字成像和通信 (DICOM) 是醫學成像信息和相關數據的通信和管理標準。它還包含多個單色圖像以及一組豐富的元數據。此類信息可以是患者信息、機構、醫療器械等任何信息。此外,它之所以受歡迎,是因為它們可以輕鬆提供醫療成像設備的集成,例如掃描儀、服務器、工作站、打印機、網絡硬件。然而,為了顯示 DICOM 圖像,我們需要特定的應用程序,當我們需要在網頁中顯示它時,這就變得非常困難。因此,可行的解決方案之一是將 DICOM 轉換為 JPG 格式。 JPEG 文件的另一個好處是它包含單個單色(或彩色)圖像。由於 JPG 圖像沒有關聯的元數據,因此它減小了圖像的大小並且輸出也被壓縮/變小了。
DICOM 圖像轉換 API
Aspose.Imaging Cloud SDK for 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 獲取您的客戶端憑據。否則,您需要先使用有效的電子郵件地址註冊一個免費帳戶。
在 Java 中將 DCM 轉換為 JPG
本節詳細介紹如何使用 Java 代碼片段加載 DCM 並將其轉換為 JPG 格式。
- 使用個性化客戶端憑據創建 ImagingApi 對象
- 現在使用 readAllBytes(…) 方法加載 DCM 文件並傳遞給 byte[] 數組
- 創建 UploadFileRequest 實例,同時提供 DICOM 圖像名稱參數並使用 uploadFile(…) 方法將其上傳到雲存儲
- 下一步是創建一個 ConvertImageRequest 對象,它將輸入的 DCM 名稱和 JPG 作為參數
- 調用 convertImage(…) 方法將 DCM 格式轉換為 JPG 格式並將結果作為響應流返回
- 最後,使用 FileOutputStream 對象將生成的 JPG 保存到本地驅動器
// 從 https://dashboard.aspose.cloud/ 獲取 ClientID 和 ClientSecret
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 下載。
使用 cURL 命令將 DCM 轉為 JPG
除了編程語言,REST API 也可以通過 cURL 命令訪問。由於 Aspose.Imaging Cloud 是按照 REST 架構開發的,因此在本文中,我們將詳細討論如何使用 cURL 命令將 DICOM 圖像轉換為 JPG。第一步是使用以下命令生成 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
結論
我們已經詳細討論瞭如何使用 Aspose.Imaging Cloud SDK for Java 以編程方式將 DICOM 圖像轉換為 JPG 格式。同時,我們還探索了使用 cURL 命令將 DCM 轉換為 JPG 的選項。此外,產品文檔 是了解 API 提供的其他令人興奮的功能的絕佳信息來源。
請注意,API 功能也可以在網絡瀏覽器中使用 SwaggerUI 進行測試,Cloud SDK 的完整源代碼可在 GitHub(在 MIT 許可下)上獲得,因此您可以考慮下載並根據您的方便修改它。最後,如果您在使用 API 時遇到任何問題,您可以考慮通過免費的 產品支持論壇 聯繫我們尋求快速解決方案。
相關文章
請訪問以下鏈接以了解更多信息: