On Sep 17, 2009, at 6:51 PM, Nicolas Robidoux wrote:

But I am wondering if for GEGL's target user base an "always pretty
good" default is preferable to "choose your poison."

Well, if all GEGL ever has is a "always pretty good" default and you never get to pick your poison, you are making your decision for your users. And frankly, "always pretty good" is not as cut and dry and you'd like to think, off the top of my head here are some image processing applications I can think of that have dramatically different requirements in a resize operation (I speak from experience here, I've been involved with most of the items on this list):

High throughput print on demand rendering services. (Think snapfish.com and their ilk.)
medical research.  (MRI, CT, PET, ultrasound scanners)
astrophysics research.
general physics experimentation (anyone using a camera for measurements)
embedded systems (printers, kiosks, etc)
real time video processing

And of course applications like The GIMP.

All of these require different tradeoffs for their resamplers. I've seen downsamplers that preserve bluriness so you can show a thumbnail that is representative of the bluriness you see in a printed product. Rescaling text, it's often important to worry less about aliasing and more about blur. Nearest neighbor is actually a perfect resize operation for a large class of artificial images. Medical scientists are much more worried about introducing artifacts that could be misinterpreted as disease, or potentially blurring away evidence of such. Anyone using a camera for measurements is (depending on the measurement) often more interested in geometric stability, regardless of blur or aliasing. Real time video is often about speed.

I think a better question is to ask, are you going to limit GEGL to being used solely by The GIMP, and then, only the subset of GIMP users you think exist, or are you going to allow your users to create the facilities to use GEGL is applications you did not originally envision.

For me the obvious choice is the latter. Making GEGL suitable for as broad a range of applications as possible gets you a larger user base and, if done right, higher quality code. The Linux kernel is a great example of this.

Gegl-developer mailing list

Reply via email to