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.
--
Daniel___
Gegl-developer mailing list
Gegl-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gegl-developer