[Gimp-developer] GSoC 2009: Better nonlinear resampler with built-in antialiasing (GEGL)

2009-04-03 Thread Adam Turcotte
Greetings. My name is Adam Turcotte and I have submitted an application
for a GSoC with the GIMP/GEGL group.

An extended version of my application is available at
http://gsoc.rivetsforbreakfast.com
and I would love to hear any questions or suggestions you may have.

Thank you.




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


[Gimp-developer] GSoC 2009

2009-04-02 Thread Nebojsa Andjelkovic
Hello,

Me
My name is Nebojsa Andjelkovic and I am a MSc student of Computer Science
and Informatics at the Faculty of Electronic Engeneering, University of Nis,
Serbia. My currently GPA is 9.7/10 ( top 1%). Also, I have a part time job
in the USA-based company MotionDSP (www.motiondsp.com) as a resercher and
developer. I've been working on various image and video processing
algorithms for deblurring, color and contrast enhancement(ACE, CLAHE),
superresolution, motion detection, stabilization etc.I have a strong
background in C/C++ programing on both windows and linux platforms.
Furthermore, I took part in research activities and development of an
algorithm for copyright detection of video material which we have patented
last year.

Software Development skills
As a employee of the MotionDSP I have been working on the flowing projects:
1. mdspproc, C/C++ command line aplication (linux and windows platforms) for
video processing/enhancement ( stabilization, color/contrast enhancement,
frame interpolation, superresolution, deblocking, deblurring etc)
I have been working on contrat enhancement, deblurring and stabilization
algorithms and their's implementation and  optimization in C. Furthermore I
took a part in theirs GPU (CUDA) implementations. Also I have been working
on input and  output file formats (video codecs, audio codecs, subtitle
codecs, etc)

2. mdspproc, as a shared library (linux .so and windows .dll). I took part
in building this library (making a debin intallation packet ). Also I tok a
part in making an interface between this library and our two main
aplications (Ikena and Vreveal).

Tools that I have been using: Kdevelop, Kgdb, GNU Toolchain - gcc, gdb,
make, MS Visual C++, Eclipse SDK + cdt.
Software development and programming: C/C++ programming (5 years of
expirience)  Java, BASH, Python, Lisp.

Image Manipulation Skills
I use image manipulations software for some basic tasks( crop/rotate/ resize
etc). Nevertheless I possess a good knowledge of image/video processing
algorithms and problems. As I already said I have been working on many of
enough of them.

GIMP  GEGL expirience
I use GIMP almost every day as a default photo editor. I heard about GEGL
but I haven't used it yet. Also I downloaded GEGL source code and compiled
it.

Beside being a good student with strong background in image processing, I'm
also very passionate about Free Software. I'm an active member of GNU
Club, a local student group of free software users, activists and
enthusiasts and I can say that I'm an experienced user member of the
community. For a long time now I've been willing to try to do some free
software development, it's just that I never were daring enough to try that
all by my self. Summer of Code looks like a perfect chance for me, and being
a GIMP user and enthusiast, your community would be my choice.

SoC
Based on all this, I would like to apply for Google Summer of Code 2009 as
one of the GIMP students. I have never participated in Google SoC. I have
read GIMP's suggested ideas and I find some of them very interesting and
related to my area of research. Also Google SoC will be a good reference for
my future apliccation for the PhD studies. The one of the most atractive
project to me is Highlights/Shadow compression. I've read the paper (A
Locally Tuned Nonlinear Technique for Color Image Enhancement) and I can
say that I'm alredy familiar with the idea of the project. Having in mind
all my plans for the summer, I would be able (and more than happy:) to
dedicate 30 hours/week to this project, which is, in my oppinion, more then
enough to finish it on time.

Here is my project drafts:

1. Get to know with the mentor, building GEGL 02.05.2009 - 08.05.2009
2 Reading documentation and geting familiar with the GEGL code 09.05.2009 -
15.05.2009
3 Reaserch (finding the best algorithm solution for this project in
cooperation with the mentor) 16.05.2009 - 29.05.2009
Implement median filter, to compute mean image and optimize the algorithm
Matlab  SciLab implementation of the choosen algorithm
4 Coding and implementing the algorithm in GEGL 30.05.2009 - 26.06.2009
(add new .c an .h files to the gegl-root/operations/common and implementing
appropriate algorithm)
(Tools: GNU Toolchain - gcc, gdb, and make. KDevelop and Kgdb)
5 Fine tuning appropriate parameters of the algorithm 27.06.2009 -
03.07.2009
6 First alpha version and mid-term evaluation 04.07.2009 - 10.07.2009
7 Code optimization and further impruvements of the algorithm 11.07.2009 -
24.07.2009
Dev blog, and testing algorithm with other platforms (win32/64, osx)
8 Testing and bugfix 25.07.2009 - 31.07.2009
9 Further optimization, testing and bug fixing 01.08.2009 - 09.08.2009
10 Writing documentation and final evaluation 10.08.2009 - 24.08.2009
11 Submiting code to google.  25.09.2009 -



I would like to ask if you see me as a student working on this project? If
you find my skills more appropriate for some other, similar project, please
let me 

[Gimp-developer] GSoC 2009

2009-04-02 Thread Nicolas Robidoux

Dear Nebojsa:

Suggestion: Just apply.

If you see other projects of interest, apply to those too.

Best fit can be sorted out later. Right now you need to officially
apply.

Best of luck,

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


Re: [Gimp-developer] GSoC 2009

2009-04-02 Thread Vincent Lordier
Dear Nebojsa,

As we discussed, I'm up to support you on this project.

vincent

On Thu, Apr 2, 2009 at 18:27, Nicolas Robidoux
nrobid...@cs.laurentian.ca wrote:

 Dear Nebojsa:

 Suggestion: Just apply.

 If you see other projects of interest, apply to those too.

 Best fit can be sorted out later. Right now you need to officially
 apply.

 Best of luck,

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

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


Re: [Gimp-developer] GSoC 2009: OpenGL GPU resampling in GEGL (an update)

2009-04-02 Thread Jerson Michael Perpetua
Thank you for the feedback Øyvind.  I think that, at this point, I
should probably narrow my topic down to adding GPU-support for
GeglBuffer and two of the GEGL classes you've mentioned above.  I will
delegate implementation of the GPU-support for resamplers as optional
for this year's GSoC.

However, as I have noted in my introduction, my primary motivation for
joining GSoC is to kick-start my way to being a regular Gimp
contributor.  After GSoC, I will most probably continue to work on
adding GPU-support for GEGL as well as contribute to Gimp's greater
improvement.

I've thought of OpenGL GPU-support for GEGL as my new topic name but
I'm open to more precise suggestions.  :-)

Moreover, dear Gimp developers, I'm also interested in Improved
Foreground Selection Tool as another topic proposal.  I know that
another prospected GSoC student has expressed interest in this topic,
but competition is supposed to be good, right?  ;-)  I'd also
appreciate to hear your thoughts regarding this last matter.


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


[Gimp-developer] GSoC 2009: Beginnings of a node-based compositor for GIMP, OpenGL GPU resampling in GEGL, Improved Foreground Selection Tool

2009-04-01 Thread Jerson Michael Perpetua
Hello,


I intend to join this year's GSoC as a student for GIMP.

I'm Jerson Perpetua, a BS Computer Science student from the
University of the Philippines Mindanao, Philippines.  I am an
experienced C/C++ developer, working for software ranging from
school projects to small to mid-sized business applications.
Additionally, I am fluent in object-oriented languages like C++
(as previously mentioned) and Java.  Though I have little experience
with GTK+  GLib, I am confident that I can learn as I develop.
This last bit springs from my passion in Free Software and
programming in general.  I am quite resourceful and can work with
the least amount of supervision.  Also, if ever I get accepted, I will
be working full-time for this project as I have no other commitments
this summer.

Being quite a bit of a graphics enthusiast myself, I am interested in
the unique fusion of art and technology.  I have been a long-time
GIMP user and wanted to contribute code-wise (in fact, I have used
GIMP as a free-lance web graphics artist).  My interests are in the
field of 3D graphics (OpenGL, GPGPU, etc.), 2D graphics and
interface usability.  I have prepared for this year's GSoC by
learning the required technologies (OpenGL, GTK+, GObject, etc.)
and reading GIMP and GEGL's source codes.

I fully intend to participate in the Free Software movement by
contributing code.  This is a good opportunity for me to get started
and to familiarize myself with the internal workings of GIMP.  Also,
to be frank, the stipend will be of much help as I prepare for an
independent life ahead doing free-lance Free Software development.

I have read your ideas list and have gotten a couple of topics from
there that I am quite interested at (+ a blue-sky one):

* Beginnings of a node-based compositor for GIMP
* OpenGL GPU resampling in GEGL
* Improved Foreground Selection Tool

I know that most of these are pretty ambitious considering my
qualifications, but I've been meaning to acquire the skills to
implement them and GSoC seems like the perfect opportunity!
I will be idling at your IRC channel later to ask for your advice and
to discuss the gory details.  My IRC nick is Daerd (pronounced
like the 'tard' in 'retard' :-).  Thank you.

(Oh, BTW, my native language is Filipino but I can speak and
write English quite fluently.  Also, I have manually formatted this
message to accommodate for the common horizontal width of
most posts in this mailing list.  Is this at all necessary?)


Best Wishes,
Daerd
jersonperpetua at gmail dot com
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


[Gimp-developer] GSoC 2009: OpenGL GPU resampling in GEGL (an update)

2009-04-01 Thread Jerson Michael Perpetua
Hello everyone,

I have already corresponded with Nicolas (thanks) and was able to fix
a general overview of what I should do to implement OpenGL GPU
resampling in GEGL or something similar.  The following is my general
plan of action for this topic:

(1) Extend the current GeglBuffer implementation to store a copy of
some image sub-buffers/mipmaps in volatile GPU memory (textures,
VBOs).  The image data in the GPU memory will be potentially
accelerated as they are already cached in the GPU as opposed to the
ones that are stored in primary memory.

(2) Implement some resamplers using pixel shaders that operate on
cached image data on the GPU memory.  I might as well start with the
suggested hardware bilinear sampler to get a feel with how to
integrate shaders with GEGL and proceed to more complicated resamplers
(nohalo, snohalo, etc.).

The above-mentioned plan is a huge simplification.  I will come back
with more details as I dig through OpenGL, GPGPU and GEGL's internals.
 Also, if you have anything to say, please feel free to react.  I am
still learning the intricacies of OpenGL and GEGL and would very much
appreciate your input.

Furthermore, Nicolas expressed that instead of resamplers, I could
implement other things.  I elected that that other thing could be
GeglOperations.  Some GeglOperations could be accelerated through
shaders.  So instead of doing point no. 2 above, I could implement one
or two GeglOperations through shaders instead.  GEGL gurus, do you
think this is at all feasible?  Am I misunderstanding anything?


Kind regards,
Daerd
jersonperpetua at gmail dot com
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] GSoC 2009: OpenGL GPU resampling in GEGL (an update)

2009-04-01 Thread Øyvind Kolås
On Wed, Apr 1, 2009 at 7:00 PM, Jerson Michael Perpetua
jersonperpe...@gmail.com wrote:
 (1) Extend the current GeglBuffer implementation to store a copy of
 some image sub-buffers/mipmaps in volatile GPU memory (textures,
 VBOs).  The image data in the GPU memory will be potentially
 accelerated as they are already cached in the GPU as opposed to the
 ones that are stored in primary memory.

snip

 Furthermore, Nicolas expressed that instead of resamplers, I could
 implement other things.  I elected that that other thing could be
 GeglOperations.  Some GeglOperations could be accelerated through
 shaders.  So instead of doing point no. 2 above, I could implement one
 or two GeglOperations through shaders instead.  GEGL gurus, do you
 think this is at all feasible?  Am I misunderstanding anything?

Implementing the framework for letting GEGL do processing on the GPU is
an interesting topic. Last year GeglBuffer hadn't matured enough to
advise someone to start the task; now it is. Here is a plan containing
my thoughts on what is needs to be done from a GEGL perspective.

GPU based GeglOperations would be needed to implement and test GPU based
resamplers for GEGL. Doing only one GeglOperation in a graph on the GPU
will most likely be slower than doing all operations on the CPU; we need
multiple operations to offset the performance cost of the CPU-GPU
GPU-CPU transfers. Hopefully it is feasible to use shaders on tiles (or
compose and split up larger buffers on the GPU), this would make it
possible to keep track of where the valid tiles for a GeglBuffer reside;
CPU or GPU side (using two revision counts). I hope this would make us
able to use the same GeglBuffer handle for both CPU and GPU access in
the same process minimizing the changes needed to the rest of GEGL.

The type of GeglOperation that is most important to get going is
GeglOperationPointComposer operations or as a starting point the op
gegl:over which is the normal layer mode in GIMP, all other such ops
behave the same with regards to input and output buffers but use a
different formula.

GeglOperationPointFilter is even simpler and would accommodate for the
needs of operations like brightness contrast, desaturation and more.
None of these would be using resamplers but they are the bulk of
operations that needs to be performed.

The operations that are likely to need a resampler (GPU built in or
custom) are the more complex ones that can have varying input and
output buffer sizes. The most needed one is the transformation class of
operations. (Currently only affine transformations are in GEGL, but we
need perspective as well to avoid a feature regression from GIMP which
does this.)

/Øyvind K.
-- 
«The future is already here. It's just not very evenly distributed»
 -- William Gibson
http://pippin.gimp.org/http://ffii.org/
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] GSOC 2009: GEGL-based file loaders for GIMP

2009-03-28 Thread Martin Nordholts
YongLi wrote:
 I am also interesting in this project: GEGL-based file loaders for GIMP.
 I'm preparing the proposal, and it says in the introduction that The
 exact approach at this is still to be decided but will only require a
 small set of discussions and agreements between core developers.
 Where can I discuss this topic with core developers?

Hi

On a second thought I think it will be too early to do this forthis
years GSoC. IMO a prerequisite for this project is that the GIMP core
can store high bit depth data, and it can't yet. I'm working on that atm
but there is still quite a lot to do so it's hard to say when this stuff
will be good enough to base something on.

BR,
Martin
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


[Gimp-developer] GSOC 2009: GEGL-based file loaders for GIMP

2009-03-27 Thread YongLi
I am also interesting in this project: GEGL-based file loaders for GIMP.
I'm preparing the proposal, and it says in the introduction that The exact
approach at this is still to be decided but will only require a small set of
discussions and agreements between core developers.
Where can I discuss this topic with core developers?

-- 
Name: Yong Li
E-mail: liyon...@gmail.com
Address: Room 3-523, FIT Building, Tsinghua University, Beijing, China.
100084.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


[Gimp-developer] Gsoc 2009

2009-03-27 Thread amit kumar
Dear Nicolas Robidoux
 I am Amit Kumar from India,an undergraduate engineering student(Electronics
 communication engineering) of IIT Guwahati.
I went through Ideas list of   GNU Image Manipulation Program   for Gsoc
2009.
I found More Flexible Abyss Policies (including Nearest Neighbour, a.k.a.
clamp) and Consistent Image Size for GEGL Resamplers  .I would like to work
on this.
I have enough experience in this field.
Kindly reply to this mail so that next time we  discuss this.

Sincerely yours
Amit
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer