From a read through the description it looks like this library covers the basics well, but has two important limitations which make it less useful for "serious" image processing:
- It doesn't support floating point types (half, single or double) for channel values, so it can't be used with HDR images.
- It requires channel values to be interleaved for each pixel (e.g. RGBRGBRGB rather than RRRGGGBBB), which is less efficient in some situations. Supporting both would be better.
It's really easy to write your own implementation of the Image interface. At the moment the majority cases are covered. I could see something like what you describe coming in the not-too-distant future, as we see how people are using the package.
After having recently dealt with libpng in C, and PerlMagick in Perl, I'd consider learning an entire new programming language just to have sane access to images. This looks pretty well designed.
- It doesn't support floating point types (half, single or double) for channel values, so it can't be used with HDR images.
- It requires channel values to be interleaved for each pixel (e.g. RGBRGBRGB rather than RRRGGGBBB), which is less efficient in some situations. Supporting both would be better.