Вызов сценария IDL в Python

Я хотел бы запустить IDL-скрипт в коде python, так как мне нужно проанализировать результаты IDL-кода позже в скрипте python, но я не знаю, как это работает. Я хочу назвать этот сценарий IDL, например, в коде python:

pro plotgaussian, center, sigma, X=x, Y=y x = findgen(1000) / 999; numbers running 0 to 1 in steps of 0.001 x = x * 6 * sigma - 3 * sigma; widen x to range over 6 sigma x = x + center; center the x range on the bell curve center arg = ((x – center)/sigma)^2 y = exp(-arg) plot, x, y end 

Как я могу это сделать?

    Новейшая версия IDL (8.5) поддерживает это изначально, они предоставляют свой собственный двунаправленный мост для вызова Python из IDL и IDL из Python. Их документы находятся здесь: http://www.exelisvis.com/docs/pythontoidl.html

    Некоторые примеры кода из их документов:

     >>> from idlpy import IDL >>> arr = IDL.findgen(100)/50*3.14159 >>> x = 50*IDL.sin(arr) >>> y = 50*IDL.cos(arr) >>> m = IDL.map(test=1) % Compiled module: MAP. >>> p = IDL.plot(x - 90, y, 'r-o2', overplot=1) % Compiled module: PLOT. >>> p = IDL.plot(x + 90, y, 'b-o2', overplot=1) >>> m.save('map.png', resolution=96, border=0, transparent=1) 

    Попробуйте pyIDL . Google для этого, я не уверен, где живет самая последняя версия. Кажется, он довольно старый, вам, возможно, придется немного поработать над преобразованием из numarray в NumPy.

    Совсем недавно поддерживаемый, чем pyIDL кажется pIDLy . Я не пробовал (я не IDL-пользователь).