2014-04-14 45 views
0

我開始使用python作爲天文學家,我一直在使用包numdisplay來顯示和操作SAO ds9上的圖像。 我的大學的計算機實驗室最近更新了Linux版本到Debian 7.1。 我運行python 2.7.3 python 0.13.1和numdisplay v.1.5.6,pyds9 v.1.7和pyfits v2.3.1。numdisplay ds9在Debian linux上崩潰

我正在使用http://stsdas.stsci.edu/perry/pydatatut.pdf中給出的顯示程序。

一旦加載適合的圖像並打開ds9接口,我嘗試在ds9上顯示圖像,但ds9崩潰。 下面我在交互模式下使用以下步驟:

在[2]:進口pyfits如粉煤

在[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

錯誤消息的意思是「我會發送數據,但遠程端突然關閉了連接。」

因此,您需要檢查服務器的錯誤日誌以找出問題所在。這並不意味着客戶端是否正確(客戶端可能會向服務器發送非法數據,使其崩潰),但您需要先調試服務器第一個以瞭解中止連接的原因。