Pixel 7 Pro raw processing

Looks “official” from the RPU sample: https://raw.pixls.us/getfile.php/6168/exif/PXL_20221204_063131635.dng.exif.txt

Standard camera app.

Official app. Camera profile results in very washed out colors for Pixel 6 DNGs.

@kmilos I just looked at the Pixel 4 XL, and you reminded me that I need to reupload the file.

The Pixel 4 XL sample at https://raw.pixls.us/getfile.php/3502/nice/Google%20-%20Pixel%204%20XL%20-%2016bit%20(4:3).dng is one of the “day -1” ones with a broken/deficient profile, which has exactly the sort of issue @chaimav describes. I could have sworn I re-uploaded a new sample file, but I guess I didn’t and/or the upload failed because a sample already existed. The date on the image is October 23, 2019, and the phone didn’t officially release until October 24 ( Google Pixel 4 and Pixel 4 XL: Price, release date, availability, and deals ) - My phone arrived a day earlier than it was supposed to. There was an update to the camera app on October 24 which embedded a completely different color profile into the DNGs.

I won’t be able to grab one of the newer DNGs until tonight.

Actually specify the DNG as a dcp file … maybe no profile is the same but I am not at my PC to check…One thing is that RT at least the somewhat older version I have at the moment cannot support gainmaps… DT will automatically and ART can via the embedded selection in the Flat Field correction… you really want that with these DNG files …the jpgs have that and without it the DNG are heavily vignetted and not exposed as nicely out of the gate as they can be… if you have access to either program you should try it to see the difference it can be quite substantial…

Random DNG from a pixel 3axl

See the impact of the gain map…

The gainmap definitely helps, but I’ve gotten decent results from a 4XL without it - the embedded color profile is definitely important.

The DNG I uploaded on release day (which is the one in raw.pixls.us) has a profile that has the same issue you describe. All DNGs I’ve shot since Day 0 have a HueSatMap as part of the profile.
IMG_20191028_193428.dng (7.1 MB)

Also, it looks like Night Sight and normal shots have different color profiles:

adodd@andyslaptop:~/Pictures/sorted/Experimental/Pixel4XL$ exiftool -ColorMatrix1 *.dng
======== Google - Pixel 4 XL - 16bit (4:3).dng
Color Matrix 1                  : 1.7743 -0.843 -0.273 -0.9956 1.9269 0.0401 0.0401 -0.1525 0.7948
======== IMG_20191028_193428.dng
Color Matrix 1                  : 1.0577 -0.4995 -0.0103 -0.33 1.1359 0.221 -0.0204 0.1332 0.5939
======== PXL_20210902_153337567.dng
Color Matrix 1                  : 1.39 -0.7555 0.0554 -0.2302 1.0461 0.2132 0.01 0.0889 0.5099
======== PXL_20220827_222639478.NIGHT.dng
Color Matrix 1                  : 1.0577 -0.4995 -0.0103 -0.33 1.1359 0.221 -0.0204 0.1332 0.5939
    4 image files read

Are there any efforts to port gainmap support back from ART back to RT?

If it changes then maybe the tip I got from @agriggio for art to use the actual dng as a dcp and use custom…when you do that you have the tone curve the base table and the look table… I usually make sure to turn off the automatch when I do this but often if the dcp curve gets close then it is almost strait …

There is a program that can be run on your DNG files that applies the gain map and saves them as a DNG with the suffix… It was the first way to do this outside ART and then it was incorporated into DT. @paolod worked it up…

In the interim there’s @paolod 's tool, and I might take a crack at it in my Python converter just as a leaning exercise/practice.

I did just notice this - you can only turn off the LookTable if it’s a DCP profile (or the same DNG loaded as a DCP), not if it’s embedded in the DNG itself.

I think that’s a potential bug and/or at least a UI improvement that should be made. ProfileHueSatMap is usually useful/desirable, but the LookTable rarely is if you ever touch the tone curve. Kinda related to DCP profile size inflated with redundant data · Issue #6467 · Beep6581/RawTherapee · GitHub to a small degree

I tried to put this in my post as an edit but pixls is being difficult and says the link is empty so this is the post to which I referred to above…

The dngpreprocess tool is here: GitHub - paolodepetrillo/raw2dng at dngpreprocess
I never got around to writing a readme for it… it’s built inside of a fork of the raw2dng tool because that project was already set up to build the Adobe DNG SDK on Linux.

To build:

git clone https://github.com/paolodepetrillo/raw2dng.git
cd raw2dng
git checkout dngpreprocess
mkdir build
cd build
cmake ..
make

If everything works this will create the executable at build/dngpreprocess/dngpreprocess. To run:

dngpreprocess IMG_9999.dng

This will output a file named IMG_9999_pp.dng with the GainMap applied.

1 Like

How about Windows?

I should look at integrating that into my Python image conversion scripts - I have a strong distaste for the DNG SDK and tend to avoid any solution that relies on it.

Sorry, I don’t know how to build it on Windows. I would assume there is some way to do it. If you can set up Windows Subsystem for Linux it would definitely run in that environment.

1 Like

It does and that is how I used it…very easy…