I haven't posted for a while - I've been busy coding. Something new in the works that should be available in a month or two.
But I do want to quickly publish something I haven't seen documented before, which is how you can do RGB to HSV conversions in a CIFilter. HSV (Hue, Saturation, Value) representations are useful in a number of image manipulations, and CIFilters are part of Apple's image processing in OS X and iOS, and use a reduced version of the OpenGL shader language.
In general, HSV conversion in OpenGL shader language are a problem, because of the conditionals, which shader language aren't good at. Some RGB<->HSV conversions in Open GL shader language have been published before, but all the ones I've seen use functions that aren't available in the subset of the shader language that is available in a CIFilter.
This implementation takes some ideas about the use of the "step" function from Ian Taylor's "normal" shader language implementation.
The CIFilter below adjusts exposure and saturation by converting to HSV, adjusting S and V, and converting back to RGB. You can test this by just pasting it into Quartz Composer. Of course, if all you want to do is to adjust exposure and saturation, there are easier ways than HSV - this is just a demo!
Anyway, without more talk:
Jono Slack over on the L-Camera-Forum was kind enough to post a raw DNG from Leica's new M Monochrom, so I a took a bit of a root around inside it. No surprises - it's very similar to a M9 DNG. For those interested, there's a field level dump of the interesting fields below, but the highlights are:
14 Bit data, much the same as an M9, with non-zero black level Uncompressed DNG version 1.0.0.0, so still the original DNG spec, none of the new stuff Camera name specified as "M9 monochrom" The MakerNote with its lens info still seems to be as for the M9; in this case the lens shows as "Apo-Summicron-M 75mm f/2 ASPH", which is consistent with what Jono reported The famous "blue dot" is still there The only thing that might surprise a few people is the "PhotometricInterpretation: LinearRaw" part. But that's actually quite correct - the way the DNG spec works, you can either set that to CFA (aka a Bayer array type camera) or to LinearRaw. And this sure isn't a CFA camera.
There is one slight side effect of LinearRaw though. When ACR or Lightroom load a normal raw, they apply a tone curve by default. However, with a LinearRaw, they don't. So, for those intent on comparing a M9 image to a M Monochrom image shot side-by-side, be aware that by default they have different tone curves.
I'd guess that once the M Monochrom is shipping ACR and LR will have a built-in M Monochrom camera profile that will probably have a tone curve.
The other issue to be aware of with LinearRaw is that most raw development programs don't support it, so until Aperture, Capture One, etc are updated, don't expect M Monochrom DNGs to load in much except Adobe products.