首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GetArrayFromImage - RuntimeError:找不到合适的模板参数。Python ITK

GetArrayFromImage - RuntimeError:找不到合适的模板参数。Python ITK
EN

Stack Overflow用户
提问于 2020-03-19 23:40:23
回答 1查看 124关注 0票数 0

我想问你关于Watershed3D的事。我尝试了这个页面中的https://www.kaggle.com/kmader/itk-watershed-to-label-bubbles算法,也使用了他们的数据集

代码语言:javascript
复制
def apply_watershed(in_vol, 
                    threshold = 0.01, 
                    level = 0.5):
    #(A rule of thumb is to set the Threshold to be about 1 / 100 of the Level.)
    Dimension = len(np.shape(in_vol))
    # convert to itk array and normalize
    itk_vol_img = itk.GetImageFromArray((in_vol*255.0).clip(0,255).astype(np.uint8))
    InputImageType = itk.Image[itk.ctype('unsigned char'), Dimension]
    OutputImageType = itk.Image[itk.ctype('float'), Dimension]
    dmapOp = itk.SignedMaurerDistanceMapImageFilter[InputImageType, OutputImageType].New(Input = itk_vol_img)
    dmapOp.SetInsideIsPositive(False)
    watershedOp = itk.WatershedImageFilter.New(Input=dmapOp.GetOutput())
    watershedOp.SetThreshold(threshold)
    watershedOp.SetLevel(level)
    watershedOp.Update()
    return itk.GetArrayFromImage(dmapOp), itk.GetArrayFromImage(watershedOp)

dmap_vol, ws_vol = apply_watershed(bubble_image) 

但是我得到了这个错误:

代码语言:javascript
复制
itk.GetArrayFromImage(watershedOp)
Error: line 248, in _GetArrayFromImage
raise RuntimeError("No suitable template parameter can be found.")
RuntimeError: No suitable template parameter can be found.

使用itk.GetArrayFromImage(watershedOp)时出现错误,使用itk.GetArrayFromImage(dmapOp)时不会出现错误。

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

发布于 2020-06-04 05:54:22

我认为错误是因为变量watershedOp是一个ITKWatershedImageFilter对象,而不是一个图像。您可以使用GetOutput()方法来检索输出图像。

代码语言:javascript
复制
return itk.GetArrayFromImage(dmapOp.GetOutput()), itk.GetArrayFromImage(watershedOp.GetOutput())
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60760494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档