utils: tuning: libtuning: Fix tuning for non RGGB RAWs

Tuning fails for raw images that don't have the channels ordered in
RGGB.  In 19dc8c28f6 ("utils: tuning: libtuning: Implement the core of
libtuning") the channels of the image were reordered to RGGB
unconditionally in _read_image_dng(). That change was not applied to the
ctt_awb code, so that the channels were reordered twice. Fix by removing
the double ordering.

Signed-off-by: Stefan Klug <stefan.klug@ideasonboard.com>
Tested-by: Isaac Scott <isaac.scott@ideasonboard.com>
Reviewed-by: Isaac Scott <isaac.scott@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
Stefan Klug 2024-12-17 15:59:35 +01:00
parent 936a099eca
commit 24e00be9f3
2 changed files with 2 additions and 3 deletions

View file

@ -301,10 +301,10 @@ def get_alsc_patches(Img, colour_cals, grey=True):
patches for each channel, remembering to subtract blacklevel patches for each channel, remembering to subtract blacklevel
If grey then only greyscale patches considered If grey then only greyscale patches considered
""" """
patches = Img.patches
if grey: if grey:
cen_coords = Img.cen_coords[3::4] cen_coords = Img.cen_coords[3::4]
col = Img.col col = Img.col
patches = [np.array(Img.patches[i]) for i in Img.order]
r_patchs = patches[0][3::4] - Img.blacklevel_16 r_patchs = patches[0][3::4] - Img.blacklevel_16
b_patchs = patches[3][3::4] - Img.blacklevel_16 b_patchs = patches[3][3::4] - Img.blacklevel_16
""" """
@ -314,7 +314,6 @@ def get_alsc_patches(Img, colour_cals, grey=True):
else: else:
cen_coords = Img.cen_coords cen_coords = Img.cen_coords
col = Img.color col = Img.color
patches = [np.array(Img.patches[i]) for i in Img.order]
r_patchs = patches[0] - Img.blacklevel_16 r_patchs = patches[0] - Img.blacklevel_16
b_patchs = patches[3] - Img.blacklevel_16 b_patchs = patches[3] - Img.blacklevel_16
g_patchs = (patches[1]+patches[2])/2 - Img.blacklevel_16 g_patchs = (patches[1]+patches[2])/2 - Img.blacklevel_16

View file

@ -135,6 +135,6 @@ class Image:
all_patches.append(ch_patches) all_patches.append(ch_patches)
self.patches = all_patches self.patches = np.array(all_patches)
return not saturated return not saturated