NOAA-PMEL / PyFerret

The PyFerret program and Python module from NOAA/PMEL
https://ferret.pmel.noaa.gov/Ferret/
The Unlicense
59 stars 22 forks source link

Add clean write-directly-to-PNG command-line option to PyFerret (Trac #2109) #22

Closed karlmsmith closed 8 years ago

karlmsmith commented 8 years ago

To speed PyFerret plotting for LAS, we need to make PNG plots faster. The -nodisplay mode saves the graphics internally and writes them to the requested type of image file when the /FRAME command is issued. Saving the image to a .png is too slow with this setup.

Add an option (-png?), like the -gif flag, that writes directly to image surface, cannot delete segments, and implies -nodisplay. This actually is what -gif does in PyFerret, but it also sets batch mode (with warnings) to save the final plot. Instead, this write directly to the Cario Image surface, issue not warnings, and do not auto-save at end.

karlmsmith commented 8 years ago

The -png command-line option added which writes directly to a Cairo image surface (and so implies -nodisplay). The existing -gif command-line option is now just an alias for -png and no longer gives any error messages but does not auto-save and image at the end. (-gif used to be aliased to -nodisplay -batch ferret.png)

Interestingly, with the -png command-line option, the thin-white-line issue is not a problem, so outlining of polygons (SET WIN /OUTLINE) is not needed.