[PATCH] utils: tuning: libtuning: Fix tuning for non RGGB RAWs
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Tue Dec 17 16:41:55 CET 2024
On Tue, Dec 17, 2024 at 03:59:35PM +0100, Stefan Klug wrote:
> 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>
Reviewed-by: Laurent Pinchart <laurent.pinchart 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
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list