

Slow transferring large Python arrays to IDL, e.g., 20,000 doubles in 12-15s.Restrictive limits on size of Python dictionaries to send to IDL structures.If Python is force-killed when IDL is running, IDL will persist and run wild.Then idl.output_parameter to retrieve the output. Python variables cannot be used as "output" parameters for IDL proceduresĪnd functions use idl('my_procedure, output_parameter') to run the procedure.> idl = pidly.IDL( long_delay = 0.05) # default is 0.02. Mac OS X with IDL 7.1.1 and Python 2.7.5.Mac OS X with IDL 7.1.1 and Python 3.4.1.The following are required, but should be installed automatically if youįollow the installation instructions below: PIDLy requires NumPy, SciPy and Pexpect, but these will (hopefully!) be installed automatically if you follow the instructions below. But it should be fine for most applications. It's not particularly fast, so not suitable for applications which require huge amounts of data to be passed around with ease. PIDLy works by launching an IDL session as a child application and then passing data between Python and the IDL shell. I was inspired by pyIDL, which looks great but which I couldn't manage to install. This module has been written to enable an IDL session to be controlled from within Python. test out input dimensions.PIDLy: IDL within Python Control ITT's IDL (Interactive Data Language) from within Python.Ĭopyright (c) 2008-2017, Anthony since pIDLy was written, IDL has developed a two-way Python Bridge. Sz, sz, sz, sz, over = keyword_set(over))Ĩ : return, reform(array, sz, sz, sz, sz, $ Sz, sz, sz, over = keyword_set(over))ħ : return, reform(array, sz, sz, sz, $ Message, 'reshape must not change number of elements in array'ġ : return, reform(array, sz, over = keyword_set(over))Ģ : return, reform(array, sz, sz, over = keyword_set(over))ģ : return, reform(array, sz, sz, sz, over = keyword_set(over))Ĥ : return, reform(array, sz, sz, sz, $ĥ : return, reform(array, sz, sz, sz, $Ħ : return, reform(array, sz, sz, sz, $ If n_elements(array) ne n_elements(template) then $ Print, 'result = reshape(array, template, )' SIDE EFFECTS: The structure of array is changed if /over is set MODIFICATION HISTORY April 2010: Written by Chris Beaumont -įunction reshape, array, template, over = over This can save significant time and memory with lines like 'a = reshape(a, template, /over)' if a is large OUTPUTS: A reformed version of array whose shape matches that of template. template: The array whose shape you wish to match KEYWORD PARAMETERS: over: If set, array is overwritten on output. It reforms an array to match the shape of template array. + PURPOSE: This function is a wrapper to the builtin REFORM procedure.
