您的位置:首页 > 其它

胶片曝光时的排版

2015-07-30 10:53 239 查看
转自:/article/6019811.html

这个本来没啥 不是什么算法 绝技。 都不值得一提。

其实这个是医学影像胶片曝光时排版的一个逻辑。

dicom标准第三部分 主要是讲IOD定义 在第166页有这样的描述:

表C.13.5-1图象盒象素描述组件

属性名称 标记       说明
图象位置 (2020,0010)  基于图象显示格式(2010,0010)的胶片的图象位置。
参阅C.13.5.1的规范。

这个所谓的“基于图象显示格式(2010,0010)的胶片的图象位置”到底是啥意思呢 ?还是像往常一样拿个实例瞧瞧:
20 20 10 00 ............ ..
00000010 02 00 00 00 02 00
20 20 10 00 ............ ..
00000010 02 00 00 00 03 00

dicom数据元素的结构就不多说了哈 详情请查看dicom标准。只看最后两位,可见这个所谓的“基于图象显示格式(2010,0010)的胶片的图象位置” 就是一个个的从前到后的排序。从设备工作站发送胶片曝光作业的时候 根据dicom协议 图像传输 那么它就是以这种 “序列”的方式发送的。
再看dicom标准另外一段 第三部分167页 :

C.13.5.1图象位置

胶片中图象的位置;图象位置序列的编码是基于选择的图象显示格式
(2010,0010)。图象位置序列以值1递增。
图象位置(2020,0010)定义如下:
- 标准显示格式:图象盒序列是主要行顺序(从左到右或从上到下);左上图象位置等于1。
- 行显示格式:图象盒序列是主要行顺序(从左到右或从上到下);左上图象位置等于1。
- 列显示格式:图象盒序列是主要列顺序(从左到右或从上到下);左上图象位置等于1。
- SLIDE显示格式:图象盒序列是主要行顺序(从左到右或从上到下);左上图象位置等于1。
- SUPERSLIDE显示格式:图象盒序列是主要行顺序(从左到右或从上到下);左上图象位置等于1。

关于ImgBox 的几种方式的细节我们暂时不去管 只管第一种 ,因为就我遇到的 90%以上都是 “标准显示格式”在胶片曝光dimse的过程中 createFilmBox 的时候 会收到一个参数 command元素0x20100010, 它的值是类似这样STANDARD\1,1 这个standard 就是表示 这是一个“标准显示格式” 逗号分隔开的两个数字 第一个是列数 第二个是行数。标准显示格式就是: (在一个指定行数列数的网格里把图像按从左到右从上到下的方式排列)
如图:

Paper film = new Paper(3, 2);
film.addImg(Image.FromFile("1.jpg"));
film.addImg(Image.FromFile("2.jpg"));
film.addImg(Image.FromFile("3.jpg"));
film.addImg(Image.FromFile("4.jpg"));
film.addImg(Image.FromFile("5.jpg"));
film.addImg(Image.FromFile("6.jpg"));

film.layout();


View Code





源码及测试文件下载猛击此处
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: