After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 588193 - Implement upsmooth sampler, which was originally snohalo1
Implement upsmooth sampler, which was originally snohalo1
Status: RESOLVED FIXED
Product: GEGL
Classification: Other
Component: GeglBuffer
git master
Other All
: Normal enhancement
: ---
Assigned To: Default Gegl Component Owner
Default Gegl Component Owner
Depends on:
Blocks:
 
 
Reported: 2009-07-09 20:02 UTC by Eric Daoust
Modified: 2010-02-18 14:44 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Upsmooth patch (11.31 KB, application/x-gzip)
2009-07-09 21:02 UTC, Eric Daoust
Details
Changed sampler name to upsmoothfast (23.73 KB, application/x-gzip)
2009-07-14 17:56 UTC, Eric Daoust
Details
Upsmooth patch - changed MINMOD and its pre-calculations (8.96 KB, application/x-gzip)
2009-07-21 18:03 UTC, Eric Daoust
Details
Patch replacement for invalid previous patch. (5.53 KB, application/x-gzip)
2009-07-21 20:06 UTC, Eric Daoust
Details
Upsmoothfast patch - changed float constant number values to .f (6.01 KB, application/x-gzip)
2009-07-21 22:05 UTC, Eric Daoust
Details
Naming consistency, added new upsizefast sampler (10.80 KB, application/x-gzip)
2009-07-22 17:43 UTC, Eric Daoust
Details
Several changes, including fixing minmod (13.16 KB, application/x-gzip)
2009-07-27 18:37 UTC, Eric Daoust
Details
better minmod (consistent with forward branch likely) (13.36 KB, application/x-gzip)
2009-07-30 20:50 UTC, Eric Daoust
Details
New patch with upsmoothfast (snohalo1), upsizefast (nohalo1) and upsharpfast (Catmull-Rom) (12.06 KB, application/x-gzip)
2009-08-07 19:29 UTC, Eric Daoust
Details
Upsmoothfast, Upsharpfast, Upsizefast (13.04 KB, application/x-gzip)
2009-08-13 21:12 UTC, Eric Daoust
Details
Test files for upsharpfast (495 bytes, application/x-gzip)
2009-08-20 15:38 UTC, Eric Daoust
Details
Test files for upsizefast (496 bytes, application/x-gzip)
2009-08-20 15:39 UTC, Eric Daoust
Details
Test files for upsmoothfast (500 bytes, application/x-gzip)
2009-08-20 15:40 UTC, Eric Daoust
Details

Description Eric Daoust 2009-07-09 20:02:19 UTC
Implement upsmooth sampler, which was originally snohalo1 (smooth nohalo1).

This method is a parameter-less version of snohalo1 because "blur" is always equal to 1.
Comment 1 Eric Daoust 2009-07-09 21:02:51 UTC
Created attachment 138149 [details]
Upsmooth patch

This is the implementation for upsmooth (formerly snohalo1).
Comment 2 Eric Daoust 2009-07-14 17:56:09 UTC
Created attachment 138406 [details]
Changed sampler name to upsmoothfast

-Changed sampler name to upsmoothfast
-Changed gdouble to gfloat wherever sensible
Comment 3 Eric Daoust 2009-07-21 18:03:28 UTC
Created attachment 138929 [details]
Upsmooth patch - changed MINMOD and its pre-calculations
Comment 4 Eric Daoust 2009-07-21 20:06:59 UTC
Created attachment 138938 [details]
Patch replacement for invalid previous patch.
Comment 5 Eric Daoust 2009-07-21 22:05:52 UTC
Created attachment 138946 [details]
Upsmoothfast patch - changed float constant number values to .f
Comment 6 Eric Daoust 2009-07-22 17:43:47 UTC
Created attachment 139012 [details]
Naming consistency, added new upsizefast sampler

Upsmoothfast patch containing both upsmoothfast (snohalo level 1) and upsizefast samplers.

The upsizefast sampler is a middle-point between the upsharpfast (nohalo1) and upsmoothfast (snohalo1) samplers.
Comment 7 Eric Daoust 2009-07-27 18:37:22 UTC
Created attachment 139308 [details]
Several changes, including fixing minmod

