[ncl-talk] high resolution png image

Kyle Griffin ksgriffin2 at wisc.edu
Thu Oct 30 14:35:32 MDT 2014


Interesting. I would agree on having a couple of examples. In the meantime,
a couple of thoughts...

Between the cnRasterCellSizeF and cnRasterSampleFactorF, you can
essentially set the cell size to be infinitely small (e.g. 1e-30, within
the range of float still) and keeping the sample factor at 1.0 should keep
the cells no smaller than the size of the grid itself, correct? If this was
done, is there any computational efficiency to be gained versus using an
AreaFill? Might depend on the data itself, I suppose, but it would seem
that the infinitely-small limit of RasteFill is essentially CellFill mode,
but perhaps more computations (such as averaging all data points
contributing a cell - in this case this is 1, but don't know if the average
is removed in this limiting case) which would make CellFill more example in
this limiting case, perhaps? Either way, you could avoid
wkWidth/Height-dependent calculations with the sample factor limit, if I'm
reading the documentation correctly.

I think the application Micah has in mind would involve transferring the
image over the web and using a browser-side piece of software to subset the
image to the desired visible region. Plotting resolution issues were the
problem when I tried something a while ago, so it would be interesting to
find the most efficient way of hi-res plotting of an entire global grid and
getting a subset to a web-based user.


Kyle

----------------------------------------
Kyle S. Griffin
Department of Atmospheric and Oceanic Sciences
University of Wisconsin - Madison
Room 1421
1225 W Dayton St, Madison, WI 53706
Email: ksgriffin2 at wisc.edu

On Thu, Oct 30, 2014 at 3:19 PM, David Brown <dbrown at ucar.edu> wrote:

