找回密码
 欢迎注册
搜索
热搜: 活动 交友 discuz
查看: 2624|回复: 10

请教dicom图像jpegls的解法

[复制链接]
发表于 2009-4-17 15:00:40 | 显示全部楼层 |阅读模式
各位老大:
     我本着学习的态度自已做了jpegls图像的解压算法,试了几种CT图片,效果还算可以,最近有一种MR图片,解压后图像上1/4、3/4处出现一片横线,想了很多方法没有解决,在此请各位高人指点一下,先谢谢了。
    注:此图片是有RST标志的,每RST处是FFD*FF00,我是在RST处重查的Humffan表,不知对否,另外只显示差值时,横线不是很重,只是图像略有纽曲,加上预测就有明显横线,但不是很密
发表于 2009-4-17 15:22:27 | 显示全部楼层
先发个效果图上来看看哈
 楼主| 发表于 2009-4-18 09:12:07 | 显示全部楼层

效果图

预测值为Y=A,实际值a(i)=a(i)+a(i-1)

差值

差值

a(i)=a(i)+a(i-1)

a(i)=a(i)+a(i-1)
 楼主| 发表于 2009-4-18 09:23:52 | 显示全部楼层

图像文件

用其它工具软件可以正常输出,文件应没有问题,我刚接触dicom,不知是差值错,还是预测公式不对,但七个公式我都试过了,只有Y=A最像,不知还有其它公式没有,另外每行首列差值均为-65535左右,我是均加2的16次方,不知对不对,请诸位高手多多指教.

Mr.rar

155.85 KB, 下载次数: 10

 楼主| 发表于 2009-4-20 15:49:52 | 显示全部楼层

大家帮帮我呀

怎么没人帮忙呀,另外我还有一个问题,(0028,0103)象素表示,在标准里说:"象素样本的数据表示。列出的值:0000H=无符号整数0001H=2的补码。"我不知这两种算法的区别,我曾把1改为0,1改0,但图像还正常显示,请高人指点,谢谢了
发表于 2009-4-21 08:09:54 | 显示全部楼层
暂时没思路,至于0000H和0001H,当然有区别,你用一些16位灰度图就可以比较出来,比如,如果不用补码得到的值是65533,明显太大了是不正确的值
 楼主| 发表于 2009-4-21 09:16:28 | 显示全部楼层
先感谢mouse大哥的指点,使我冷了的心情又暖了:-);
     至于0000H和0001H问题,以上dcm文件就是16位灰度图,,(0028,0103)处原来的0001,我把它改为0000另存了一个文件,可这两个文件用ezdicom和一个DICOM网关程序都能正常打开,且没有区别,我才有此一问;
     而上述图像问题我看到dicom标准中对传输语法"1.2.840.10008.1.2.4.70"有"Selection Value 1"的描述,我想预测值为Y=A应是对的,错误出在RST处最大,我对rst的处理不是太理解,网上也没有找到相应的资料,mouse大哥及诸位网友如有这方面的东东还望不要吝啬:)......
发表于 2009-4-21 09:56:34 | 显示全部楼层
压缩主要看是不是分段的,如果不分段那最简单,直接全部取出来然后解压缩就可以了,似乎目前大多数都是这么做的,建议你也别非要与众不同,如果是分段的,那就要逐个解,复杂些,具体看标准第5章
你可以找个别人已经压缩过的图像先分析下看能否正确解出,然后参考对照着做自己的压缩
 楼主| 发表于 2009-4-21 15:51:49 | 显示全部楼层
不是我要与众不同,文件就是这样的,封装别人的库是快,但咱不是为了学习吗,要的是过程而不是结果,感谢mouse大哥的提醒,我再好好看看第5章
 楼主| 发表于 2009-4-29 20:54:31 | 显示全部楼层
终于解开了,问题是Huffman码不能大于16位,再次感谢mouse大哥
发表于 2009-4-29 23:15:24 | 显示全部楼层
恭喜,具体问题还是得具体分析才能得到结果,呵呵
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

快速回复 返回顶部 返回列表