无法编写图像SimpleLastix(Python)
我尝试将以下示例作为库的一部分运行: 当我尝试运行上述代码时,出现以下错误(我正在显示部分输出):无法编写图像SimpleLastix(Python),python,c++,itk,simpleitk,Python,C++,Itk,Simpleitk,我尝试将以下示例作为库的一部分运行: 当我尝试运行上述代码时,出现以下错误(我正在显示部分输出): 回溯(最近一次呼叫最后一次): 文件“刚性_transform.py”,第8行,在 sitk.WriteImage(elastixImageFilter.GetResultImage()) 文件“/usr/local/lib/python2.7/dist packages/SimpleElastix-1.0.1rc1.dev331+gd756f-py2.7-linux-x86_64.egg/sim
回溯(最近一次呼叫最后一次):
文件“刚性_transform.py”,第8行,在
sitk.WriteImage(elastixImageFilter.GetResultImage())
文件“/usr/local/lib/python2.7/dist packages/SimpleElastix-1.0.1rc1.dev331+gd756f-py2.7-linux-x86_64.egg/simpletk/simpletk.py”,第8015行,以书面形式
返回_simpletk.WriteImage(*args)
NotImplementedError:重载函数“WriteImage”的参数数量或类型错误。
可能的C/C++原型包括:
itk::simple::WriteImage(itk::simple::Image const&,std::string const&,bool)
itk::simple::WriteImage(itk::simple::Image const&,std::vector>const&,bool)
我如何解决这个问题
编辑:根据@Dženan的回答,我得到了以下信息:
Traceback (most recent call last):
File "rigid_transform.py", line 8, in <module>
sitk.WriteImage(elastixImageFilter.GetResultImage(), 'result.jpg')
File "/usr/local/lib/python2.7/dist-packages/SimpleElastix-1.0.1rc1.dev331+gd756f-py2.7-linux-x86_64.egg/SimpleITK/SimpleITK.py", line 8015, in WriteImage
return _SimpleITK.WriteImage(*args)
RuntimeError: Exception thrown in SimpleITK WriteImage: /home/me/Desktop/SimpleElastix/build/ITK/Modules/IO/JPEG/src/itkJPEGImageIO.cxx:454:
itk::ERROR: JPEGImageIO(0x1a5daa0): JPEG supports unsigned char/int only
回溯(最近一次呼叫最后一次):
文件“刚性_transform.py”,第8行,在
sitk.WriteImage(elastixImageFilter.GetResultImage(),'result.jpg')
文件“/usr/local/lib/python2.7/dist packages/SimpleElastix-1.0.1rc1.dev331+gd756f-py2.7-linux-x86_64.egg/simpletk/simpletk.py”,第8015行,以书面形式
返回_simpletk.WriteImage(*args)
运行时错误:SimpleTk WriteImage:/home/me/Desktop/SimpleLastix/build/ITK/Modules/IO/JPEG/src/itkJPEGImageIO中引发异常。cxx:454:
itk::错误:JPEGImageIO(0x1a5daa0):JPEG仅支持无符号字符/int
谢谢。< /P> < P>如C++原型中所列出的,你缺少第二个参数,文件名。P>> P>如C++原型中所列出的,则缺少第二个参数,即文件名。p> 您缺少一个文件名。试试这个:
sitk.WriteImage(elastixImageFilter.GetResultImage(),'result.jpg')
编辑:您可以尝试其他文件扩展名:
result.png
,result.tif
,result.nrrd
,result.mha
等。您缺少文件名。试试这个:
sitk.WriteImage(elastixImageFilter.GetResultImage(),'result.jpg')
编辑:您可以尝试其他文件扩展名:
result.png
,result.tif
,result.nrrd
,result.mha
等。谢谢您的友好回答。请看我在问题中的编辑。你是对的,使用其他文件格式可以解决这个问题。例如,PNG不起作用,但其他的起作用。我目前正在尝试“nii”。非常感谢。谢谢你友好的回答。请看我在问题中的编辑。你是对的,使用其他文件格式可以解决这个问题。例如,PNG不起作用,但其他的起作用。我目前正在尝试“nii”。非常感谢。谢谢你友好的回答。请看我在问题中的编辑。谢谢你友好的回答。请查看问题中的“我的编辑”。此问题现在似乎是此问题的副本。此问题现在似乎是
Traceback (most recent call last):
File "rigid_transform.py", line 8, in <module>
sitk.WriteImage(elastixImageFilter.GetResultImage())
File "/usr/local/lib/python2.7/dist-packages/SimpleElastix-1.0.1rc1.dev331+gd756f-py2.7-linux-x86_64.egg/SimpleITK/SimpleITK.py", line 8015, in WriteImage
return _SimpleITK.WriteImage(*args)
NotImplementedError: Wrong number or type of arguments for overloaded function 'WriteImage'.
Possible C/C++ prototypes are:
itk::simple::WriteImage(itk::simple::Image const &,std::string const &,bool)
itk::simple::WriteImage(itk::simple::Image const &,std::vector< std::string,std::allocator< std::string > > const &,bool)
Traceback (most recent call last):
File "rigid_transform.py", line 8, in <module>
sitk.WriteImage(elastixImageFilter.GetResultImage(), 'result.jpg')
File "/usr/local/lib/python2.7/dist-packages/SimpleElastix-1.0.1rc1.dev331+gd756f-py2.7-linux-x86_64.egg/SimpleITK/SimpleITK.py", line 8015, in WriteImage
return _SimpleITK.WriteImage(*args)
RuntimeError: Exception thrown in SimpleITK WriteImage: /home/me/Desktop/SimpleElastix/build/ITK/Modules/IO/JPEG/src/itkJPEGImageIO.cxx:454:
itk::ERROR: JPEGImageIO(0x1a5daa0): JPEG supports unsigned char/int only