找回密码
 立即注册

QQ登录

只需一步,快速开始

sesan

高级会员

25

主题

103

帖子

1061

积分

高级会员

积分
1061

微信认证勋章

sesan
高级会员   /  发表于:2019-8-16 15:39  /   查看:7244  /  回复:14
RasterCodec类的某些选项可以在加载DICOM影像时候不占用内存,而是使用磁盘缓存的方式,但是我发现这个方法对一部分影像文件(附件中的work.dcm)有效,对某些影像文件(附件中的notwork.dcm)无效,有效的时候可以加载1000个影像内存仍在100M以内,无效的时候只要加载300个影像文件,内存就飙升到300M。我使用的加载代码如下:
  1. RasterCodecs codecs = new RasterCodecs();
  2. RasterDefaults.MemoryFlags = RasterMemoryFlags.Disk;
  3. RasterDefaults.TempFileMode = LeadTempFileMode.Disk;
  4. RasterDefaults.TemporaryDirectory = <缓存目录路径>;
  5. codecs.Options.Load.DiskMemory = true;

  6. // new rasterimage instance
  7. RasterImage image = codecs.Load(+@"notwork.dcm");

  8. //重现的时候,需要将notwork.dcm在同一个目录复制300遍,以便生成300个dcm文件
  9. string[] dcmFiles = Directory.GetFiles(<存放notwork.dcm的目录>);
  10. foreach (string sFile in dcmFiles)
  11. {
  12. RasterImage img = mCodecs.Load(sFile);
  13. image.AddPage(img);
  14. }
复制代码
请问这个问题如何解决?是不是我少设置了什么选项?


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

14 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-8-16 18:11:24
沙发
可以重现问题,我这边验证一下看看有什么解决的办法,然后给你回复
回复 使用道具 举报
南京老魏
注册会员   /  发表于:2019-8-20 16:39:07
板凳
对 TIFF 图像都有效吗?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-8-20 17:20:19
地板
是可以的,RasterImage支持非常多的图像格式
回复 使用道具 举报
sesan
高级会员   /  发表于:2019-9-3 11:02:09
5#
这问题什么时候能有结果?都过去半个月了
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-9-3 13:59:55
6#
本帖最后由 Richard.Ma 于 2019-9-3 14:27 编辑

抱歉,还在查找原因,我这里测试的结果是这个文件有时候可以实现缓存而不占用内存,但是有时候又会有内存占用,如果还是无法确定的话,我会将文件发送给厂商
有可能跟dcm格式的有关,另外测试了一个可以正常加载不占用内存的图片,保存到了notwork.dcm文件中作为图像,也会占用内存
回复 使用道具 举报
sesan
高级会员   /  发表于:2019-9-17 09:55:33
7#
已经一个月了 什么时候有结果 否则要影响我们项目上线了
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-9-17 11:11:24
8#
这个问题之前已经提交给厂商,但是还未得到反馈的结果,我今天会再和厂商确认,然后将他们之前创建的CASE编号发给你,方便你这边也可以直接和厂商沟通,从之前和厂商沟通的经验来说,如果是开发包本身的问题的话,可能处理会比较慢一些,有的需要在新版本才能修复。
回复 使用道具 举报
sesan
高级会员   /  发表于:2019-12-23 14:11:19
9#
Richard.Ma 发表于 2019-9-17 11:11
这个问题之前已经提交给厂商,但是还未得到反馈的结果,我今天会再和厂商确认,然后将他们之前创建的CASE编 ...

这问题什么时候能解决?项目要上线了
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-12-23 16:17:06
10#
抱歉这个问题拖了这么久,晚上会在线和leadtools厂商来确认问题进度,然后回复给你
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部