1,下载源码编译

下载dcm3che源码

mvn install

2,gradle/maven 引用

compile ('org.dcm4che:dcm4che-core:5.20.0'){exclude group: 'org.slf4j',module: 'slf4j-log4j12'}

3,编写工具类


import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import org.dcm4che3.data.Attributes;
import org.dcm4che3.data.Tag;
import org.dcm4che3.io.DicomInputStream;import java.io.IOException;
import java.io.InputStream;
import java.util.concurrent.ThreadLocalRandom;/*** dcm解析工具** @author zhy*/
@Slf4j
public class DcmUtil {private DcmUtil() {throw new IllegalStateException("Utility class");}/*** 读取Dicom源数据** @param inputStream dcm文件流* @return Attributes*/private static Attributes loadDicomObject(InputStream inputStream) throws IOException {DicomInputStream dis = new DicomInputStream(inputStream);return dis.readDataset(-1, -1);}/*** 解析dcm数据到对象** @param inputStream 输入流* @return Medical 自定义对象*/public static Medical conversionMedical(InputStream inputStream) {Attributes attrs;try {attrs = loadDicomObject(inputStream);if (attrs == null) {throw new MedicalViewerException("解析dcm出错,没有获取到数据!");}String[] imagePositionPatients = attrs.getStrings(Tag.ImagePositionPatient);
byte[] bytename = attrs.getBytes(Tag.PatientName);System.out.println("姓名: " + new String(bytename,"gb18030"));byte[] bytesex = attrs.getBytes(Tag.PatientSex);System.out.println("性别: " + new String(bytesex,"gb18030"));          return Medical.builder().modality(attrs.getString(Tag.Modality, "")).institutionName(attrs.getBytes(Tag.InstitutionName) == null ? "" :new String(attrs.getBytes(Tag.InstitutionName), "gb18030")).stationName(attrs.getBytes(Tag.StationName) == null ? "" :new String(attrs.getBytes(Tag.StationName), "gb18030")))).build();} catch (IOException e) {log.error(e.getMessage(), e);}return Medical.builder().build();}
}

java解析dcm文件相关推荐

  1. java解析dcm文件到jpg

    1,下载源码编译 下载dcm3che源码 mvn install 2,gradle/maven 引用 compile ('org.dcm4che.tool:dcm4che-tool-dcm2jpg:5 ...

  2. java 解析 csv 文件

    文章分类:JavaEye 一.貌似有bug,不行用 二.或 三. 的方法 Java代码   import java.io.BufferedReader; import java.io.FileInpu ...

  3. 用正则表达式和java解析csv文件

    用正则表达式和java解析csv文件 作者:弹着钢琴设计  来源:博客园  发布时间:2009-06-15 18:31  阅读:337 次  原文链接   [收藏]   在解析csv文件之前,先来看看 ...

  4. java解析dxf文件_浅析JVM方法解析、创建和链接

    一:前言 上周末写了一篇文章<你知道Java类是如何被加载的吗?>,分析了HotSpot是如何加载Java类的,干脆趁热打铁,本周末再来分析下Hotspot又是如何解析.创建和链接类方法的 ...

  5. java解析xml文件

    使用java解析xml文件,通过dom4j. 代码如下: package com.java.team; import java.io.File; import java.util.ArrayList; ...

  6. java解析Excel文件

    下文介绍java解析Excel文件的方案 前置准备 1.第三方jar包或者Maven配置 org.apache.poi的jar包 Maven配置如下 <groupId>org.apache ...

  7. XML解析 (JAVA解析xml文件)java+Dom4j+Xpath xml文件解析根据子节点得到父节点 查找校验xml文件中相同的节点属性值 java遍历文件夹解析XML

    XML解析 (JAVA解析xml文件)java+Dom4j+Xpath xml文件解析根据子节点得到父节点 以及查找xml文件中相同的节点属性值 项目背景:这是本人实习中所碰到的项目,当时感觉很棘手, ...

  8. JAVA解析.xlsb文件

    Java解析.Xlsb文件 pom.xml <dependency><groupId>org.apache.poi</groupId><artifactId& ...

  9. java解析xml文件的几种方式(DOM解析)

    好久不用的东西,今天居然被面试官问到了.那既然这样,我们就一起回顾下java解析xml文件的几种方式吧. DOM解析 dom解析所需依赖是我们jdk自带的,所以只需要使用jdk为我们提供的接口即可上手 ...

  10. Java解析yaml文件

    Java解析yaml文件 1. 什么是yaml ? 2. 导入maven依赖 3. yaml 案例文件 4. 示例代码 5. 解析结果 1. 什么是yaml ? 参考下方链接 yaml快速入门 2. ...

最新文章

  1. [转]在.NET环境中实现每日构建(Daily Build)--NAnt篇
  2. 在html中怎么制作友情链接,如何制作一个网页链接,用描文本、友情链接交易方式教你如何制作?...
  3. 使用内部(com.android.internal)和隐藏(@hide)API[第4部分,定制ADT]
  4. 前端学习(3148):react-hello-react之getSnapBeforeUpdate
  5. 喜马拉雅 Apache RocketMQ 消息治理实践
  6. 【registry】registry 0.9 源码 在 windows下运行
  7. linux 通配符与正则表达式
  8. httpservletresponse 重定向浏览器不变的原因_JavaWeb——Servlet——请求转发与响应重定向...
  9. flacs 安装教程_文章详细信息
  10. 【转】vc6.0配置STLPort
  11. web项目无法热更新
  12. 阵列信号处理 窄带信号与包络
  13. WiFi共享大师 去广告
  14. 计算机模拟水循环的过程,袋装水模拟做科学小实验水循环(步骤图解)
  15. 【安全篇 / 反病毒】(5.6) ❀ 01. 反病毒的基本配置 ❀ FortiGate 防火墙
  16. 网站被黑 怎么检测代码含有后门
  17. SQL“除非另外还指定了 TOP、OFFSET 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效“ 解决方法
  18. vue项目出现错误component lists rendered with v-for should have explicit keys
  19. 名帖204 蔡襄 行书《行书帖选》
  20. 华为nova3i 计算机在哪里,华为nova3i常见问题汇总,你想了解的都在这里

热门文章

  1. oracle设置系统权限,Oracle数据库权限管理
  2. 博主个人用的duilib版本
  3. 概率论07 联合分布
  4. 通过身份证地址或家庭地址获取行政区划代码
  5. 嵌入式C语言编程中经验教训总结(一) 详解const、static和volatile
  6. Handler 机制简介
  7. Visual Studio vs软件下载 vax Visual Assist X VAssistX
  8. Sublime Text 2 - 性感无比的代码编辑器!程序员必备神器!跨平台支持Win/Mac/Linux...
  9. codeblocks 汉化
  10. FC SAN、IP SAN、IB SAN