> Compared with high resolution PostScript files, high resolution PNG
> images do seem to be much more cost effective in terms of file size
> and quickness to load and manipulate by typical viewing tools like Mac
> Preview.
>
> Ideally you would want a PNG image that is close to the same
> resolution as your data or higher. In order to get this with an NCL
> "RasterFill" plot there are two things you need to adjust: the output
> workstation resolution, controlled by "wkWidth" and "wkHeight", and
> the resolution that the raster fill method uses when drawing, which is
> most easily controlled by setting the resource "cnRasterCellSizeF" to
> a suitable small number. Note that the workstation resources set a
> resolution for the plot as a whole, including the annotations and any
> white space that surrounds the plot, while the raster cell size only
> relates to the area inside the viewport of the actual plot -- just
> something to keep in mind.
>
> For example, to visualize a 65,000,000 cell MPAS grid with maximum
> possible detail, I set
> wkWidth and wkHeight to 16384 (a power of 2 but not really necessary
> -- it could have been 16000).
> Then I set cnRasterCellSizeF to 1.0/16384.0  Nothing magical about
> these numbers, and they don't account for the whole plot vs viewport
> issue mathematically, but they do produce a very detailed image. The
> output PNG file is about 40 MB -- too big to attach to this message
> unfortunately.
>
> We should probably have an example or two showing how to create
> high-res graphics.
>  -dave
>
>
>
>
>
>
>
>
>
> On Thu, Oct 30, 2014 at 11:30 AM, Micah Sklut <micahs2005 at gmail.com>
> wrote:
> > Okay, thanks for explaining how the raster fill works Kyle. That does
> help
> > me understand this limitation. With respect to processing time between
> > rasterFill and areaFill. It took about 1-2 minutes for rasterFill,
> compared
> > to a ball park of 4 hours for areaFill. Quite a difference!
> >
> > On Thu, Oct 30, 2014 at 1:26 PM, Kyle Griffin <ksgriffin2 at wisc.edu>
> wrote:
> >>
> >> That's part of the definition of Raster fill - it will always create the
> >> same number of boxes regardless of resolution of the data underneath,
> >> typically based on an average of the data points within that set of grid
> >> points. Although I'm not knowledgeable about the behind-the-scenes
> >> computations, I know it's common for NCL to mark the whole average as
> >> missing if any subset of that average is missing. I'm not sure if
> there's a
> >> way to override this - a developer might need to chime in here - but
> that
> >> would be your only hope if you want to keep your image production time
> down,
> >> as the other fill modes will almost certainly be more intensive. You can
> >> scan examples of Raster Fill code here (see link) and in the contour
> >> resources page as well.
> >>
> >> https://www.ncl.ucar.edu/Applications/raster.shtml
> >>
> >> If you did AreaFill or CellFill, I don't think you see much difference
> in
> >> the time to produce a vector file output versus a raster image output.
> But
> >> yes, what you are seeing is a limitation of using the RasterFill
> setting.
> >>
> >>
> >> Kyle
> >>
> >> ----------------------------------------
> >> Kyle S. Griffin
> >> Department of Atmospheric and Oceanic Sciences
> >> University of Wisconsin - Madison
> >> Room 1421
> >> 1225 W Dayton St, Madison, WI 53706
> >> Email: ksgriffin2 at wisc.edu
> >>
> >> On Thu, Oct 30, 2014 at 11:55 AM, Micah Sklut <micahs2005 at gmail.com>
> >> wrote:
> >>>
> >>> No, I"m not masking data. Yes, I am using RasterFill, and the resulting
> >>> image for the Mid Atlantic is great. But, when I expand to global, I
> lose
> >>> the high detail, no matter how much I increase the png resolution. So,
> just
> >>> wondering why I am losing detail with the global image, and if there
> is a
> >>> way around it.
> >>>
> >>> On Thu, Oct 30, 2014 at 12:52 PM, Kyle Griffin <ksgriffin2 at wisc.edu>
> >>> wrote:
> >>>>
> >>>> Hi Micah,
> >>>>
> >>>> This seems to me the type of result you would expect when using
> >>>> RasterFill as a cnFillMode - the default should be cnAreaFill, which
> >>>> increases plot time significantly, but might that be an issue?
> >>>> Otherwise, I assume you're doing nothing else to mask the data,
> correct?
> >>>> Sometimes masking data with a land mask can create similar blockiness,
> >>>> although I am unaware (via inexperience) as to whether there is a
> resolution
> >>>> dependence based on the plot size or native data resolution.
> >>>>
> >>>>
> >>>> Kyle
> >>>>
> >>>> ----------------------------------------
> >>>> Kyle S. Griffin
> >>>> Department of Atmospheric and Oceanic Sciences
> >>>> University of Wisconsin - Madison
> >>>> Room 1421
> >>>> 1225 W Dayton St, Madison, WI 53706
> >>>> Email: ksgriffin2 at wisc.edu
> >>>>
> >>>> On Thu, Oct 30, 2014 at 11:37 AM, Micah Sklut <micahs2005 at gmail.com>
> >>>> wrote:
> >>>>>
> >>>>> Hi Kyle,
> >>>>>
> >>>>> Thanks for the reply.
> >>>>>
> >>>>> The dataset is of 0.05 degree resolution, so that certainly isn't the
> >>>>> problem. I have attached an image of the same data, but limiting the
> min/max
> >>>>> lat/lon to the US Mid Atlantic. In this image you will see much more
> detail.
> >>>>> This is the type of detail I was hoping to achieve for the entire
> globe. I
> >>>>> figured if I increased the resolution of the global png, it would
> create the
> >>>>> desired effect, but as you can see from the global image I attached,
> this
> >>>>> wasn't the case.
> >>>>>
> >>>>> Looking forward to hearing your thoughts.
> >>>>> Thank you,
> >>>>>
> >>>>> Micah
> >>>>>
> >>>>>
> >>>>>
> >>>>> On Thu, Oct 30, 2014 at 12:26 PM, Kyle Griffin <ksgriffin2 at wisc.edu>
> >>>>> wrote:
> >>>>>>
> >>>>>> Micah,
> >>>>>>
> >>>>>> This looks more like a limitation of your dataset - SST data is not
> of
> >>>>>> infinite resolution, and you're plotting far more pixels than would
> be data
> >>>>>> points in even a 0.1˚ dataset! It looks like the internal pixels
> are the
> >>>>>> same size as your coastlines, so I don't see an issue with NCL
> there. More
> >>>>>> specifically, you are not actually plotting coastlines - they only
> plot if
> >>>>>> you tell them to plot with a call to gsn_csm_map or another similar
> plotting
> >>>>>> tool. If you're looking for high resolution coastlines, look at the
> RANGS
> >>>>>> mapping capabilities in NCL. Beyond that, you can always plot
> shapefiles as
> >>>>>> well.
> >>>>>>
> >>>>>> Yes, vector images are going to be extremely large and painful for
> >>>>>> even a moderate resolution file over the full globe. When you say
> raster,
> >>>>>> are you talking about it in the image sense (non-vector file) or in
> the
> >>>>>> cnFillMode sense (RasterFill, AreaFill, etc.;
> >>>>>>
> https://www.ncl.ucar.edu/Document/Graphics/Resources/cn.shtml#cnFillMode)?
> >>>>>> Raster fill mode will make the data more blocky and reduce
> interpolation
> >>>>>> between points, but the trade-off is a much faster plotting of the
> image and
> >>>>>> works well for high-resolution datasets being plotted at relatively
> low
> >>>>>> resolution/wide zoom.
> >>>>>>
> >>>>>>
> >>>>>> Kyle
> >>>>>>
> >>>>>> ----------------------------------------
> >>>>>> Kyle S. Griffin
> >>>>>> Department of Atmospheric and Oceanic Sciences
> >>>>>> University of Wisconsin - Madison
> >>>>>> Room 1421
> >>>>>> 1225 W Dayton St, Madison, WI 53706
> >>>>>> Email: ksgriffin2 at wisc.edu
> >>>>>>
> >>>>>> On Thu, Oct 30, 2014 at 9:58 AM, Micah Sklut <micahs2005 at gmail.com>
> >>>>>> wrote:
> >>>>>>>
> >>>>>>> Hi,
> >>>>>>>
> >>>>>>> This is a follow up to my previous posts, in reference to searching
> >>>>>>> for high resolution images that could be used as zooming/navigating
> >>>>>>> (specific interest is with image tile layers).
> >>>>>>>
> >>>>>>> I figured if I created a png file with a high resolution, it would
> be
> >>>>>>> able to capture the high detail, like with coastlines and so forth.
> >>>>>>> I've attached an image with very high resolution (16384x16384), but
> >>>>>>> as you can see, if you zoom the global image into the coastlines
> they are
> >>>>>>> extremely blocky.
> >>>>>>>
> >>>>>>> Is is possible to capture high resolution features, such as
> >>>>>>> coastlines in a global raster image with NCL?
> >>>>>>>
> >>>>>>> FYI, I tried the vector image route, but the file size was
> gigantic,
> >>>>>>> so that didn't seem like a proper route.
> >>>>>>>
> >>>>>>> Thank you,
> >>>>>>>
> >>>>>>> --
> >>>>>>> Micah Sklut
> >>>>>>>
> >>>>>>> _______________________________________________
> >>>>>>> ncl-talk mailing list
> >>>>>>> List instructions, subscriber options, unsubscribe:
> >>>>>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
> >>>>>>>
> >>>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>> --
> >>>>> Micah Sklut
> >>>>>
> >>>>
> >>>
> >>>
> >>>
> >>> --
> >>> Micah Sklut
> >>>
> >>
> >
> >
> >
> > --
> > Micah Sklut
> >
> >
> > _______________________________________________
> > ncl-talk mailing list
> > List instructions, subscriber options, unsubscribe:
> > http://mailman.ucar.edu/mailman/listinfo/ncl-talk
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20141030/16e486be/attachment.html 


More information about the ncl-talk mailing list