0

我正在尝试使用 pyraf 在 python 的一个代码中使用 iraf 的任务 imcopy。我的问题是您必须在 x 和 y 中指定要剪切图像的范围,但我希望这些限制是变量,因为一切都在一个循环中,我必须复制几个区域。

例如,我有这个:

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'),

那是行不通的。它给了我一个语法错误和消息ERROR (1, "Number of input and output images not the same")

我已经尝试了一段时间,但我无法做到。因此,如果有人能解释我如何做到这一点,我会很好,并提前感谢!

附言。我的答案类似于这个如何在 python/pyraf 中的对象列表上运行函数?,但那里的答案基本上是什么对我不起作用。

4

1 回答 1

0

好的,关键是 IRAF 只需要查看间隔,但您可以使用 python 来构建 IRAF 所需的间隔。所以大家需要做的是:

iraf.imcopy(input=img_seg+'['+str(x1)+':'+str(x2)+','+str(y1)+':'+str(y2)+']',output='out')
于 2017-08-23T09:43:53.733 回答