Migrate away from idl? [message #68681] |
Wed, 18 November 2009 15:29  |
Brian Larsen
Messages: 270 Registered: June 2006
|
Senior Member |
|
|
Hey all,
I have a quick poll for the experts out there. I recently learned
about (and was wowed) scipy and all the other python stuff that
basically make it a viable substitute for idl. I am wondering if
anyone has made the switch (if so why are you still on this usenet?)
or came away from python or has any advice at all?
Here is a gallery of plots and code from python matplotlib
http://matplotlib.sourceforge.net/gallery.html
I am seeing some cool advantages and some disadvantages too, ill list
a few to try and start a bit of discussion,
Sames:
array based a = a+1 for arrays
multiplatform
command line to test things out
all the same plots are there (or at least all I do)
+idl:
I already know it
code library that I am familiar with
Coyote's Guide to IDL Programming
+python:
no licensing fee
easier scriptable (like into web pages etc)
interactive plots that make iplot look like 1980
super easy export of plots to png, pdf, ps whatever even interactively
from the plot
seems like its up and coming
Cheers,
Brian
------------------------------------------------------------ --------------
Brian Larsen
Boston University
Center for Space Physics
|
|
|
|
|
|
|
|
|
|
|
Re: Migrate away from idl? [message #68746 is a reply to message #68681] |
Thu, 19 November 2009 14:52   |
Michael Galloy
Messages: 1114 Registered: April 2006
|
Senior Member |
|
|
mankoff wrote:
> On Nov 19, 9:22 am, mgalloy <mgal...@gmail.com> wrote:
>> Kenneth P. Bowman wrote:
>>> Python and the associated libraries are all open source, so
>>> here is nothing to stop someone from doing the work of
>>> assembling and building it for easy distribution and installation
>>> and then charging $50 or $100 for it, right?
>> Yes, there are several efforts in that area. I am most excited about
>> Python(x,y) (pythonxy.com/), which includes everything I need, but is
>> only available for Windows and Ubuntu. Add a Max OS X installer and rpms
>> for Fedora Core and that would be very enticing.
>>
>> Mike
>> --www.michaelgalloy.com
>> Research Mathematician
>> Tech-X Corporation
>
> I'm surprised nobody has mentioned the Enthought Python Distribution
> (EPD). Cross platform, free for academics. Reasonable license costs
> outside academia.
While paying for the EPD license for a developer is worth it, I'm
concerned about the license fees for distributing to others. IDL has the
VM which makes it free and easy to distribute IDL applications.
Mike
--
www.michaelgalloy.com
Research Mathematician
Tech-X Corporation
|
|
|
Re: Migrate away from idl? [message #68747 is a reply to message #68681] |
Thu, 19 November 2009 14:43   |
Mirko.Vukovic[1]
Messages: 7 Registered: August 2007
|
Junior Member |
|
|
On Nov 18, 6:29 pm, Brian Larsen <balar...@gmail.com> wrote:
> Hey all,
>
> I have a quick poll for the experts out there. I recently learned
> about (and was wowed) scipy and all the other python stuff that
> basically make it a viable substitute for idl. I am wondering if
> anyone has made the switch (if so why are you still on this usenet?)
> or came away from python or has any advice at all?
>
> Here is a gallery of plots and code from python matplotlibhttp://matplotlib.sourceforge.net/gallery.html
>
> I am seeing some cool advantages and some disadvantages too, ill list
> a few to try and start a bit of discussion,
>
> Sames:
> array based a = a+1 for arrays
> multiplatform
> command line to test things out
> all the same plots are there (or at least all I do)
>
> +idl:
> I already know it
> code library that I am familiar with
> Coyote's Guide to IDL Programming
>
> +python:
> no licensing fee
> easier scriptable (like into web pages etc)
> interactive plots that make iplot look like 1980
> super easy export of plots to png, pdf, ps whatever even interactively
> from the plot
> seems like its up and coming
>
> Cheers,
>
> Brian
>
> ------------------------------------------------------------ --------------
> Brian Larsen
> Boston University
> Center for Space Physics
I went for common lisp (CL).
Over the years I got more and more annoyed with the way I was coding
in IDL.
Then by chance, for a little project that required recursion, I
googled lisp books, and stumbled upon `Practical Common Lisp'. Using
it's Ch. 3 (and bits of 4-10), I solved my problem and got hooked.
Mind you, if you are looking for an array based language CL is not for
you. Graphics is also not as easy (I have an interface to Gnuplot).
But to me it brought back the fun in programming. Once I figured out
its use of various flavors of macros, my programs started looking
really cool and readable. Since macros allow you to define language
constructs suitable to your problem, the programs become much more
readable.
So, now I use it for system tasks, processing xml files, text files,
numerics (access to GSL and netlib routines).
However, all of the above is probably nowhere near as user friendly as
the mentioned Python interfaces. There is a steep and long learning
curve - to me the language looks like having more programming
dimensions (symbols, closures, macros) that IDL and similar tools.
Best,
Mirko
|
|
|
|
|
Re: Migrate away from idl? [message #68750 is a reply to message #68681] |
Thu, 19 November 2009 13:49   |
mankoff
Messages: 131 Registered: March 2004
|
Senior Member |
|
|
On Nov 19, 9:22 am, mgalloy <mgal...@gmail.com> wrote:
> Kenneth P. Bowman wrote:
>> Python and the associated libraries are all open source, so
>> here is nothing to stop someone from doing the work of
>> assembling and building it for easy distribution and installation
>> and then charging $50 or $100 for it, right?
>
> Yes, there are several efforts in that area. I am most excited about
> Python(x,y) (pythonxy.com/), which includes everything I need, but is
> only available for Windows and Ubuntu. Add a Max OS X installer and rpms
> for Fedora Core and that would be very enticing.
>
> Mike
> --www.michaelgalloy.com
> Research Mathematician
> Tech-X Corporation
I'm surprised nobody has mentioned the Enthought Python Distribution
(EPD). Cross platform, free for academics. Reasonable license costs
outside academia.
-k.
|
|
|
Re: Migrate away from idl? [message #68751 is a reply to message #68681] |
Thu, 19 November 2009 13:39   |
MarioIncandenza
Messages: 231 Registered: February 2005
|
Senior Member |
|
|
On Nov 19, 1:28 pm, David Fanning <n...@dfanning.com> wrote:
> Brian Larsen writes:
>> legend (Coyote)
>
> Hell, I wish I *had* written a LEGEND program. I'd probably
> be rich now! But I think this must be Ray Sterner's
> at JHUAPL or maybe a NASA Goddard routine.
The legend routine I use actually has a revision history:
; Modification history:
; write, 24-25 Aug 92, F K Knight (knight@ll.mit.edu)
; allow omission of items or omission of both psym and
linestyle, add
; corners keyword to facilitate multi-column legends, improve
place-
; ment of symbols and text, add guards for unequal size, 26
Aug 92, FKK
; add linestyle(i)=-1 to suppress a single symbol/line, 27 Aug
92, FKK
; add keyword vectorfont to allow characters in the sym/line
column,
; 28 Aug 92, FKK
; add /top, /bottom, /left, /right keywords for automatic
placement at
; the four corners of the plot window. The /right keyword
forces
; right-to-left printing of menu. 18 Jun 93, FKK
; change default position to data coords and add normal, data,
and
; device keywords, 17 Jan 94, FKK
; add /center keyword for positioning, but it is not precise
because
; text string lengths cannot be known in advance, 17 Jan 94,
FKK
; add interactive positioning with /position keyword, 17 Jan 94,
FKK
; allow a legend with just text, no plotting symbols. This
helps in
; simply describing a plot or writing assumptions done, 4 Feb
94, FKK
; added thick, symsize, and clear keyword Feb 96, W. Landsman
HSTX
; David Seed, HR Wallingford, d.seed@hrwallingford.co.uk
; allow scalar specification of keywords, Mar 96, W. Landsman
HSTX
; added charthick keyword, June 96, W. Landsman HSTX
; Made keyword names left,right,top,bottom,center longer,
; Aug 16, 2000, Kim Tolbert
; Added ability to have regular text lines in addition to plot
legend
; lines in legend. If linestyle is -99 that item is left-
justified.
; Previously, only option for no sym/line was linestyle=-1, but
then text
; was lined up after sym/line column. 10 Oct 2000, Kim
Tolbert
; Make default value of thick = !P.thick W. Landsman Jan. 2001
; Don't overwrite existing USERSYM definition W. Landsman Mar.
2002
|
|
|
|
Re: Migrate away from idl? [message #68753 is a reply to message #68681] |
Thu, 19 November 2009 13:24   |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
Ed Hyer writes:
> Does it take 10-20 extra lines to get your PostScript up to pub.
> quality in IDL? Yes it does, but you only have to write them once.
> IDL's default settings could be better, but if you expect the default
> settings to be exactly what you need, you're either doing something
> really simple, or you've little experience. It's amazing, reading this
> thread, to think how much damage IDL has done to themselves by not
> setting FONT=0 as the default for PostScript.
Well, not to mention BITS_PER_PIXEL=4 and COLOR=0.
Say what!? That is SO 1970's!
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
|
|
|
|
|
Re: Migrate away from idl? [message #68757 is a reply to message #68681] |
Thu, 19 November 2009 13:03   |
MarioIncandenza
Messages: 231 Registered: February 2005
|
Senior Member |
|
|
Here's my list:
1) Routines that should absolutely be builtin (with massive royalties
paid to the original authors, of course):
HIST_ND (JD Smith)
PERCENTILES (Martin Schultz)
SETUNION|INTERSECTION|DIFFERENCE (RSI)
SYMCAT (David Fanning)
2) Builtins that should work better:
- DIM keyword for MOMENT (how can we not have this?!?)
- Why can't OPLOT or PLOTS do what OPLOTS (no attribution) can
(separate symbols,colors,sizes for each element of an array, specified
with array keywords)? This function needs to be builtin especially
because OPLOTS just loops through, and is therefore very slow.
- Why can't STRSPLIT work on arrays of strings?
- "% Only three levels of variable concatenation are allowed."
As for other packages:
I have another project that committed early on to Perl Data Language
(PDL), mostly because someone had written an interface to read HDF
files into PDL, and Perl was a language we felt comfortable with. I
had to buy our systems guy a six-pack after he got PDL running on our
machines-- if I didn't have a "systems guy," I would probably have
quit and ported the whole thing to IDL. I strongly believe IDL is
worth the money, if it does nothing but install cleanly and fully
functional, which none of its current competitors (except Matlab)
do.
Does it take 10-20 extra lines to get your PostScript up to pub.
quality in IDL? Yes it does, but you only have to write them once.
IDL's default settings could be better, but if you expect the default
settings to be exactly what you need, you're either doing something
really simple, or you've little experience. It's amazing, reading this
thread, to think how much damage IDL has done to themselves by not
setting FONT=0 as the default for PostScript.
Does it take 300 lines of code to get an image overlaid on a map
decently? Yes it does-- well, there's definitely some room for
improvement there.
For applications pointed at "end-users" IDL is just a dog. But for
scientific users who aren't programmers by training, the incumbent
advantage of the millions of lines of IDL code free for the taking is
not to be dismissed lightly.
But I'm glad people continue to explore and report back, because like
David, I hope that it puts some pressure on ITTVis.
|
|
|
|
Re: Migrate away from idl? [message #68761 is a reply to message #68681] |
Thu, 19 November 2009 12:03   |
Trae
Messages: 23 Registered: May 2007
|
Junior Member |
|
|
WOW! I can't believe IDL allowed that routine!
Whether I switch to Python or not, that is amazingly useful.
-Trae
On Nov 19, 8:19 am, "Kenneth P. Bowman" <k-bow...@null.edu> wrote:
> In article
> < cf06c124-16f6-4455-bad3-4b6fc2570...@k17g2000yqh.googlegroup s.com >,
> Brian Larsen <balar...@gmail.com> wrote:
>
>> Hey all,
>
>> I have a quick poll for the experts out there. I recently learned
>> about (and was wowed) scipy and all the other python stuff that
>> basically make it a viable substitute for idl. I am wondering if
>> anyone has made the switch (if so why are you still on this usenet?)
>> or came away from python or has any advice at all?
>
> If I didn't have 20+ years of hard-won experience and a vast set
> of special-purpose IDL libraries I would have a serious look at
> Python. ITTVIS should be careful, inertia is not the best reason
> for sticking with a programming language. If they would make an
> effort to fix the ten most annoying things in IDL (24-bit Postscript)
> was on that list, it would go a long way toward making people happy.
> They could even consider breaking backwards compatibility (for new
> code).
>
> Python and the associated libraries are all open source, so
> here is nothing to stop someone from doing the work of
> assembling and building it for easy distribution and installation
> and then charging $50 or $100 for it, right?
>
> Ken Bowman
|
|
|
|
|
|
|
|
|
|
|
Re: Migrate away from idl? [message #68827 is a reply to message #68681] |
Thu, 26 November 2009 12:01   |
David Klassen
Messages: 27 Registered: December 2004
|
Junior Member |
|
|
On Nov 23, 11:23 am, alx <lecacheux.al...@wanadoo.fr> wrote:
> I am a little bit surprised by the lack of enthousiasm of many of you
> regarding current IDL.
...
> So, what is the problem ?
Having to continue paying over and over and over again
for software I already purchased. None of the development
of IDL has given me any added functionality (I'm a command
line kind of person, kludge programmer whose primary goal
is just doing science---IDL is just a tool for that) so I was
quite happy with 5.x.
The main issue: in order for two of us to combine our 3 and 6
copies to one server, we had to pay. To move our 9 copies to
a new server, we had to pay. When a network card died and
was replaced, we were told we had to pay again. And when
we moved our 9 copies to a new server, well, you get the idea.
I'm sick and tired of paying multiple times for software I've
already purchased.
|
|
|
|
|
Re: Migrate away from idl? [message #68851 is a reply to message #68681] |
Mon, 23 November 2009 18:34   |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
Alain writes:
> However, IDL has some firm basis and still appears to be a solid
> construct for scientists. I am afraid that many of us might be leaving
> IDL, being appealed by more recent and seducting tools, whose future
> is, in my opinion, not really guaranteed.
Thanks for this post. I mostly feel this way, too. I've
always believed you pretty much get what you pay for,
but many open source software projects are changing my
mind. (I'm not sure what I would do without ImageMagick
and Putty.)
What really concerns me, though, is how seriously I am
taking this Python suggestion. I've downloaded the xypython
distribution recommended by Mike Galloy, and my Python book
arrived today from Amazon. I plan to spend some time over
the holidays looking into it.
Any even more disconcerting is the fact I am not alone.
Today, completely unprompted by me, a colleague who I
consider a die-hard IDL user told me she was thinking
about learning Python so she could ditch partial solutions
like IDL and Perl. If we can figure out a way to use proj.4
and GDAL to do our map projections, we will probably both
dump IDL.
IDL is at significant risk, it seems to me, of losing people
who should be its core supporters. It would be a shame to
see that happen.
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
|
|
|
Re: Migrate away from idl? [message #68854 is a reply to message #68681] |
Mon, 23 November 2009 08:23   |
lecacheux.alain
Messages: 325 Registered: January 2008
|
Senior Member |
|
|
I am a little bit surprised by the lack of enthousiasm of many of you
regarding current IDL.
I am a French astronomer and use IDL since v2.0 (introduced to me, in
the mid 80s, by a visiting colleague from Colorado University). Since
then, IDL has taken over all other programming languages that I was
using (except in a few cases dealing with instrumentation or real time
programming).
Main advantadge of IDL, in my opinion, is that it can adapt very well
to very different programming situations: for quickly examining a
short subset of data, just as well as for developping large data
processing applications. But in the latter case, the executable code
can also be made quite efficient (even when compared to compiled C,
etc...) so long as you know how should be manipulated 'histogram',
'value_locate', 'where' and other ([array1])[array2] nice (but a bit
criptyc) IDL constructs.
With IDL, you can easily open any kind of file (of any format and/or
huge size), apply to data nearly any kind of scientific processing
(linking with external libraries is not very difficult) and produce
quite nice plots of publishable graphic quality, especially when using
'object graphics'. The general OO implementation is not perfect, but
is sufficient for nearly all purposes. 'Bridges' from and to other
environments are quite useful. IDL license is expensive but there is
the VM, which allow IDL executables to be run for free. Finally, a
rich library of nice user contributions is available.
So, what is the problem ?
I must admit that I would have expected to find, in the last few
years, more appealing novelties than ITools and the Workbench. The
ITools are not really helpful to me (and, I guess, to many, except for
learning how object graphics subtilities can be circumvented). And the
Workbench has disappointed many (or every ?) Windows user, and maybe
still contains bugs (or weaknesses, like the sudden breakpoint
inactivity, pointed out by David).
However, IDL has some firm basis and still appears to be a solid
construct for scientists. I am afraid that many of us might be leaving
IDL, being appealed by more recent and seducting tools, whose future
is, in my opinion, not really guaranteed.
Alx.
|
|
|
|
Re: Migrate away from idl? [message #69004 is a reply to message #68750] |
Wed, 09 December 2009 11:36  |
Josh
Messages: 21 Registered: June 2007
|
Junior Member |
|
|
> I'm surprised nobody has mentioned the EnthoughtPythonDistribution
> (EPD). Cross platform, free for academics. Reasonable license costs
> outside academia.
>
> -k.
I work for Visual Numerics and we offer a Python distribution, PyIMSL
Studio, that is free for noncommercial use and fully supported for
commercial users:
http://www.vni.com/campaigns/pyimslstudioeval/
One of the key things in PyIMSL Studio are Python wrappers to the
hundreds of math and stat routines in the IMSL C Numerical library
(for which IDL users have access to via the Analyst module). You can
install our full distribution or just the math/stat package into an
existing Python environment. So, if you want to get your feet wet with
Python, there are lots of IDL-to-Numpy cheat sheets out there, and the
analytical routines we offer greatly enhance what is available in
Scipy and may already be familiar to you.
|
|
|