java解析dcm文件
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文件相关推荐
- java解析dcm文件到jpg
1,下载源码编译 下载dcm3che源码 mvn install 2,gradle/maven 引用 compile ('org.dcm4che.tool:dcm4che-tool-dcm2jpg:5 ...
- java 解析 csv 文件
文章分类:JavaEye 一.貌似有bug,不行用 二.或 三. 的方法 Java代码 import java.io.BufferedReader; import java.io.FileInpu ...
- 用正则表达式和java解析csv文件
用正则表达式和java解析csv文件 作者:弹着钢琴设计 来源:博客园 发布时间:2009-06-15 18:31 阅读:337 次 原文链接 [收藏] 在解析csv文件之前,先来看看 ...
- java解析dxf文件_浅析JVM方法解析、创建和链接
一:前言 上周末写了一篇文章<你知道Java类是如何被加载的吗?>,分析了HotSpot是如何加载Java类的,干脆趁热打铁,本周末再来分析下Hotspot又是如何解析.创建和链接类方法的 ...
- java解析xml文件
使用java解析xml文件,通过dom4j. 代码如下: package com.java.team; import java.io.File; import java.util.ArrayList; ...
- java解析Excel文件
下文介绍java解析Excel文件的方案 前置准备 1.第三方jar包或者Maven配置 org.apache.poi的jar包 Maven配置如下 <groupId>org.apache ...
- XML解析 (JAVA解析xml文件)java+Dom4j+Xpath xml文件解析根据子节点得到父节点 查找校验xml文件中相同的节点属性值 java遍历文件夹解析XML
XML解析 (JAVA解析xml文件)java+Dom4j+Xpath xml文件解析根据子节点得到父节点 以及查找xml文件中相同的节点属性值 项目背景:这是本人实习中所碰到的项目,当时感觉很棘手, ...
- JAVA解析.xlsb文件
Java解析.Xlsb文件 pom.xml <dependency><groupId>org.apache.poi</groupId><artifactId& ...
- java解析xml文件的几种方式(DOM解析)
好久不用的东西,今天居然被面试官问到了.那既然这样,我们就一起回顾下java解析xml文件的几种方式吧. DOM解析 dom解析所需依赖是我们jdk自带的,所以只需要使用jdk为我们提供的接口即可上手 ...
- Java解析yaml文件
Java解析yaml文件 1. 什么是yaml ? 2. 导入maven依赖 3. yaml 案例文件 4. 示例代码 5. 解析结果 1. 什么是yaml ? 参考下方链接 yaml快速入门 2. ...
最新文章
- [转]在.NET环境中实现每日构建(Daily Build)--NAnt篇
- 在html中怎么制作友情链接,如何制作一个网页链接,用描文本、友情链接交易方式教你如何制作?...
- 使用内部(com.android.internal)和隐藏(@hide)API[第4部分,定制ADT]
- 前端学习(3148):react-hello-react之getSnapBeforeUpdate
- 喜马拉雅 Apache RocketMQ 消息治理实践
- 【registry】registry 0.9 源码 在 windows下运行
- linux 通配符与正则表达式
- httpservletresponse 重定向浏览器不变的原因_JavaWeb——Servlet——请求转发与响应重定向...
- flacs 安装教程_文章详细信息
- 【转】vc6.0配置STLPort
- web项目无法热更新
- 阵列信号处理 窄带信号与包络
- WiFi共享大师 去广告
- 计算机模拟水循环的过程,袋装水模拟做科学小实验水循环(步骤图解)
- 【安全篇 / 反病毒】(5.6) ❀ 01. 反病毒的基本配置 ❀ FortiGate 防火墙
- 网站被黑 怎么检测代码含有后门
- SQL“除非另外还指定了 TOP、OFFSET 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效“ 解决方法
- vue项目出现错误component lists rendered with v-for should have explicit keys
- 名帖204 蔡襄 行书《行书帖选》
- 华为nova3i 计算机在哪里,华为nova3i常见问题汇总,你想了解的都在这里
热门文章
- oracle设置系统权限,Oracle数据库权限管理
- 博主个人用的duilib版本
- 概率论07 联合分布
- 通过身份证地址或家庭地址获取行政区划代码
- 嵌入式C语言编程中经验教训总结(一) 详解const、static和volatile
- Handler 机制简介
- Visual Studio vs软件下载 vax Visual Assist X VAssistX
- Sublime Text 2 - 性感无比的代码编辑器!程序员必备神器!跨平台支持Win/Mac/Linux...
- codeblocks 汉化
- FC SAN、IP SAN、IB SAN