Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 显示具有NaN值的32位图像(ImageJ)_Python_Image Processing_Imagej - Fatal编程技术网

Python 显示具有NaN值的32位图像(ImageJ)

Python 显示具有NaN值的32位图像(ImageJ),python,image-processing,imagej,Python,Image Processing,Imagej,我编写了一个多语言3-D图像去噪ImageJ插件,它对图像执行一些操作,并将去噪后的图像作为1-D数组返回。一维数组包含NaN值(在边周围)。一维阵列将转换回图像堆栈并显示。它简直是黑色的。我保存了图像堆栈并再次在ImageJ中打开它。我将光标移到图像上,看到值发生了应有的变化。在某些地方(我假设神经元是),像素值在1000-4000之间。然而,整个画面简直是漆黑一片。下面是一段代码,该代码将数组转换为末尾的图像堆栈: # Image-denoising routines written in

我编写了一个多语言3-D图像去噪ImageJ插件,它对图像执行一些操作,并将去噪后的图像作为1-D数组返回。一维数组包含NaN值(在边周围)。一维阵列将转换回图像堆栈并显示。它简直是黑色的。我保存了图像堆栈并再次在ImageJ中打开它。我将光标移到图像上,看到值发生了应有的变化。在某些地方(我假设神经元是),像素值在1000-4000之间。然而,整个画面简直是漆黑一片。下面是一段代码,该代码将数组转换为末尾的图像堆栈:

# Image-denoising routines written in C (this is where the nan values are introduced)
fimg = JNApackage.NativeCodeJNA.NativeCall(InputImgArray, medfiltArray, int(searchradius), int(patchradius), beta , int(x), int(y), int(z))



# Optimal Inverse Anscombe Transform (Some more operations in Jython)
fimg = InverseAnscombe.InvAnscombe(fimg)

InputImg.flush()

outputstack = ImageStack(x, y, z )  

for i in xrange(0, z):  
    # Get the slice at index i and assign array elements corresponding to it.
    outputstack.setPixels(fimg[int(i*x*y):int((i+1)*x*y)], i+1)

print 'Preparing denoised image for display '
outputImp = ImagePlus("Output Image", outputstack)    
#print "OutputImage Stats:"
Stats = StackStatistics(outputImp)
print "mean:", Stats.mean, "minimum:", Stats.min, "maximum:", Stats.max 

outputImp.show()

关于发生了什么有什么帮助吗

图像的显示范围可能未正确设置

试一试


有关详细信息,请参阅。

图像的显示范围可能未正确设置

试一试


有关详细信息,请参阅。

图像的显示范围可能未正确设置

试一试


有关详细信息,请参阅。

图像的显示范围可能未正确设置

试一试


有关更多信息,请参阅。

第二行代码有效。尽管如此,这整件事还是很奇怪。此算法的不完整版本(不包含NaN值)不存在此显示范围问题。你知道这个问题是怎么引起的吗?第二行代码是有效的。尽管如此,这整件事还是很奇怪。此算法的不完整版本(不包含NaN值)不存在此显示范围问题。你知道这个问题是怎么引起的吗?第二行代码是有效的。尽管如此,这整件事还是很奇怪。此算法的不完整版本(不包含NaN值)不存在此显示范围问题。你知道这个问题是怎么引起的吗?第二行代码是有效的。尽管如此,这整件事还是很奇怪。此算法的不完整版本(不包含NaN值)不存在此显示范围问题。你知道这个问题是怎么引起的吗。
outputImp.resetDisplayRange()
outputImp.setDisplayRange(Stats.min, Stats.max)