我正在尝试编写一个导入指定CDF数据文件的函数,将图像格式化为numpy数组并对图像进行一些细微的改进以删除background.This工作正常,但是当我尝试定义时遇到错误数组的名称作为我函数中的一个参数:
from netCDF4 import Dataset
import numpy as np
def importfunction(datafile, imagelabel):
f = Dataset(datafile)
locationfloatfield = f.variables['FloatField']
floatfield = locationfloatfield[:]
img = floatfield.flatten()
img = scipy.signal.detrend(img)
imagelabel = np.reshape(img, (256, 256))
imagelabel += abs(imagelabel.min())
imagelabel *= (1.0/imagelabel.max())
我尝试将数组标记为在调用函数时指定的imagelabel。但是,当我调用此函数时,我收到此错误:
importfunction('..../CS191mk2153-M-Xp-Topo.nc', label)
NameError: name 'label' is not defined
我不确定如何解决这个问题
答案 0 :(得分:1)
也许您想要做的是:
def importfunction(datafile):
f = Dataset(datafile)
locationfloatfield = f.variables['FloatField']
floatfield = locationfloatfield[:]
img = floatfield.flatten()
img = scipy.signal.detrend(img)
imagelabel = np.reshape(img, (256, 256))
imagelabel += abs(imagelabel.min())
imagelabel *= (1.0/imagelabel.max())
return imagelabel
然后致电:
label = importfunction('..../CS191mk2153-M-Xp-Topo.nc')