utils: tuning: rkisp1: Clean up tuner construction

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.

Signed-off-by: Stefan Klug <stefan.klug@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
This commit is contained in:
Stefan Klug 2024-07-09 12:19:26 +02:00
parent 6b4771d460
commit 1dfedac794

View file

@ -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))