[PATCH v1 1/2] utils: tuning: rkisp1: Clean up tuner construction

Kieran Bingham kieran.bingham at ideasonboard.com
Mon Aug 5 09:34:37 CEST 2024


Quoting Stefan Klug (2024-08-05 08:06:32)
> The instances of the static modules need to be passed to
> tuner.set_output_order() instead of the class.  This is the reason for
> the intermediate variables. To keep the code tidy, apply the same
> pattern to the other modules.
> 

Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>

> Signed-off-by: Stefan Klug <stefan.klug at ideasonboard.com>
> ---
>  utils/tuning/rkisp1.py | 47 +++++++++++++++++++++---------------------
>  1 file changed, 24 insertions(+), 23 deletions(-)
> 
> diff --git a/utils/tuning/rkisp1.py b/utils/tuning/rkisp1.py
> index 0d279a39ab1b..5d7a69fc4a13 100755
> --- a/utils/tuning/rkisp1.py
> +++ b/utils/tuning/rkisp1.py
> @@ -19,44 +19,45 @@ from libtuning.modules.static import StaticModule
>  
>  coloredlogs.install(level=logging.INFO, fmt='%(name)s %(levelname)s %(message)s')
>  
> +agc = AGCRkISP1(debug=[lt.Debug.Plot])
>  awb = StaticModule('Awb')
>  blc = StaticModule('BlackLevelCorrection')
> +ccm = CCMRkISP1(debug=[lt.Debug.Plot])
>  color_processing = StaticModule('ColorProcessing')
>  filter = StaticModule('Filter')
>  gamma_out = StaticModule('GammaOutCorrection', {'gamma': 2.2})
> +lsc = LSCRkISP1(debug=[lt.Debug.Plot],
> +                # This is for the actual LSC tuning, and is part of the base LSC
> +                # module. rkisp1's table sector sizes (16x16 programmed as mirrored
> +                # 8x8) are separate, and is hardcoded in its specific LSC tuning
> +                # module.
> +                sector_shape=(17, 17),
> +
> +                sector_x_gradient=lt.gradient.Linear(lt.Remainder.DistributeFront),
> +                sector_y_gradient=lt.gradient.Linear(lt.Remainder.DistributeFront),
> +
> +                # This is the function that will be used to average the pixels in
> +                # each sector. This can also be a custom function.
> +                sector_average_function=lt.average.Mean(),
> +
> +                # This is the function that will be used to smooth the color ratio
> +                # values.  This can also be a custom function.
> +                smoothing_function=lt.smoothing.MedianBlur(3),)
>  
>  tuner = lt.Tuner('RkISP1')
> -tuner.add(AGCRkISP1(debug=[lt.Debug.Plot]))
> +tuner.add(agc)
>  tuner.add(awb)
>  tuner.add(blc)
> -tuner.add(CCMRkISP1(debug=[lt.Debug.Plot]))
> +tuner.add(ccm)
>  tuner.add(color_processing)
>  tuner.add(filter)
>  tuner.add(gamma_out)
> -tuner.add(LSCRkISP1(
> -          debug=[lt.Debug.Plot],
> -          # This is for the actual LSC tuning, and is part of the base LSC
> -          # module. rkisp1's table sector sizes (16x16 programmed as mirrored
> -          # 8x8) are separate, and is hardcoded in its specific LSC tuning
> -          # module.
> -          sector_shape=(17, 17),
> -
> -          sector_x_gradient=lt.gradient.Linear(lt.Remainder.DistributeFront),
> -          sector_y_gradient=lt.gradient.Linear(lt.Remainder.DistributeFront),
> -
> -          # This is the function that will be used to average the pixels in
> -          # each sector. This can also be a custom function.
> -          sector_average_function=lt.average.Mean(),
> -
> -          # This is the function that will be used to smooth the color ratio
> -          # values.  This can also be a custom function.
> -          smoothing_function=lt.smoothing.MedianBlur(3),
> -          ))
> +tuner.add(lsc)
>  
>  tuner.set_input_parser(YamlParser())
>  tuner.set_output_formatter(YamlOutput())
> -tuner.set_output_order([AGCRkISP1, awb, blc, CCMRkISP1, color_processing,
> -                        filter, gamma_out, LSCRkISP1])
> +tuner.set_output_order([agc, awb, blc, ccm, color_processing,
> +                        filter, gamma_out, lsc])
>  
>  if __name__ == '__main__':
>      sys.exit(tuner.run(sys.argv))
> -- 
> 2.43.0
>


More information about the libcamera-devel mailing list