错误:无法将字符串转换为float(CordZ)

时间:2017-08-08 06:50:28

标签: python csv numpy python-imaging-library simpleitk

我试图根据CSV文件中给出的坐标从CT图像中提取结节斑块。我一直在worldcoord行得到这个错误信息:无法将字符串转换为浮点数(CordZ)。我不太清楚该怎么做。

到目前为止,我有这个:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using System.Collections;
namespace Rextester
{
    public class Program
    {
        public static void Main(string[] args)
        {
            var l = new List<string> { "1D", "25B", "30A", "9C" };
    l.Sort((b, a) =>
    {
        var x = int.Parse(Regex.Replace(a, "[^0-9]", ""));
        var y = int.Parse(Regex.Replace(b, "[^0-9]", ""));
        if (x != y) return y - x;
        return -1 * string.Compare(a, b);
    });

    foreach (var item in l) Console.WriteLine(item);

        }
    }
}

2 个答案:

答案 0 :(得分:0)

我还必须指定CSV文件的行号。所以我做了:

for cand in cands[1:]

答案 1 :(得分:0)

“仅整数,切片(:),省略号(...),numpy.newaxis(无)和整数或布尔数组为有效索引的解决方案”

更改

patch = numpyImage [voxelCoord[0],voxelCoord[1]- voxelWidth/2:voxelCoord[1]+voxelWidth/2,voxelCoord[2]-voxelWidth/2:voxelCoord[2]+voxelWidth/2]

patch = numpyImage [int(voxelCoord[0]),int(voxelCoord[1])- int(voxelWidth/2):int(voxelCoord[1])+int(voxelWidth/2),int(voxelCoord[2])-int(voxelWidth/2):int(voxelCoord[2])+int(voxelWidth/2)]