Show a cover letter.

GET /api/1.1/covers/17534/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 17534,
    "url": "https://patchwork.libcamera.org/api/1.1/covers/17534/?format=api",
    "web_url": "https://patchwork.libcamera.org/cover/17534/",
    "project": {
        "id": 1,
        "url": "https://patchwork.libcamera.org/api/1.1/projects/1/?format=api",
        "name": "libcamera",
        "link_name": "libcamera",
        "list_id": "libcamera_core",
        "list_email": "libcamera-devel@lists.libcamera.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": ""
    },
    "msgid": "<20221006120105.3861831-1-paul.elder@ideasonboard.com>",
    "date": "2022-10-06T12:00:58",
    "name": "[libcamera-devel,0/7] utils: tuning: Add a new tuning infrastructure",
    "submitter": {
        "id": 17,
        "url": "https://patchwork.libcamera.org/api/1.1/people/17/?format=api",
        "name": "Paul Elder",
        "email": "paul.elder@ideasonboard.com"
    },
    "mbox": "https://patchwork.libcamera.org/cover/17534/mbox/",
    "series": [
        {
            "id": 3536,
            "url": "https://patchwork.libcamera.org/api/1.1/series/3536/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=3536",
            "date": "2022-10-06T12:00:58",
            "name": "utils: tuning: Add a new tuning infrastructure",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/3536/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/covers/17534/comments/",
    "headers": {
        "Return-Path": "<libcamera-devel-bounces@lists.libcamera.org>",
        "X-Original-To": "parsemail@patchwork.libcamera.org",
        "Delivered-To": "parsemail@patchwork.libcamera.org",
        "Received": [
            "from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 50AEDC0DA4\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  6 Oct 2022 12:01:20 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id AD11362CEC;\n\tThu,  6 Oct 2022 14:01:19 +0200 (CEST)",
            "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id F007560AA2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  6 Oct 2022 14:01:17 +0200 (CEST)",
            "from pyrite.rasen.tech (h175-177-042-159.catv02.itscom.jp\n\t[175.177.42.159])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 4A34D4DD;\n\tThu,  6 Oct 2022 14:01:15 +0200 (CEST)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1665057679;\n\tbh=mF3wfFIkveLHaiNvkvJNBXoycjVWEPfqQxPVVI+vQsM=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:From;\n\tb=1eJtid7owOdGVs8HSKEMbh3+TjVOdRQR8B2zRv3+hVZsRudtV0Df/wdnm2eYlCAg/\n\t23qSGx8qiuhOMe8huZLT/aiHxxQGVtINpsl8d+Ht8/GgqmqfXFuw89I/ZPoyj9fmUF\n\tZVIxPzyhLRgwA/kaBxgR0ytb7zT1ZrmRxQIYafiAKmmuCzam8KdOpfdZJtNkc+gdlg\n\tZkeSXAzbbiGE3Mai4YkEgEuEyJgSHVCtwztHAMaB727eNmuGzS4HFj4IEXzlGWQI2G\n\tFu6UAftBDMR3SjMThgzdNplkal5xYAtpE5Yc5htwKobBn+O8UmMlcF/+RMpsB7VWVp\n\tYsfD9loPCY8Jg==",
            "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1665057677;\n\tbh=mF3wfFIkveLHaiNvkvJNBXoycjVWEPfqQxPVVI+vQsM=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=fPrHumWGZPgM82QR6DQ7tFbObPPcdlUTmsfCqP0KvE2e+XMfioUb7SB4JUM6dEvAW\n\tThZSIJ3kEA1bJKzWy4pcrdaHNH8eKq6wApj2/54dsX2lh2t1Zoarrn91YLiqDRdMcL\n\tuBdhn5C8x2fNjuwxrB++Yd+IFoFS9zjda/dGcz6c="
        ],
        "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"fPrHumWG\"; dkim-atps=neutral",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Thu,  6 Oct 2022 21:00:58 +0900",
        "Message-Id": "<20221006120105.3861831-1-paul.elder@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.30.2",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH 0/7] utils: tuning: Add a new tuning\n\tinfrastructure",
        "X-BeenThere": "libcamera-devel@lists.libcamera.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "<libcamera-devel.lists.libcamera.org>",
        "List-Unsubscribe": "<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>",
        "List-Archive": "<https://lists.libcamera.org/pipermail/libcamera-devel/>",
        "List-Post": "<mailto:libcamera-devel@lists.libcamera.org>",
        "List-Help": "<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>",
        "List-Subscribe": "<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>",
        "From": "Paul Elder via libcamera-devel <libcamera-devel@lists.libcamera.org>",
        "Reply-To": "Paul Elder <paul.elder@ideasonboard.com>",
        "Errors-To": "libcamera-devel-bounces@lists.libcamera.org",
        "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"
    },
    "content": "This patch series adds a new tuning infrastructure called libtuning,\ninspired by ctt.\n\nThe design modularizes common components of tuning tools such that\nnew tuning scripts for new platforms can be created easily, as show in\npatches 5/7 to 7/7.\n\nThe common \"core\" components include file management, argument\nparsing, image loading and validation, and macbeth chart detection, as\nwell as miscellaneous (but tedious) math utilities. It connects\neverything together such that a platform's tuning script can very easily\ncustomize tuning modules in a variety of ways, even including the format\nof the input configuration file and the output tuning file. These are\nall implemented in patch 1/7, as they are all interconnected.\n\nThe input configuration file and output tuning file could have different\nformats as well, hence why these have their own classes. For now, only\nthe raspberrypi's formats are implemented, in patches 3/7 and 4/7\nrespectively.\n\nThe main point of libtuning is that tuning modules can be used for\ndifferent platforms while only changing the configuration of the tuning\nmodules. A simple example is the lens shading table size. Patch 2/7\nimplements an ALSC tuning module based on ctt's ALSC, with all the\nvalues that were hardcoded for raspberrypi to take values that can be\nconfigured by platform-specific tuning scripts.\n\n(I haven't actually tested/ran this yet, as I'm missing calibration\nimages)\n\nPaul Elder (7):\n  utils: tuning: libtuning: Implement the core of libtuning\n  utils: libtuning: modules: Add ALSC module\n  utils: libtuning: parsers: Add raspberrypi parser\n  utils: libtuning: generators: Add raspberrypi output\n  utils: tuning: Add alsc-only libtuning raspberrypi tuning script\n  [DNI] utils: tuning: Add full libtuning raspberrypi tuning script\n  [DNI] utils: tuning: Add tuning script for rkisp1\n\n utils/tuning/libtuning/__init__.py            |   9 +\n utils/tuning/libtuning/average_functions.py   |  21 +\n utils/tuning/libtuning/generators/__init__.py |   1 +\n .../tuning/libtuning/generators/generator.py  |  12 +\n .../generators/raspberrypi_output.py          | 115 +++\n utils/tuning/libtuning/gradient.py            | 111 +++\n utils/tuning/libtuning/image.py               | 272 ++++++++\n utils/tuning/libtuning/libtuning.py           | 191 +++++\n utils/tuning/libtuning/macbeth.py             | 654 ++++++++++++++++++\n utils/tuning/libtuning/macbeth_ref.pgm        |   5 +\n utils/tuning/libtuning/modules/__init__.py    |   1 +\n utils/tuning/libtuning/modules/alsc.py        | 321 +++++++++\n utils/tuning/libtuning/modules/module.py      |  41 ++\n utils/tuning/libtuning/parsers/__init__.py    |   1 +\n utils/tuning/libtuning/parsers/parser.py      |  18 +\n .../libtuning/parsers/raspberrypi_parser.py   |  82 +++\n utils/tuning/libtuning/smoothing.py           |  21 +\n utils/tuning/libtuning/utils.py               | 198 ++++++\n utils/tuning/raspberrypi.py                   |  39 ++\n utils/tuning/raspberrypi/__init__.py          |   0\n utils/tuning/raspberrypi/alsc.py              |  18 +\n utils/tuning/raspberrypi_alsc_only.py         |  18 +\n utils/tuning/rkisp1.py                        |  69 ++\n 23 files changed, 2218 insertions(+)\n create mode 100644 utils/tuning/libtuning/__init__.py\n create mode 100644 utils/tuning/libtuning/average_functions.py\n create mode 100644 utils/tuning/libtuning/generators/__init__.py\n create mode 100644 utils/tuning/libtuning/generators/generator.py\n create mode 100644 utils/tuning/libtuning/generators/raspberrypi_output.py\n create mode 100644 utils/tuning/libtuning/gradient.py\n create mode 100644 utils/tuning/libtuning/image.py\n create mode 100644 utils/tuning/libtuning/libtuning.py\n create mode 100644 utils/tuning/libtuning/macbeth.py\n create mode 100644 utils/tuning/libtuning/macbeth_ref.pgm\n create mode 100644 utils/tuning/libtuning/modules/__init__.py\n create mode 100644 utils/tuning/libtuning/modules/alsc.py\n create mode 100644 utils/tuning/libtuning/modules/module.py\n create mode 100644 utils/tuning/libtuning/parsers/__init__.py\n create mode 100644 utils/tuning/libtuning/parsers/parser.py\n create mode 100644 utils/tuning/libtuning/parsers/raspberrypi_parser.py\n create mode 100644 utils/tuning/libtuning/smoothing.py\n create mode 100644 utils/tuning/libtuning/utils.py\n create mode 100644 utils/tuning/raspberrypi.py\n create mode 100644 utils/tuning/raspberrypi/__init__.py\n create mode 100644 utils/tuning/raspberrypi/alsc.py\n create mode 100755 utils/tuning/raspberrypi_alsc_only.py\n create mode 100644 utils/tuning/rkisp1.py"
}