Debug: mayavi Cannot contour: No scalars in input data!

报错:

AttributeError: 'ImageChangeInformation' object has no attribute 'set_update_extent'

Cannot contour: No scalars in input data!

traits.trait_errors.TraitError: The 'vector_component' trait of a SmartVolumeMapper instance must be 0 <= a long integer <= 3, but a value of 1750425008 <class 'int'> was specified.

找了一天这个错误,终于找到正解:

而且解答者称这个错误仅存在于linux和osx上,也不知道他是开发者还是怎么着。

要改变vecor_component这个变量的定义,只是改该行,

vector_component = traits.Trait(2037150581, 2037150581, traits.Range(0, 3, enter_set=True, auto_set=False), help=\

改成

vector_component = traits.Trait(-1, help=\

这个变量位于下列地址的文件中:

/usr/local/lib/python3.6/dist-packages/mayavi-4.5.1.dev0-py3.6-linux-x86_64.egg/tvtk/tvtk_classes.zip/smart_volume_mapper.py

没有错,这个文件在一个压缩文件里,所以不方便直接改,要拷贝出来,自己放个地方。

解压后修改,修改好后再压缩。

然后进入拷贝的文件目录,运行:

sudo cp ./tvtk_classes.zip /usr/local/lib/python3.6/dist-packages/mayavi-4.5.1.dev0-py3.6-linux-x86_64.egg/tvtk/tvtk_classes.zip

这样就拷回去了,再执行代码就没有此类错误了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值