On 7/20/2012 12:52 PM, Doug Hunt wrote:
Hi all:  As the author of PDL::Graphics::PLplot, I'm happy to have a
default interactive plotting solution for PDL that is easy to install.
I've always thought that the difficulty of installation was a major
downside for PGPLOT and PLplot graphics solutions.  Both of these have a
bit of a hacked-together feel to them due to the fact that they are
interfaces to external libraries with their own complex set of rules and
procedures.

That said, I will continue to maintain and use PDL::Graphics::PLplot for
my own scripts and for the plots generated by my data center.

Thanks, I would still like to get PGPLOT and PLplot to
build/install out-of-the-box for PDL but I think the
Alien::Base work will lead to that eventually.

I would be interested in learning and using Prima for quick interactive
graphics, however.

I'm interested as well, particularly in implementing an
interactive device driver for PGPLOT and PLplot based
on OpenGL and (now) with Prima as the likely GUI wrapper
for the work.

--Chris

Regards,

   Doug

[email protected]
Software Engineer
UCAR - COSMIC, Tel. (303) 497-2611

On Fri, 13 Jul 2012, David Mertens wrote:

I have been in a car all day today and though I have been able to read
this email thread, I have not been able to respond.
Aaargh! But now I am in my hotel, so I can reply with my thoughts. :-)

On Fri, Jul 13, 2012 at 10:37 AM, chm <[email protected]> wrote:
      David and all-

      I think it is time to resolve the PDL graphics
      problem, "this missing link" by getting a basic,
      standard capability for PDL.

      I propose the standard display graphics for
      PDL be based on the Prima graphics toolkit
      by Karasik et. al. and the current code for
      PDL::Graphics::Prima by David Mertens.


This endorsement means a lot. I have stated before that this has been
a goal of my work with PDL::Graphics::Prima, and it means
a lot that you think we should focus on this as a working default.

To clarify, I am working on making PDL::Graphics::Prima flexible and
powerful. I have even started working on a Cairo backend,
which would make it possible to create publication-quality figures.
However, gnuplot, PLplot, and PGPLOT are currently superior
for making professional plots. The proposal here is to have a working
mess-with-my-data plotting library. When it comes time to
produce something for publication, we can and should encourage variety.

      A start would be to review the common usage
      of PGPLOT, PLplot, and Gnuplot to come up with
      a Top 10 of use cases to implement.  They
      should be *very* simple to use and have smart
      defaults so the common case versions of the
      Top 10 can be done in 1-line or less.  :-)


"Or less." Ha!

I have thus far not focused on targeting the major use cases of these
three plotting libraries, simply as a matter of time.
However, if users of these can point me to things that these libraries
do well and which P::G::Prima can emulate, I will be
happy to do so. I will also be more than happy to say, "This feature
is stolen from Other::Lib, so if you like it you should
check out Other::Lib."

In particular, I have a function called "imag_plot". I would really
like for that to emulate PGPLOT's imag function, but I'm
not sure how it handles the contrast. Any pointers?

      Motivation/justification:

      * More beginning PDL users thanks to the
        PDL Book and the increasing buildability
        and usability of PDL on all platforms.
        It makes it more glaring that we don't
        have a good, common, default graphics.


Agreed.

      * Alien::XXX development has not matured
        enough to allow easy use of PLplot and
        PGPLOT and it is arguable that we want
        the base display graphics to be readily
        available from perl/CPAN which Prima
        is.


Agreed. This was one major reason for my choosing Prima.

      * The use of Prima will provide an easy
        to use, default GUI environment for more
        sophisticated and user friendly PDL
        applications.


In my opinion, this is a major win and a second major reason for my
choosing Prima. I foresee that interactive data analysis
will only become more common, so having a full GUI toolkit is far more
useful than simply having a plotting library. (Which
reminds me that I need to write a tutorial on this in the
PDL::Graphics::Prima docs...)

      * If we could get that base graphics up
        and running for the next point release
        (which will include the new NiceSlice
        filter engine and 64bit indexing) we
        would have a compelling platform for
        future growth.



      One downside, I am not prepared to push
      this effort through as I'm pretty busy
      working to make time for the final 64bit
      index development and the new NiceSlice
      engine support (the missing piece is the
      ability to use NiceSlice in an eval such
      as the pdl2 or perldl shells.

      I'm hoping that David might be willing
      to spearhead this development and maybe
      hold off on the Core diving for a bit.


Hmm, interesting story here. I just had my annual review and my boss
has asked me to cease doing my research in Perl and work
with Python, just as the rest of the lab uses Python. A year ago I
didn't want to switch because I worried I might actually
jump to Python, but I am no longer concerned about that. Actually, I
am excited to learn as much as I can, and to steal what I
like back for Perl and PDL.

All of that means that I will have a harder time justifying
PDL-related programming at work. I still intend to do a little bit
of Perl development at work, but it will have to be more constrained.
Might I be able to lead the next point release? Maybe,
but I can't commit to it quite yet. I think I know what needs to
happen and how to do it, it's just a matter of having enough
time.

      At any rate, I think the time is right
      for this to happen and the sooner the
      better.

      Thoughts, comments, "volunteers"?

      --Chris


If we move forward with this, I foresee the following work ahead (in
addition to any other changes such as 64-bit support,
etc):

1) I will need to implement a number of planned features for
PDL::Graphics::Prima that I have been dragging out including
refined axis tweaks (including multiple axes), both text and drawn
figure annotations, and (based on the previous item) at
least basic support for legends. (An important feature that won't get
attention for this point release is the Cairo backend.
Sad.)
2) I will need to substantially improve the documentation for
PDL::Graphics::Prima, including one (or more) primers on Prima
itself.
3) We will need to comb through the PDL documentation and look for
examples and synopses that use PGPLOT (and possibly PLplot)
and replace them with P::G::Prima code.
4) We will need to go through the PDL::Book and replace basic examples
to use P::G::Prima. (Obviously, the chapters on PLplot
and PGPLOT will continue to use those libraries.)
5) We will need to write chapters for gnuplot and P::G::Prima.
6) The above documentation substitutions will necessitate a number of
additional P::G::Prima::Simple functions for those
one-liners Chris was talking about.
7) Does this mean that PDL::Drawing::Prima and PDL::Graphics::Prima
should be added to the PDL core? Or, should we simply
recommend the CPAN distributions that are already available? (I
actually prefer the latter, and would add PDL::Stats to the
recommendation list.)

Notice that there isn't a lot of PDL code that needs to change here,
just some of the docs.

I am on board with this proposal. I might be able to be orchestrate
the release, but I'd appreciate if somebody else could step
up here.

David

--
 "Debugging is twice as hard as writing the code in the first place.
  Therefore, if you write the code as cleverly as possible, you are,
  by definition, not smart enough to debug it." -- Brian Kernighan





-----
No virus found in this message.
Checked by AVG - www.avg.com
Version: 10.0.1424 / Virus Database: 2437/5142 - Release Date: 07/19/12



_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl

Reply via email to