Dicom文件基本操作
官方文档
网址:https://github.com/fo-dicom/fo-dicom
托管在github上。
官方例子
Dicom文件基本操作
var file = DicomFile.Open(@"test.dcm"); // 打开文件var file = await DicomFile.OpenAsync(@"test.dcm"); // 异步打开
file中保存了dicomFile信息。
var dataSet =file.Dataset(); // dataSet中保存的是dcm的基本数据,标签信息及piexldata信息。
读取标签var patientid = file.Dataset.Get<string>(DicomTag.PatientID);
添加并修改标签file.Dataset.Add(DicomTag.PatientsName, "DOE^JOHN");
改变TransferSyntax属性,用图像数据的压缩等。file = file.ChangeTransferSyntax(DicomTransferSyntax.JPEGProcess14SV1);
file.Save(@"output.dcm"); // 保存文件到本地file.Dataset.Remove(DicomTag.PixelData); 删除标签
图像操作
图像数据存贮在PixelData中,根据其DicomTag.NumberOfFrames帧数的设置,可知其有多少帧图像数据。获取第一帧图像数据可用var pixel = DicomPixelData.Create(file.Dataset);var frame = pixel.GetFrame(0);得到第一帧数据,可在此数据中进行设置,或者这样idx第几帧var header = DicomPixelData.Create(dataset);var pixelData = PixelDataFactory.Create(header, idx);
图像压缩解决方案
可使用 file = file.ChangeTransferSyntax(DicomTransferSyntax.ExplicitVRLittleEndian);
进行解压缩。
然后在设置 file = file.ChangeTransferSyntax(DicomTransferSyntax.JPEG2000Lossless);进行压缩。
图像显示
|
1
2
3
4
|
var image = new DicomImage(@"test.dcm");
image.RenderImage().AsBitmap().Save(@"test.jpg");
ImageManager.SetImplementation(WPFImageManager.Instance);
(WriteableBitmap) image.RenderImage().AsWriteableBitmap();
|
Dicom文件基本操作的更多相关文章
- java之文件基本操作
java之文件基本操作 1 使用 BufferedReader 在控制台读取字符 public static void readChar() throws IOException{ char c; I ...
- Linux - 文件基本操作管理
文件基本操作管理 复制文件和目录 格式: Cp 源文件(文件夹) 新目标文件名(文件夹) 相同目录下,指定文件名. 不同目录下,不需要指定文件名. 参数: –r:递归复制整个目录树. –v:再复制 ...
- (大数据工程师学习路径)第一步 Linux 基础入门----目录结构及文件基本操作
Linux 目录结构及文件基本操作 介绍 1.Linux 的文件组织目录结构. 2.相对路径和绝对路径. 3.对文件的移动.复制.重命名.编辑等操作. 一.Linux 目录结构 在讲 Linux 目录 ...
- Linux 01 Liunx目录结构及文件基本操作
Linux目录结构及文件基本操作 1.Linux的文件组织目录结构(遵循FHS标准) FHS(Filesystem Hierarchy Standard)标准:多数Linux版本采用这种文件组织形式, ...
- Dicom文件转mhd,raw文件格式
最近在整理与回顾刚加入实验室所学的相关知识,那会主要是对DICOM这个医疗图像进行相应的研究,之前有一篇博客已经讲述了一些有关DICOM的基本知识,今天这篇博客就让我们了解一下如何将Dicom文件转为 ...
- 文件基本操作 (C语言)
一切皆文件 ---Linux 头文件 <stdio.h> 中定义了文件的相关操作 #include <stdio.h> 文件操作基本流程: 打开:fopen 相关操作 关闭:f ...
- Linux 目录结构及文件基本操作
Linux 目录结构及文件基本操作 实验介绍 1.Linux 的文件组织目录结构. 2.相对路径和绝对路径. 3.对文件的移动.复制.重命名.编辑等操作. 一.Linux 目录结构 在讲 Linux ...
- NO.4day LINUX centos 文件基本操作
LINUX centos 文件基本操作 1 LINUX简介 Linux的定义:Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CP ...
- 实验楼学习linux第一章第四节linux目录结构及文件基本操作
linux目录结构及文件基本操作 常用命令 切换目录 cd 当前目录 . 上一级目录 .. (.和..开头的都是隐藏文件) 查看隐藏文件 ls -a 上一级所在目录 - 当前用户home目录 ~ 获取 ...
随机推荐
- IDEA开发工具使用 git 创建项目、拉取分支、合并分支
转载自:https://blog.csdn.net/qq_39470733/article/details/80366435 工作中多人使用版本控制软件协作开发,常见的应用场景归纳如下: 假设小组中有 ...
- 如何完美获得一个double值的整数部分
如果是java有float类型的向上取整:Math.ceil() //只要有小数都+1向下取整:Math.floor() //不取小数四舍五入:Math.round() //四舍五入 如果是C++:方 ...
- java.math.BigDecimal cannot be cast to [Ljava.lang.Object;
从数据库中使用sum函数取出统计值后,放进list中,遍历list的时候强转化成Object是报错. BigDecimal .Integer不是基本类型,是int的包装类,无法把包装当做基本类型来用. ...
- My97DatePicker 4.8
https://jeesite.gitee.io/front/my97/demo/index.htm
- visual studio 项目中使用EF创建的数据库,后续更新数据库操作(生产已经部署,不能删除数据库重新创建)
情景:SharePoint项目(其他类型的项目道理也一样),数据库是用EF(版本:6.0.0.0)创建的,生产环境已经使用,所以后续修改数据库,只能通过更新来实现. 下面是具体的操作方式: 1.vis ...
- 又一款开源图标库 CSS.GG,值得一用
嗨,我是 Martin,也叫老王,今天推荐一款好用的开源图标库. 我们平常找图标往往会去 iconfont 但是今天,我们看了 Martin 的文章之后,就会有一个新的选择--CSS.GG Githu ...
- css实现1px 像素线条_解决移动端1px线条的显示方式
使用CSS 绘制出 1px 的边框,在移动端上渲染的效果会出现不同,部分手机发现1px 线条变胖了,这篇文章整理2种方式实现1px 像素线条. 1.利用box-shadow + transform & ...
- box-shadow,text-shadow
box-shadow:inset 30px 40px 20px #f00; 如上实例,总共五个参数,其中第一个代表阴影是向内阴影还是向外阴影,第二个参数代表向右(从左向右)的偏移量,第三个参数代表向下 ...
- Spark TempView和GlobalTempView的区别
Spark TempView和GlobalTempView的区别 TempView和GlobalTempView在spark的Dataframe中经常使用,两者的区别和应用场景有什么不同. 我们以下面 ...
- vs遇到的字符串问题
原以为自己的字符串已经理解不错了, 今天又被vs搞了. 情景就不说了, 直接说结果: 有两种情况 1 当文件是存储为gbk或者utf-8的时候, 中文字符存储永远是gbk的值. ‘按’字的gbk编码 ...