-Fixed minmod so that it works correctly
-Fixed inconsistency in naming conventions
-added upsmoothfast and upsizefast to affine.c
Comment 8 Eric Daoust 2009-07-30 20:50:48 UTC
Created attachment 139590 [details]
better minmod (consistent with forward branch likely)
Comment 9 Eric Daoust 2009-08-07 19:29:30 UTC
Created attachment 140151 [details]
New patch with upsmoothfast (snohalo1), upsizefast (nohalo1) and upsharpfast (Catmull-Rom)

minmod changes so that it is no longer needed to precalculate its input values, changed upsizefast sampler so that it is the former upsharpfast, added new upsharpfast (Catmull-Rom)
Comment 10 Eric Daoust 2009-08-13 21:12:12 UTC
Created attachment 140705 [details]
Upsmoothfast, Upsharpfast, Upsizefast

Added comments to make the 3 samplers consistent with one another.
Comment 11 Eric Daoust 2009-08-20 15:38:53 UTC
Created attachment 141253 [details]
Test files for upsharpfast

Test xml files uses two of your own images:

big.png: a larger image, preferably 1500x1500 or larger
small.png: a much smaller image (mine was about 300x300)
Comment 12 Eric Daoust 2009-08-20 15:39:29 UTC
Created attachment 141254 [details]
Test files for upsizefast

Test xml files uses two of your own images:

big.png: a larger image, preferably 1500x1500 or larger
small.png: a much smaller image (mine was about 300x300)
Comment 13 Eric Daoust 2009-08-20 15:40:28 UTC
Created attachment 141255 [details]
Test files for upsmoothfast

Test xml files uses two of your own images:

big.png: a larger image, preferably 1500x1500 or larger
small.png: a much smaller image (mine was about 300x300)
Comment 14 Nicolas Robidoux 2009-08-22 21:27:33 UTC
I'm not sure, but there seems to be a small bug in the upsmoothfast code, mostly manifest at the boundary. Also, upsmoothfast's output looks too much like bilinear's. I'll do more careful checks when I have a minute.

The other samplers seem ready to merge with trunk.

Nicolas Robidoux
Laurentian University
Comment 15 Nicolas Robidoux 2009-08-22 21:41:49 UTC
I am pretty sure that I know what the bug is:

From the patch (gegl-sampler-upsmoothfast.c code):

+  GEGL_SAMPLER (self)->context_rect.x = -1;
+  GEGL_SAMPLER (self)->context_rect.y = -1;
+  GEGL_SAMPLER (self)->context_rect.width = 6;
+  GEGL_SAMPLER (self)->context_rect.height = 6;

width and height are correct, but x and y should be -2 instead of -1, because you shift back two rows and two pixels.

Nicolas Robidoux
Universite Laurentienne
Comment 16 Nicolas Robidoux 2009-08-22 22:05:40 UTC
In some of the downsamples from the gallery

http://socghop.appspot.com/document/show/user/ericdaoust/gsoc

I see some of the glitches of the type which Adam Turcotte discovered in his own downsamplers (which are "higher level" versions of Eric Daoust's), and which he fixed by adding an extra "one pixel wide unused (in principle) border" to the context_rect. There are few additional changes which are required as a result of this fix.

I think the simplest way to deal with this is to have Adam have a patch to Eric's patch which implements the fix, since he did it already for his samplers.

There is no need, then, to do the fix from my previous comment since it can be done at the same time.

Nicolas Robidoux
Universite Laurentienne
Comment 17 Nicolas Robidoux 2009-08-22 22:10:49 UTC
Apologies: Ignore my last comment: I only see the glitches in the downsmoothfast resamples, and they should disappear once Eric or Adam has changed the context_rect.x and .y to -2.

Nicolas Robidoux
Laurentian University
Comment 18 Nicolas Robidoux 2009-08-24 00:55:30 UTC
Comment 16 is actually correct, but it is relevant to the downsizesmooth patch, not this one. I'm moving it to the right spot.
Comment 19 Øyvind Kolås (pippin) 2010-02-18 14:44:07 UTC
commit 130c793c70195cf900017f74505b863a3c29a6d5
Author: Adam Turcotte <adam.turcotte@gmail.com>
Date:   Fri Jan 15 17:33:13 2010 -0500

    Add new samplers from gsoc