用于图像分析的感兴趣区域绘制工具(python)

2024-05-20 10:26:17 发布

您现在位置:Python中文网/ 问答频道 /正文

为了摆脱IDL和Matlab,我正在探索我需要用python/scipy等语言实现什么样的工具。一个常见的特性是显示医学图像和感兴趣的轮廓区域(例如IDL中的defroi或GIU版本的xroi)。在chaco和matplotlib中,有一些LassoSelection工具的例子很接近,但并不完全适合我的需要(我想单击单击多边形而不是拖动光标)。

是否有现有的工具可以做到这一点,或者我需要扩展和自定义现有的类?无论哪种情况,指向正确方向的指针都会有帮助。


Tags: 工具图像版本语言区域scipy特性感兴趣
3条回答

我认为您可以使用PyQTGraph来实现这个目的,https://launchpad.net/pyqtgraph。我只是谨慎地使用了它,因为它比matplotlib有更少的固有选项,但是它很快,而且它确实有一些内置的小部件,用于您感兴趣的ROI选择。不过,您可能会发现自己正在构建将matplotlib与PyQTGraph合并的自定义绘图例程,如果格式不同,这可能会引起麻烦,等等。这可能会导致更多的记帐,但可能会解决您的问题。

现在matplotlib有一个很好的小部件叫做“lassselector”,它使得自由多边形的绘制非常容易。

示例代码如下: http://matplotlib.org/examples/widgets/lasso_selector_demo.html

我的简约版:

from pylab import *
from matplotlib.widgets import LassoSelector

fig, ax = plt.subplots()
ax.imshow(np.random.randint(0,255,(255,255)), cmap='gray')

def onselect(verts):
    print verts

lasso = LassoSelector(ax, onselect)

subplots_adjust(left=0.1, bottom=0.1) 

在拍摄包含感兴趣区域绘图等功能的交互式数据可视化时,matplotlib似乎不太适合。虽然它当然处理事件处理等

到目前为止,我能想到的最好的办法就是以guiqwt的名义做出令人印象深刻的努力。它是基于PyQwt的,并且有一个相当多(相当容易满足)依赖项的列表。快速浏览一下他们的test examples of image visualization可以看到一个方便的工具集。安装和运行这些示例很容易。时间会告诉我,融入自己的工作是多么容易。

相关问题 更多 >