2014-05-16 79 views
2

我有一個需要在遠程計算機上解析和呈現的海量文件,我已經有使用mayavi編寫的腳本來完成此操作。我想要做的是將圖像保存爲png,然後複製圖像並在本地查看。這通過將後端設置爲'Agg'來處理matplotlib非常簡單,但是我在使用mayavi時遇到了一些嚴重的問題。我已經按照蒞臨指導使用mayavi和python遠程繪圖

http://docs.enthought.com/mayavi/mayavi/tips.html

但問題是,進口MLAB單獨需要訪問xdisplay,所以我的建議甚至沒有虛擬窗口打開。

要重現此,通過SSH訪問一臺機器運行像簡單的Python腳本:

#!/usr/bin/python 
from mayavi import mlab 

,它就會因錯誤的標準;

無法訪問X顯示器,是否正確設置了$ DISPLAY?

如果任何人有修復這個,或遠程渲染3D圖像的替代路線我會很感激。由matplotlib提供的3D渲染不足以滿足我需要的任何建議,因此對於mayavi的替代方案的任何建議都將被讚賞。

+0

刪除了matplotlib標籤,因爲這與matplotlib無關。 – tacaswell

+2

你有沒有檢查關於虛擬framebuffer的提示? http://docs.enthought.com/mayavi/mayavi/tips.html#rendering-using-the-virtual-framebuffer – dpinte

回答

1

如果您使用的是運行X服務器的* nix平臺,請將rendering using the virtual framebuffer下的文檔中的解決方案作爲上面評論的dpinte使用。我以前成功地使用過這個方法,可以毫無頭緒地運行mayavi腳本。

其基本思想是啓動一個虛擬的X服務器,如Xvfb,然後在虛擬X服務器的顯示上下文中調用mayavi(是的,這個解釋不太對,但它就足夠了)。

+0

好這似乎會產生一個全新的錯誤,所以我猶豫了下來。我想這些問題是一個新問題的原因。感謝您的幫助,只是知道這實際上可以做的是有幫助的。 –