gimpusers.com logo
German version English version

Not logged in

Sign up! | Lost password?

Latest discussion

  1. gimp-user | today 09:49 AM
    Need help: "correcting" exposures in time-lapse imagesets
  2. gimp-developer | today 06:14 AM
    GIMP color-management spec and further discussion
  3. gimp-user | yesterday 11:13 PM
    collages in gimp?
  4. gimp-developer | yesterday 07:07 PM
    Color management (UI perspective for GIMP 2.8)
  5. gimp-user | yesterday 02:42 PM
    printing

External news

Poll

Would you like to be able to use your Google/Yahoo/MSN (OpenID) login on gimpusers, too?

Definately! I would enjoy the possibility to use my OpenID on different websites!

I don't have a special need for OpenID but I think it could be useful

Doesn't matter to me

Never, OpenID is a pain regarding privacy and personal data protection!

No. (please post a comment)

See results

Stats

gimpusers.com RSS feed

GIMP Forums » For GIMP developers

GSOC Project-Fast Adaptive Resampler Tailored

Jump to message:

  1. GSOC Project-Fast...Rahul, 10 Mar 2009 07:10 AM
    1. GSOC Project-Fast... — Nicolas Robidoux, 10 Mar 2009 03:56 PM
      1. GSOC Project-Fast... — Craig DeForest, 10 Mar 2009 04:30 PM
        1. GSOC Project-Fast... — Nicolas Robidoux, 10 Mar 2009 04:50 PM
          1. GSOC Project-Fast... — Nicolas Robidoux, 10 Mar 2009 09:19 PM
            1. GSOC Project-Fast... — Nicolas Robidoux, 10 Mar 2009 09:20 PM
            2. GSOC Project-Fast... — Nicolas Robidoux, 10 Mar 2009 09:25 PM
      2. GSOC Project-Fast... — Nicolas Robidoux, 10 Mar 2009 09:26 PM

As a registered user, you can subscribe forum threads in order to get notified when replies are posted. Just log in at the right top of the page if you already have an account, otherwise you can register for free.

Permalink:20090310061008.CC23F19D407B@a.dev001.net
Date:10 Mar 2009 07:10 AM
From:Rahul (gimpusers.com)
Subject:GSOC Project-Fast Adaptive Resampler Tailored
Hi Nicolas,

This is my first forum of any kind so please forgive me for any mistake.

i m a student and interested in gsoc project:Fast Adaptive Resampler Tailored For Transformations Which Mostly Downsample


I have read the requirements properly for this project which also includes jacobian transformation,box filtering algorithm and bilinear resampling.But i am having some problem in relating all these in one algorithm.Please guide me.Also I would like to know the status of this project progress.

Thanks,
--
Rahul
_______________________________________________
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer

↑Back to thread overview
Permalink:18870.32663.949499.690982@gargle.garg...
Date:10 Mar 2009 03:56 PM
From:Nicolas Robidoux
Subject:GSOC Project-Fast Adaptive Resampler Tailored

Hello Rahul:

> i m a student and interested in gsoc project:Fast Adaptive Resampler
> Tailored For Transformations Which Mostly Downsample

> I have read the requirements properly for this project which also
> includes jacobian transformation,box filtering algorithm and
> bilinear resampling.But i am having some problem in relating all
> these in one algorithm. Please guide me.Also I would like to know
> the status of this project progress.

The >>programming<< for this project has not started. "No progress" is
consequently a fair description.

This would be a brand new way of doing downsampling, so I can't point
you to "one algorithm."

Computing jacobian information (for an arbitrary point transformation)
approximately using finite differences is probably too ambitious. My
current opinion is that this method should only be used when the point
transformation "communicates" this information to the sampler. This
probably means that a point transformation (e.g., scale, rotate) needs
to have this info part of its implementation as an object. I'll need
opinions from people who know better at some point.

