2017-08-22 39 views
0

我想使用pyraf在python中的一個代碼中使用iraf的任務imcopy。我的問題是,你必須在x和y中指定想要剪切圖像的範圍,但是我希望這些限制是變量,因爲所有內容都在一個循環內,我必須複製幾個區域。在python(pyraf)中使用imcopy(IRAF)從適合圖像中剪切像素時的可變限制

例如,我有這樣的:

img_seg =raw_input('Name of the segmentation image? ') 
iraf.imcopy(input=img_seg+'[200:220,300:400]',output='out') 

但是,如果我嘗試例如:

x1 = 200 
x2 = 220 
y1 = 300 
y2 = 400 
iraf.imcopy(input=img_seg+'[x1:x2,y1:y2]',output='out'), 

不起作用。它給我一個語法錯誤和消息錯誤(1,「輸入和輸出圖像的數量不相同」)

我一直在嘗試一段時間,但我一直無法做到。所以如果有人能向我解釋如何做到這一點,我會很高興,並且提前致謝!

ps。我的口氣與這個How to run a function on a list of objects in python/pyraf?類似,但答案基本上不在我身上。

回答

0

好吧,所以問題是IRAF只需要查看間隔,但是您可以使用python來構建IRAF所需的間隔。 所以所有人需要做的是:

iraf.imcopy(input=img_seg+'['+str(x1)+':'+str(x2)+','+str(y1)+':'+str(y2)+']',output='out')