biggles icon indicating copy to clipboard operation
biggles copied to clipboard

anti-aliased x11 viewer

Open esheldon opened this issue 8 years ago • 7 comments

The current x11 viewer shows a not anti-aliased view. It would be good if this could use AA, but that isn't supported in plotutils

I added a method _show_eps that can do this, but it requires writing an eps first, and using gs to view it. This is very slow over ssh and is interactive, so is a no go.

esheldon avatar Feb 26 '17 20:02 esheldon

I think Cairo with pygtk would fix this.

beckermr avatar Mar 06 '17 14:03 beckermr

On 3/6/17, Matthew R. Becker [email protected] wrote:

I think Cairo with pygtk would fix this.

I don't think we should require gtk, pretty heavy and lots of systems don't have it installed, and not pip installable.

One of the nice things about plotutils is it doesn't require any gui framework at all, just requires the X11 lib.

But we might be able to compromise and use something that is pip installable; maybe tkinter? Although that does require tcl installation as well.

-- You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub: https://github.com/biggles-plot/biggles/issues/64#issuecomment-284413324

-- Erin Scott Sheldon Brookhaven National Laboratory erin dot sheldon at gmail dot com

esheldon avatar Mar 06 '17 15:03 esheldon

I see what you mean. For Cairo, you don't get X11 window management without pygtk.

We could bundle plotuitls source code and have the Cairo backend be optional.

beckermr avatar Mar 06 '17 16:03 beckermr

This would render the whole thing pip installable while allowing us to use a modern lib for notebooks etc.

beckermr avatar Mar 06 '17 16:03 beckermr

bundling plotutils is possible; I bundled cfitsio for the fitsio package. It doesn't take too much work. And since plotutils is no longer maintained, we don't have to worry about it getting out of date :)

In fact we would likely want to make modifications. I wonder if we could add some kind of simple anti-aliasing to the X11 view at the cost of some speed.

esheldon avatar Mar 06 '17 16:03 esheldon

I went down the modify plotutils road. It is a bear and prob not worth the time. Better to move to a new backend that supports an alpha channel, etc.

beckermr avatar Mar 06 '17 17:03 beckermr

I agree the code is difficult to work with.

Other backends could also support 3d images which would be nice (pyx does).

But it will be significant work in any case; for pyx we need some kind of viewer, either spawn to an external viewer (simple in OSX, just call open, a bit more work for linux) or hack up a simple X11 viewer (could rip this code from plotutils?). For pycairo we need to work around the case where gtk isn't available. etc.

esheldon avatar Mar 06 '17 17:03 esheldon