输入类型不支持ufunc'bitwise_and',并且不能安全地强制输入

我在numpy中有两个3D浮点数组,分别表示两个Spec_opt <- list() Spec_opt$freq <- as.double(seq(-10,19,0.01)) # subset data subset1 <- Spec_opt$freq[Spec_opt$freq >= 18 & Spec_opt$freq < 18.5] subset2 <- Spec_opt$freq[Spec_opt$freq >= 18.5 & Spec_opt$freq < 19] # split data split(Spec_opt$freq,cut(Spec_opt$freq,breaks = c(17,17.5,18,18.5,19))) 加载的相同形状的MR图像。我想计算一个代表图像区域的遮罩,其中两个图像中的任何一个都不为零。我编写了以下简单代码:

nibabel

我遇到以下错误:输入类型不支持ufunc'bitwise_and',并且根据强制转换规则“ safe”不能将输入安全地强制转换为任何受支持的类型

为什么?我认为运算符nii = nib.load('./T1.nii.gz') t1 = nii.get_data() nii = nib.load('./T2.nii.gz') t2 = nii.get_data() mask = t1 > 0 & t2 > 0 >的{​​{3}}是正确的。首先完成&运算符,然后完成>,因此&操作位于两个大小相同的逻辑数组之间。问题出在哪里?

谢谢

melodylwx 回答:输入类型不支持ufunc'bitwise_and',并且不能安全地强制输入

来自评论:

(x>0)&(x<0)强制比较为第一。 – hpaulj 19年12月5日15:43

我所做的其他比较就是这种情况,如果要在同一条语句中对它们进行评估,则必须将它们封装在( )中。因此,您可以提前将它们放入另一个变量中进行评估,也可以封装它们

nii = nib.load('./T1.nii.gz')
t1 = nii.get_data()
nii = nib.load('./T2.nii.gz')
t2 = nii.get_data()

mask1 = t1 > 0
mask = mask1 & (t2 > 0)
本文链接:https://www.f2er.com/2971401.html

大家都在问