[PATCH] utils: tuning: libtuning: Fix tuning for non RGGB RAWs
Stefan Klug
stefan.klug at ideasonboard.com
Tue Dec 17 15:59:35 CET 2024
Tuning fails for raw images that don't have the channels ordered in
RGGB. In 19dc8c28f63c ("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 at ideasonboard.com>
---
utils/tuning/libtuning/ctt_awb.py | 3 +--
utils/tuning/libtuning/image.py | 2 +-
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/utils/tuning/libtuning/ctt_awb.py b/utils/tuning/libtuning/ctt_awb.py
index 117612f2582a..240f37e644bb 100644
--- a/utils/tuning/libtuning/ctt_awb.py
+++ b/utils/tuning/libtuning/ctt_awb.py
@@ -302,10 +302,10 @@ def get_alsc_patches(Img, colour_cals, grey=True):
patches for each channel, remembering to subtract blacklevel
If grey then only greyscale patches considered
"""
+ patches = Img.patches
if grey:
cen_coords = Img.cen_coords[3::4]
col = Img.color
- patches = [np.array(Img.patches[i]) for i in Img.order]
r_patchs = patches[0][3::4] - Img.blacklevel_16
b_patchs = patches[3][3::4] - Img.blacklevel_16
"""
@@ -315,7 +315,6 @@ def get_alsc_patches(Img, colour_cals, grey=True):
else:
cen_coords = Img.cen_coords
col = Img.color
- patches = [np.array(Img.patches[i]) for i in Img.order]
r_patchs = patches[0] - Img.blacklevel_16
b_patchs = patches[3] - Img.blacklevel_16
g_patchs = (patches[1]+patches[2])/2 - Img.blacklevel_16
diff --git a/utils/tuning/libtuning/image.py b/utils/tuning/libtuning/image.py
index c8911a0ff125..ecd334bdc67f 100644
--- a/utils/tuning/libtuning/image.py
+++ b/utils/tuning/libtuning/image.py
@@ -135,6 +135,6 @@ class Image:
all_patches.append(ch_patches)
- self.patches = all_patches
+ self.patches = np.array(all_patches)
return not saturated
--
2.43.0
More information about the libcamera-devel
mailing list