I would like to run an IDL script in a python code, since I need to analyse the results of IDL code later in the python script but I have no idea how it works. I want to call this IDL script for example in a python code:
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
How could I do it?
Eric Brown
14k7 gold badges35 silver badges75 bronze badges
asked Aug 21, 2013 at 22:12
neuronphysics
211 silver badge3 bronze badges
-
2Please provide some examples of what have you tried already.BartoszKP– BartoszKP2013年08月21日 22:33:46 +00:00Commented Aug 21, 2013 at 22:33
3 Answers 3
The newest version of IDL (8.5) supports this natively, they provide their own bidirectional bridge for calling Python from IDL, and IDL from Python. Their docs are here: http://www.exelisvis.com/docs/pythontoidl.html
Some example code from their docs:
>>> 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)
answered Nov 5, 2015 at 16:04
spacemanjosh
7011 gold badge5 silver badges16 bronze badges
Sign up to request clarification or add additional context in comments.
Comments
lang-py