Hello,
since April I’m working with GRASS and I think by now I got the basics.
Now I’m working with high resolution satellite data, looking for small structures in ice.
My Rasterimages have got a resolution up to 2.5 meters per pixel, but most of the time
I don’t zoom in that far.
So the Problem is, when zoomed out GRASS doesn’t displays the raster the way I want it to.
To me it seems that it’s a problem with resampling the image when displaying, but I’m not shure if I’m missing something.
To make it clear I made a little screenshot:
http://imageshack.us/f/225/resamplecomparison.png/
So when at the same zoom lvl in EOG, it does some kind of ‘smoothing’ which looks way better.
I know I can use r.resamp.interp to resample, using lanczos for example, but this is more for the final output, not for working inside GRASS (vectorizing,…).
So hopefully someone has an idea.
Thank you so far,
Sebastian
sleepysebi wrote:
since April I'm working with GRASS and I think by now I got the basics.
Now I'm working with high resolution satellite data, looking for small
structures in ice.
My Rasterimages have got a resolution up to 2.5 meters per pixel, but most
of the time
I don't zoom in that far.
So the Problem is, when zoomed out GRASS doesn't displays the raster the way
I want it to.
To me it seems that it's a problem with resampling the image when
displaying, but I'm not shure if I'm missing something.
To make it clear I made a little screenshot:
http://imageshack.us/f/225/resamplecomparison.png/
So when at the same zoom lvl in EOG, it does some kind of 'smoothing' which
looks way better.
I know I can use *r.resamp.interp to resample, using lanczos for example,
but this is more for the final output, not for working inside GRASS
(vectorizing,...).
The GRASS library resamples all input maps to the current region using
nearest-neighbour resampling. d.rast then resamples the data to the
display (image or window) size, again using nearest-neighbour
resampling.
If you want optimal output, the display size needs to match the
current region, and the input map needs to be explicitly resampled to
the current region using e.g. r.resamp.interp or r.resamp.filter.
Either that, or render the map at its native resolution, then resample
using an image-processing program.
--
Glynn Clements <glynn@gclements.plus.com>
So there is no way of changing the nearest-neighbour resampling in d.rast to lanczos for example?
If you want optimal output, the display size needs to match the
current region,
How do I adjust the current region to match the display size? Region works with rows and columns, so what is the connection to my display pixels?
Either that, or render the map at its native resolution, then resample
using an image-processing program.
This is not an option, because I need the ‘prettier’ image inside GRASS to vectorize some features.
Thank you,
–
Sebastian Beyer
On Friday, July 8, 2011 at 6:00 AM, Glynn Clements wrote:
sleepysebi wrote:
since April I’m working with GRASS and I think by now I got the basics.
Now I’m working with high resolution satellite data, looking for small
structures in ice.
My Rasterimages have got a resolution up to 2.5 meters per pixel, but most
of the time
I don’t zoom in that far.
So the Problem is, when zoomed out GRASS doesn’t displays the raster the way
I want it to.
To me it seems that it’s a problem with resampling the image when
displaying, but I’m not shure if I’m missing something.
To make it clear I made a little screenshot:
http://imageshack.us/f/225/resamplecomparison.png/
So when at the same zoom lvl in EOG, it does some kind of ‘smoothing’ which
looks way better.
I know I can use *r.resamp.interp to resample, using lanczos for example,
but this is more for the final output, not for working inside GRASS
(vectorizing,…).
The GRASS library resamples all input maps to the current region using
nearest-neighbour resampling. d.rast then resamples the data to the
display (image or window) size, again using nearest-neighbour
resampling.
If you want optimal output, the display size needs to match the
current region, and the input map needs to be explicitly resampled to
the current region using e.g. r.resamp.interp or r.resamp.filter.
Either that, or render the map at its native resolution, then resample
using an image-processing program.
–
Glynn Clements <glynn@gclements.plus.com>
Sebastian Beyer wrote:
So there is no way of changing the nearest-neighbour resampling in
d.rast to lanczos for example?
No.
> If you want optimal output, the display size needs to match the
> current region,
How do I adjust the current region to match the display size? Region
works with rows and columns, so what is the connection to my display
pixels?
The number of rows needs to match the height in pixels and the number
of columns the width in pixels.
> Either that, or render the map at its native resolution, then resample
> using an image-processing program.
This is not an option, because I need the 'prettier' image inside
GRASS to vectorize some features.
In which case, you probably need to resample the map itself.
--
Glynn Clements <glynn@gclements.plus.com>