Shooting raw with the Google Pixel 6

Ah I will check again I was using Art but in the past on my Pixel 3a the open camera images have no embedded preview and as such I never found that automatch tone curve would work… for sure you can get the adobe info using the embedded selection again at least in Art and comparing to the dcp or the image dng loaded as a dcp …it all looks the same…

The gainmaps are a nice image correction as well…nothing yet in DT but Art can apply them…takes away the harsh vignette in the images…wont see much in this image…but a daylight one will show that nicely …its done in the flat field in Art…not sure RT has it yet although there was mention of a fork…

Confirmed…automatch does not work for me for the OP image in ART

Confirming that for me the open camera DNG provided has no auto match response or option for embedded profile that you will see using the native camera app… my version of RT is not too old…

image

Oh, but automated does not work in RawTherapee either. You do need to use the Custom section in the Colour Management module. This will open up some extra options in ART (which are always displayed in RawTherapee). Both have Tone Curve and Look Table not selected out-of-the-box.

This from ART (Latest master):

Screenshot_2022-05-08_18-53-44

This is what I am talking about …for me embedded should give you that exact set of options…but it will not with the Open Camera DNG…also you can simply load the file it self as a DCP when you have a proper DNG but the one created by open camera is a deviation from the standard in some way… I will post versions of both from my pixel so you can see… I have conflated 2 issues… the curve and the color management… when comparing the DNG files…

Embedded should be enable…

Not here

Same with ART but when you use a native DNG…it will read those parameters directly…

image

I think I understand what you are saying but aren’t we now in the obscure(?) what’s actually inside a DNG territory?

I’m assuming that there’s a RAW inside, which needs a profile applied by the editor, and I get the feeling that you see it as a TIFF, which has the info embedded.

You might be right, having access to a Google phone, though. If this is the case I do wonder why Adobe provides a set of DCP profiles for this camera…

1 Like

I will have to go back and see but it seems RT might not be able to use the embedded in either DNG where as ART can for the native camera app DNG and also ART can apply the gain maps…

EDIT: Art will also normally use embedded data for lens corrections with these DNG but again will not using open camera

Not trying to dis the open camera app…as it has a crazy range of features compared to the native one…just pointing out that there are differences…

image

Exactly and likely the better question…

exiftool -a -u -s -g1 image.dng

Not sure about the Pixel 6, but for the older Pixel phones, the Google Camera app always creates a computational RAW stacked from multiple raw frames from the camera, and it embeds an Adobe DCP profile in its DNG files, ignoring any color profile that comes from the hardware’s camera driver. The Open Camera app takes a single raw frame from the camera and stores that in the DNG file, along with the color profile from the camera driver. It is possible to use any DNG shot with Google Camera as a DCP file in ART/RT to apply that profile to DNGs shot with a different app.

In all cases there should be a valid GainMap in the DNG file, and it is important to apply it to have accurate color over the entire image. I do have a PR open for Darktable to support this and need to make sure it’s all ready for 4.0.

3 Likes

Not the 6 but the 3aXL…but if anyone is interested in the difference …here are raw and jpg from each app…

IMG_20220508_125423.dng (23.3 MB)


PXL_20220508_165443575.dng (14.1 MB)

RAw/JPG Pixel

Open Camera DNG are washed out by comparison for me at least

Looking forward to that

Interesting…as you say the google DNG has the Adobe info embedded and so explains why ART can access that… Open camera is quite different and for some reason using D55…

opencamera.txt (3.9 KB)
google.txt (6.8 KB)

Thanks for the explanation and your PR against Darktable. That opencamera raw looks very similar to the raws I got from the Pixel 6 and also my old Nokia 7 Plus. It’s fixable but having the gainmap applied automatically probably helps.

I’ve since played with the settings in the Google app as well and found the option where it saves the raw file. Those are indeed a bit nicer. I wonder if there’s any benefit at night with combining multiple layers for noise.

It’s not only the fact they’re claiming calibration under D55, but their color matrices (input profile) are significantly different (and not due to illuminant alone). This is what Google claims:

ColorMatrix1                    : 1.3289 -0.7855 0.0859 -0.2413 1.0662 0.2018 0.029 0.067 0.618
ColorMatrix2                    : 1.3931 -0.7011 -0.136 -0.3008 1.1519 0.1674 -0.0191 0.1523 0.5599
CalibrationIlluminant1          : Standard Light A
CalibrationIlluminant2          : D65

while OpenCamera have this:

ColorMatrix1                    : 1.03125 -0.4921875 -0.15625 -0.96875 1.875 0.0390625 0.0625 -0.2265625 1.1796875
ColorMatrix2                    : 1.5859375 -0.75 -0.2421875 -0.96875 1.875 0.0390625 0.046875 -0.1640625 0.8359375
CalibrationIlluminant1          : D55
CalibrationIlluminant2          : Standard Light A

So even for the same illuminant (A, i.e. tungsten), those are significantly different to cause what you’re seeing. No idea where OpenCamera gets their matrices from.

To make it interesting, it seems Google actually embeds the “Adobe Standard” profile, seems it is identical to Adobe/CameraRaw/CameraProfiles/Adobe Standard\Google Pixel 3 XL Rear Camera Adobe Standard.dcp

This was for your 3 XL, I presume the situation is also similar for the 6?

1 Like

Thanks for sharing these comments (and for the raw file as well). I have also enjoyed the rest of the thread, very informative.

When I get home I will compare your files with those from my googlephone (Pixel 4a) because last time I checked, the raw were very disappointing and I wasnt able to make them any better or comparable to the jpeg. So what I’ve done is to carry one making snapshots etc with my phone but in jpeg mode – yes, they are a bit too harsh and overprocessed but the raws gave me the usual feeling of “why bother” that I always have when playing with tiny sensors.

I should point out that I haven’t tried these gainmaps yet, so maybe I will change my mind?

It would be nice to see examples taken during the day, taken both with opencamera and the default camera app to see how’s the combination lens+sensor has improved from 4a to 6.

For the OpenCamera RAW, the OpenCamera app doesn’t explicitly do anything with the color matrix or illuminant. The camera driver from the hardware vendor provides those, which are included as metadata in the raw image provided by the Android camera API to the app. The app then passes the raw image and metadata to the Android API’s DngCreator, which writes out the DNG containing the single image capture and color matrix.

For the older Pixel phones it was suspected that this color matrix from the camera driver might be invalid. Older versions of the Google Camera app were embedding this matrix, until the app switched to using the Adobe DCP profile instead.

2 Likes

I made a color match icc profile some time ago…it was on a sunny day but introducing that seems to help the open cl shots a lot. I just stumbled on that the other day when messing around as I found in ART that selecting no profile was the best option for the open camera files. I’ll dig it up and share it and you can try it on a few of your open camera pics…it might not work being from my 3a but you could see.

It might be a true hack but for DT try the lens correction for the Huawei P10…it doesn’t distort the image but does a really nice job on that heavy vignette and actually gives a result that looks a lot like having the gain mapping…

1 Like

If the .dcp provides context and further technical help in applying F/OSS tools to the process then I’d say it’s perfectly fine to include here! :wink:

1 Like