我开始使用python作为天文学家,我一直在使用包numdiplay在SAO ds9上显示和操作图像。 我大学的计算机实验室最近将linux版本更新为Debian 7.1。 我正在使用python 0.13.1和numdisplay v.1.5.6,pyds9 v.1.7和pyfits v2.3.1运行python 2.7.3。
我正在使用http://stsdas.stsci.edu/perry/pydatatut.pdf中提供的显示程序。
加载拟合图像并打开ds9接口后,我尝试在ds9上显示图像,但ds9崩溃了。 以下是我在交互模式中使用的步骤:
在[2]中:将pyfits导入为pf
在[3]中:将numdisplay导入为nd
在[4]中:导入ds9
在[5]中:ds9.ds9()
输出[5]:ds9.ds9位于0xa3e870c
在[6]中:im = pf.getdata('M52b.fit')
在[7]中:nd.display(im)
我收到以下错误消息:
error Traceback (most recent call last)
<ipython-input-7-6988a1e88909> in <module>()
----> 1 nd.display(im)
/usr/local/lib/python2.7/dist-packages/numdisplay/__init__.pyc in display(self, pix, name, bufname, z1, z2, transform, zscale, contrast, scale, offset, frame)
395
396 # Initialize the specified frame buffer
--> 397 _d.setFrame(self.frame)
398 _d.eraseFrame()
399
/usr/local/lib/python2.7/dist-packages/numdisplay/displaydev.pyc in setFrame(self, frame_num)
405
406 code = self._LUT | self._COMMAND
--> 407 self._writeHeader(self._IIS_WRITE, code, -1, 0, 0, 0, 0)
408
409 # Update with user specified frame number
/usr/local/lib/python2.7/dist-packages/numdisplay/displaydev.pyc in _writeHeader(self, tid, subunit, thingct, x, y, z, t)
540 sum = 0xffff - (sum & 0xffff)
541 a[3] = sum
--> 542 self._write(a.tostring())
543
544 def close(self, os_close=os.close):
/usr/local/lib/python2.7/dist-packages/numdisplay/displaydev.pyc in _write(self, s)
578 n = len(s)
579 while n>0:
--> 580 nwritten = self._socket.send(s[-n:])
581 n -= nwritten
582 if nwritten <= 0:
error: [Errno 104] Connection reset by peer
In [8]:
有人能帮助我吗?
谢谢
马
答案 0 :(得分:0)
错误消息表示“我正在发送数据,但远程端突然关闭了连接。”
因此,您需要检查服务器的错误日志以找出问题所在。这并不意味着客户端是否正确(客户端可能会向服务器发送非法数据使其崩溃)但您需要先调试服务器 以找出中止连接的原因是