医学数字成像和通信 (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 时遇到任何问题,您可以考虑通过免费的 产品支持论坛 联系我们寻求快速解决方案。
相关文章
请访问以下链接以了解更多信息: