RSS/Atom feed Twitter
Site is read-only, email is disabled

blurb about gegl

This discussion is connected to the gegl-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.

This is a read-only list on gimpusers.com so this discussion thread is read-only, too.

6 of 6 messages available
Toggle history

Please log in to manage your subscriptions.

blurb about gegl Nicolas Robidoux 18 Feb 04:08
  blurb about gegl Nicolas Robidoux 18 Feb 04:24
  blurb about gegl Martin Nordholts 18 Feb 07:09
   blurb about gegl Nicolas Robidoux 18 Feb 07:12
   blurb about gegl David Gowers 18 Feb 08:27
blurb about gegl Nicolas Robidoux 18 Feb 15:25
Nicolas Robidoux
2009-02-18 04:08:23 UTC (about 16 years ago)

blurb about gegl

Hello all.

I am just about to submit an article on the Nohalo method (implemented as gegl-sampler-sharp.c). This article contains the following summary of the features of GEGL which are relevant to us.

If you find that this is inaccurate or a misrepresentation, could you please let me know so I fix the text?

Of course, any mistake in this description is our responsibility. But I would appreciate feedback, if needed.

With thanks,

Nicolas Robidoux Universite Laurentienne

----------------------------------------------------------------------

GEGL, the GEneric Graphics Library, is an object oriented DAG-based (DAG = Directed Acyclic Digraph) image processing and compositing framework. Developed in C, GEGL is expected to bring non-destructive editing, high dynamic range, and large image support to the next major release of the GIMP (GNU Image Manipulation Program). GEGL is free and open source and runs on most operating systems. Nohalo, under the sampler name ``sharp,'' is an integral part of GEGL, and its source code (gegl-sampler-sharp.c) can be downloaded from gegl.org.

GEGL is ``image type agnostic,'' relying on an external library (babl) to convert all (suitable) image data to and from linear RGBA float buffers. This greatly simplifies the code base, since only one data type is handled by most methods.

Intended for interactive use by graphic artists and other real time uses, GEGL is structured so that the task-defining DAGs are fully dynamic. For this reason, GEGL is demand-driven, meaning that output pixel values are computed somewhat independently, each pixel ``pulling'' the needed input data through the DAG, performing needed operations along the way. With this data processing model, implementing a separate gradient module for Nohalo is not really an option, since it would add an extra node to the DAG without allowing the recycling of slopes common to several output pixels.

For these reasons, Nohalo is implemented as a ``single stage'' method in GEGL.

Nicolas Robidoux
2009-02-18 04:24:43 UTC (about 16 years ago)

blurb about gegl

A little bit more blurb:

Nicolas Robidoux Laurentian University

----------------------------------------------------------------------

Basically, the method receives the double precision coordinates of the sampling location within the input image and a pointer to a memory location which receives the computed values at the requested location. A key aspect of the implementation is that the method requests a pointer to an input pixel within a buffer guaranteed large enough to contain the stencil. A fairly complex machinery allows the buffer to be used for several output pixel computations and fills in missing values with the abyss policy if needed.

Martin Nordholts
2009-02-18 07:09:46 UTC (about 16 years ago)

blurb about gegl

Nicolas Robidoux wrote:

Hello all.

GEGL is expected to bring non-destructive editing, high dynamic range, and large image support to the next major release of the GIMP (GNU Image Manipulation Program).

Hi

The only thing that I found somewhat inaccurate is the "and large image support" bit. GIMP already has support for 260000 x 260000 images which I would call large. Did you refer to something other than image dimensions with "large" perhaps?

BR, Martin

Nicolas Robidoux
2009-02-18 07:12:44 UTC (about 16 years ago)

blurb about gegl

Martin and Dave:

Thanks for the helpful comments.

nicolas

David Gowers
2009-02-18 08:27:08 UTC (about 16 years ago)

blurb about gegl

Hello Martin!

On Wed, Feb 18, 2009 at 4:39 PM, Martin Nordholts wrote:

Nicolas Robidoux wrote:

Hello all.

GEGL is expected to bring non-destructive editing, high dynamic range, and large image support to the next major release of the GIMP (GNU Image Manipulation Program).

Hi

The only thing that I found somewhat inaccurate is the "and large image support" bit. GIMP already has support for 260000 x 260000 images which I would call large. Did you refer to something other than image dimensions with "large" perhaps?

I thought by this that Nicolas meant better handling. Because currently, large images are pretty slow, and eat more memory than is strictly necessary ( I certainly find them unusable for any kind of intensive painting or manipulation). Perhaps 'better large image handling' instead?

David

Nicolas Robidoux
2009-02-18 15:25:21 UTC (about 16 years ago)

blurb about gegl

Here is the latest version of the GEGL blurb for the article me and my colleagues are writing.

Nicolas Robidoux Universite Laurentienne

----------------------------------------------------------------------

GEGL, the GEneric Graphics Library, is an object oriented DAG-based image processing and compositing system. Developed in C, GEGL is expected to bring non-destructive editing, high dynamic range, and improved handling of very large images to the next major release of the GIMP (GNU Image Manipulation Program). GEGL is free and open source and runs on most operating systems. Nohalo, under the name ``sharp,'' is an integral part of GEGL, and its source code (gegl-sampler-sharp.c) can be downloaded from gegl.org.

GEGL is ``image type agnostic,'' relying on an external library (babl) to convert all (suitable) image data to and from linear RGBA float buffers. This greatly simplifies the code base, since only one data type is handled by most methods. (This is expected to change in the future.)

Intended for interactive use by graphic artists and other real time uses, GEGL is structured so that the task-defining DAGs are fully dynamic. For this reason, GEGL is demand-driven, meaning that output pixel values are computed somewhat independently, each pixel ``pulling'' the needed input data through the DAG, performing needed operations along the way. With this data processing model, implementing a separate gradient module for Nohalo is not really an option, since it would add an extra node to the DAG without allowing the recycling of slopes common to several output pixels.

For these reasons, Nohalo is implemented as a ``single stage'' method in GEGL. Basically, the method receives the double precision coordinates of the sampling location within the input image and a pointer to a memory location which receives the computed values. A key aspect of the implementation is that the method requests a pointer to an input pixel within a buffer guaranteed large enough to contain the stencil. A fairly complex machinery allows the buffer to be used for several output pixel computations and fills in missing values according to the abyss policy if necessary.