0

我刚刚开始探索 NiftyNet,我认为这将对我的项目有所帮助。

我正在尝试使用分段应用程序训练网络进行分段。但是,我构建了自己的 config.ini 文件,并且在运行 net_run.py 时收到错误消息:

“错误:参数--axcodes:预期的字符串列表,对于每个列表元素,允许的字符:[a-zA-Z0-9_-],但收到''”

我正在关注配置文件要求设置axcodes=A,R,S。我还尝试了不同的字符串列表 ('A','R','S'; [A,R,S]; (A,R,S); ...)

我的 config.ini 文件指出:

[T2]
csv_file = /home/jose/niftynet/data/uNet/test_data/data_file.csv
spatial_window_size = (257,257,30)
pixdim = (1.0, 1.0, 1.0)
axcodes= A,R,S
interp_order = 1

我究竟做错了什么?

4

2 回答 2

0

您可能已经尝试过axcodes=['A', 'R', 'S']仅返回字母“A”、“R”和“S”,并且可能会触发错误,因为程序会在每个字符串中查找另一种类型的信息。所以我认为您正在寻找以A = str(A)正确方式使用变量的方法,即'variable value A转换为“字符串 A”。

在 [A, R, S] 的情况下,变量之一可能是整数。尝试:

A = str(A)
R = str(R)
S = str(S)

axcodes = [A, R, S]

在 ('A', 'R', 'S') 的情况下,您指的是元组列表中的字符串,而不是列表列表。

在 (A,R,S) 的情况下,您指的是元组列表之外的变量。

另外:尝试使用print "Variable "%s" is type %s" % (A, type(A))并查看类型的变量“A”是什么。

编辑 1

尝试以下操作(文件:根文件夹“。”包括;括号放置并interp_order增加到默认值)

csv_file = ./home/jose/niftynet/data/uNet/test_data/data_file.csv
spatial_window_size = (257,257,30)
pixdim = (1.0, 1.0, 1.0)
axcodes= (A,R,S)
interp_order = 3

编辑 2

根据此处的文档,它应该是axcodes=('A', 'R', 'S'),但您说您尝试过。也许字母顺序是关键。

于 2018-02-06T11:47:18.537 回答
0

问题出在 config.ini 文件的其余部分。

[parcellation]部分我有另一个axcodes=''给出错误。

于 2018-02-06T15:05:21.493 回答