You need to understand exact area methods, and in particular, exact
area box filtering (basically, you understand images as being a
piecewise constant surface, with the pieces determined by the set of
points which are closer to a pixel center than any other pixel center,
and you (approximately) integrate this surface over an area associated
with the new pixel centers (determined by the point transformation).

References which may help understand what is going on are

@TechReport{Dodgson,
author = {N. A. Dodgson},
title = {Image resampling},
institution = {University of Cambridge Computer Lab.},
year = 1992,
number = {UCAM--CL--TR--261},
address = {15 JJ Thomson Avenue, Cambridge CB3 0FD, UK},
month = {Aug.}
}

and

@inproceedings{DBLP:conf/iciar/RobidouxTGT08,
author = {Nicolas Robidoux and
Adam Turcotte and
Minglun Gong and
Annie Tousignant},
title = {Fast Exact Area Image Upsampling with Natural Biquadratic
Histosplines},
pages = {85-96},
ee = {http://dx.doi.org/10.1007/978-3-540-69812-8_9},
bibsource = {DBLP, http://dblp.uni-trier.de},
crossref = {DBLP:conf/iciar/2008}
}

Also, a student and I programmed a C filter (for 8-bit ppm/pgm) which
does exact area box filtering in the very simple case of pure image
resizing. If you're still interested, we'll put this on the web.

The proposed method is none of the above. More precisely, it is a
composite method: It "fits" a new fast but accurate downsampling
method (related to box filtering) and bilinear together so that
Frankenstein is flexible and "smoothly varying."

Note: French is my mother tongue. If you are more comfortable in
French, you can communicate with me---not this list---in
French. Obviously, English is fine too.

Best of luck,

Nicolas Robidoux
Universite Laurentienne



↑Back to thread overview
Permalink:6BC51AE4-622F-49C9-BB7C-0C911F1CA4A4@...
Date:10 Mar 2009 04:30 PM
From:Craig DeForest
Subject:GSOC Project-Fast Adaptive Resampler Tailored
On Mar 10, 2009, at 8:56 AM, Nicolas Robidoux wrote:

>
> Hello Rahul:
>
>> i m a student and interested in gsoc project:Fast Adaptive Resampler
>> Tailored For Transformations Which Mostly Downsample
>
>> I have read the requirements properly for this project which also
>> includes jacobian transformation,box filtering algorithm and
>> bilinear resampling.But i am having some problem in relating all
>> these in one algorithm. Please guide me.Also I would like to know
>> the status of this project progress.
>
> The >>programming<< for this project has not started. "No progress" is
> consequently a fair description.
>
> Computing jacobian information (for an arbitrary point transformation)
> approximately using finite differences is probably too ambitious. My
> current opinion is that this method should only be used when the point
> transformation "communicates" this information to the sampler. ...

Numerical Jacobian calculation is not so bad in terms of coding effort
--
you can use the method I implemented for PDL::Transform (available as
part
of the PDL package for Perl, or at pdl.perl.org), and it's
straightforward
to code. The PDL::Transform resampling code switches its sampling
technique
based on user input; Jacobian based spatially variable filters are used
where artifact avoidance is most important. It might make a nice
starting
point for you to look at.

On the other hand, you will need to think a bit about the "Fast" part,
which
the PDL Jacobian-driven sampling is not -- mostly because of the need to
supply input and output filtering. I did that by padding the singular
values
of the Jacobian to approximate the effect of convolving one-pixel-wide
input
and output filter kernels with the calculated sampling kernel. That
requires
subjecting a matrix to singular value decomposition for every pixel -
there
is almost certainly a faster way to do it. For linear transformations
(where
the Jacobian is constant) the method is much faster.

Dodgson is a great reference (in Nicolas' email). You might also like
to
read Ken Turkowski's nice overview of resampling theory:
http://www.worldserver.com/turk/computergraphics/ResamplingFilters.pdf

My own paper on the subject (in the context of image resampling for
scientific
applications) is here:
http://adsabs.harvard.edu/abs/2004SoPh..219....3D



>
>
> You need to understand exact area methods, and in particular, exact
> area box filtering (basically, you understand images as being a
> piecewise constant surface, with the pieces determined by the set of
> points which are closer to a pixel center than any other pixel center,
> and you (approximately) integrate this surface over an area associated
> with the new pixel centers (determined by the point transformation).
>
> References which may help understand what is going on are
>
> @TechReport{Dodgson,
> author = {N. A. Dodgson},
> title = {Image resampling},
> institution = {University of Cambridge Computer Lab.},
> year = 1992,
> number = {UCAM--CL--TR--261},
> address = {15 JJ Thomson Avenue, Cambridge CB3 0FD, UK},
> month = {Aug.}
> }
>
> and
>
> @inproceedings{DBLP:conf/iciar/RobidouxTGT08,
> author = {Nicolas Robidoux and
> Adam Turcotte and
> Minglun Gong and
> Annie Tousignant},
> title = {Fast Exact Area Image Upsampling with Natural
> Biquadratic
> Histosplines},
> pages = {85-96},
> ee = {http://dx.doi.org/10.1007/978-3-540-69812-8_9},
> bibsource = {DBLP, http://dblp.uni-trier.de},
> crossref = {DBLP:conf/iciar/2008}
> }
>
> Also, a student and I programmed a C filter (for 8-bit ppm/pgm) which
> does exact area box filtering in the very simple case of pure image
> resizing. If you're still interested, we'll put this on the web.
>
> The proposed method is none of the above. More precisely, it is a
> composite method: It "fits" a new fast but accurate downsampling
> method (related to box filtering) and bilinear together so that
> Frankenstein is flexible and "smoothly varying."
>
> Note: French is my mother tongue. If you are more comfortable in
> French, you can communicate with me---not this list---in
> French. Obviously, English is fine too.
>
> Best of luck,
>
> Nicolas Robidoux
> Universite Laurentienne
>
>
>
_______________________________________________
> Gimp-developer mailing list
> Gimp-developer@lists.XCF.Berkeley.EDU
> https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer
>


↑Back to thread overview
Permalink:18870.35913.13893.573792@gargle.gargl...
Date:10 Mar 2009 04:50 PM
From:Nicolas Robidoux
Subject:GSOC Project-Fast Adaptive Resampler Tailored

Hello Craig:

> Numerical Jacobian calculation is not so bad in terms of coding effort

The issue is that, if I understand correctly, GEGL's current "pure"
demand-driven structure means that resamplers have no information
whatsoever about what other nearby locations are being resampled, and
consequently there would need to be major changes to make this info
available for arbitrary transformations (with, most likely, serious
speed impact). Once you have it, sure, computing approximate Jacobian
matrices is no big deal (provided you make sure that you stay from
singularity).

Hence my pragmatic choice to reserve the use of the "novel" (not so
sure anymore that it's really new) method for tasks for which the
jacobian is easy to compute and pass on. (This is the: "ask people who
know better" part.)

Does this make sense to you?

Nicolas Robidoux
Universite Laurentienne

_______________________________________________
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer

↑Back to thread overview
Permalink:18870.52027.959923.109280@gargle.garg...
Date:10 Mar 2009 09:19 PM
From:Nicolas Robidoux
Subject:GSOC Project-Fast Adaptive Resampler Tailored

Hello Rahul:

Indeed, the GSoC I suggested can be roughly described as implementing
a poor man's version of the scheme Craig describes in

http://adsabs.harvard.edu/abs/2004SoPh..219....3D

Replace circles/ellipses by parallelograms/rectangles, and notice that
"padding" the singular values of the Jacobian to 1 is more or less
equivalent to exact area box filtering with sides no less than the
input image's inter-pixel distance, and one gets more or less the same
thing.

This being said, what I have in mind in way simpler than what Craig
implemented. But if you understand Craig's paper, you probably
understand what I want to do.

Nicolas Robidoux
Universite Laurentienne
_______________________________________________
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer

↑Back to thread overview
Permalink:18870.52135.808063.937340@gargle.garg...
Date:10 Mar 2009 09:20 PM
From:Nicolas Robidoux
Subject:GSOC Project-Fast Adaptive Resampler Tailored

> This being said, what I have in mind in way simpler than what Craig
> implemented. But if you understand Craig's paper, you probably
> understand what I want to do.

Actually, if I took the time to completely understand Craig's paper, I
probably would understand what I want to do.

;-)

Nicolas Robidoux
Laurentian University
_______________________________________________
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer

↑Back to thread overview
Permalink:18870.52415.344008.216049@gargle.garg...
Date:10 Mar 2009 09:25 PM
From:Nicolas Robidoux
Subject:GSOC Project-Fast Adaptive Resampler Tailored

Rahul:

> exact area box filtering with sides no less than the input image's
> inter-pixel distance

This was a bit terse:

Exact area box filtering with a square box with diameter equal to the
inter-pixel distance is exactly bilinear interpolation. So, it's only
when the sides are larger than the scheme is not bilinear.

nicolas
_______________________________________________
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer

↑Back to thread overview
Permalink:18870.52493.336000.583310@gargle.garg...
Date:10 Mar 2009 09:26 PM
From:Nicolas Robidoux
Subject:GSOC Project-Fast Adaptive Resampler Tailored

Rahul:

I just replied to the list instead of including you in the CC.

If you want to read the whole discussion, go there:

http://www.mail-archive.com/gimp-developer@lists.xcf.berkeley.edu/

nicolas











↑Back to thread overview

Adobe® Photoshop® is a registered trademark of Adobe Systems, Inc. Linux is a trademark of Linus Torvalds. Ubuntu and Canonical are registered trademarks of Canonical Ltd. | Clock times are shown as CET / CEST | Imprint / Privacy policy | powered by bitfire it services