summaryrefslogtreecommitdiff
path: root/utils/raspberrypi/ctt/alsc_only.py
blob: a521c4ad1d4700be5d2f9d90222b1f1e024e18db (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/usr/bin/env python3
#
# SPDX-License-Identifier: BSD-2-Clause
#
# Copyright (C) 2022, Raspberry Pi Ltd
#
# alsc tuning tool

import sys

from ctt import *
from ctt_tools import parse_input

if __name__ == '__main__':
    """
    initialise calibration
    """
    if len(sys.argv) == 1:
        print("""
    PiSP Lens Shading Camera Tuning Tool version 1.0

    Required Arguments:
    '-i' : Calibration image directory.
    '-o' : Name of output json file.

    Optional Arguments:
    '-t' : Target platform - 'pisp' or 'vc4'. Default 'vc4'
    '-c' : Config file for the CTT. If not passed, default parameters used.
    '-l' : Name of output log file. If not passed, 'ctt_log.txt' used.
              """)
        quit(0)
    else:
        """
        parse input arguments
        """
        json_output, directory, config, log_output, target = parse_input()
        if target == 'pisp':
            from ctt_pisp import json_template, grid_size
        elif target == 'vc4':
            from ctt_vc4 import json_template, grid_size

        run_ctt(json_output, directory, config, log_output, json_template, grid_size, target, alsc_only=True)
1.0; // keep compiler calm if (image_metadata->Get("device.status", device_status) == 0) { // There is a slight question as to exactly how the noise // profile, specifically the constant part of it, scales. For // now we assume it all scales the same, and we'll revisit this // if it proves substantially wrong. NOTE: we may also want to // make some adjustments based on the camera mode (such as // binning), if we knew how to discover it... double factor = sqrt(device_status.analogue_gain) / mode_factor_; struct NoiseStatus status; status.noise_constant = reference_constant_ * factor; status.noise_slope = reference_slope_ * factor; image_metadata->Set("noise.status", status); RPI_LOG(Name() << ": constant " << status.noise_constant << " slope " << status.noise_slope); } else RPI_WARN(Name() << " no metadata"); } // Register algorithm with the system. static Algorithm *Create(Controller *controller) { return new Noise(controller); } static RegisterAlgorithm reg(NAME, &Create);