如何解决医学影像记忆管理的问题? [英] How can I solve the problem of Medical Image memory management?

查看:114
本文介绍了如何解决医学影像记忆管理的问题?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们编写了一个软件来处理医学影像,所有的图像都是Dicom.Now,我们有关于内存管理的问题,我们的电脑是Win7 32位+ 4G + VS2010,我们使用ITK + VTK来读取并且显示图像。当处理大于200M的图像时,它将被称为bad_Alloc。我们认为它可能是ITK的限制?我们想找到一种有效的方法让内存管理器处理大图像。控制内存不到1G更好。

等待好消息!

We program a software to process the Medical Image,all of the image fomat is Dicom.Now, we have a problem about the memory management, our computer is Win7 32 Bit + 4G +VS2010, We use ITK + VTK to read and display the image.When processing the image which is larger than 200M, it will be called the bad_Alloc.We think that it maybe the limition of the ITK? We want to find an effective method for the memory managerment to process the large image.It is better to control the memory less than 1G.
Waiting for good news!

推荐答案

较旧的32位系统并不适合大量的像素图形;应用程序可访问的内存限制为2GB,可以增加到3GB左右。您可以通过限制一次显示的图形数量来减少内存消耗。你甚至可以显示由一组较小位图组成的一位位图,同时显示几个位图并平移图像,从而产生一个大图像的错觉。



-SA
Older 32-bit systems are not really suitable for big volumes of pixel graphics; the memory accessible by applications is limited to 2GB, could be increased to some 3GB. You can reduce memory consumption by limiting amount of graphics shown at once. You can even show one bit bitmap composed by an array of smaller bitmaps, showing few at the same time and panning image the way making the illusion of one big image.

—SA






如何加载DicomData?

你把它装在一个大容器中吗?这可能会造成麻烦,因为分配大块内存会导致bad_alloc异常,因为此sice没有剩余块(碎片问题)。



我建议分别处理卷的每个片段以避免遇到此问题。

加载一个200MB的块时遇到麻烦的概率高于加载20 * 10MB的内存块。



一旦使用Matlab,我遇到了这种问题。逐个加载数据,将其保存到列表中的2D容器中解决了这个问题。
Hi,

How do you load the DicomData?
Do you load it in one big chunk into a 3D Container? This might make trouble because allocating big chunks of memory can throw bad_alloc exceptions due to the fact that there is no chunk left of this sice (fragmentation issue).

I recommend handling each slice of the volume separately to avoid running into this issue.
The probability to get trouble loading one chunk with 200MB is higher than loading 20*10MB chunks of memory.

I ran into this kind of problem once using Matlab. Loading the data slice by slice, saving it into 2D containers in an list solved the issue.


这篇关于如何解决医学影像记忆管理的问题?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