{"id":20589,"url":"https://patchwork.libcamera.org/api/covers/20589/?format=json","web_url":"https://patchwork.libcamera.org/cover/20589/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20240705144209.418906-1-stefan.klug@ideasonboard.com>","date":"2024-07-05T14:41:36","name":"[v4,00/23] Add ccm calibration to libtuning","submitter":{"id":184,"url":"https://patchwork.libcamera.org/api/people/184/?format=json","name":"Stefan Klug","email":"stefan.klug@ideasonboard.com"},"mbox":"https://patchwork.libcamera.org/cover/20589/mbox/","series":[{"id":4446,"url":"https://patchwork.libcamera.org/api/series/4446/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=4446","date":"2024-07-05T14:41:36","name":"Add ccm calibration to libtuning","version":4,"mbox":"https://patchwork.libcamera.org/series/4446/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/20589/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 631AFBD87C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri,  5 Jul 2024 14:42:17 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id BA3E362E23;\n\tFri,  5 Jul 2024 16:42:15 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id C55C5619BF\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri,  5 Jul 2024 16:42:13 +0200 (CEST)","from ideasonboard.com (unknown\n\t[IPv6:2a00:6020:448c:6c00:60b6:33a3:3a20:6030])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id CB9124CC;\n\tFri,  5 Jul 2024 16:41:43 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"akuDqnqf\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1720190503;\n\tbh=a0rW6zl9ebM2w9OvBs77zxiSa7eJVUKdtBEXxAma6Bc=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=akuDqnqfiUPQTBuev7wSuuAaYNvGIVnv48VBktHoCVAZZG8nBlAFF5sGc7uUP0/iD\n\tAF4R3iqkXQAHTPU+os+VWoAtqTGdwnKK4QGBgRlqtKkGYb3X5WeYBP3S9qpePKYymN\n\tBL95RINZiaPeRT1fFTriufSHTBTJKaI4eVlS28vw=","From":"Stefan Klug <stefan.klug@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Cc":"Stefan Klug <stefan.klug@ideasonboard.com>","Subject":"[PATCH v4 00/23] Add ccm calibration to libtuning","Date":"Fri,  5 Jul 2024 16:41:36 +0200","Message-ID":"<20240705144209.418906-1-stefan.klug@ideasonboard.com>","X-Mailer":"git-send-email 2.43.0","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","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>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Hi all,\n\nthis patch series improves the rkisp1 tuning tool support. With that\ncode, it is possible to create a nice looking image on the imx8mp. It\nincorporates some logic from the raspberrypi tuning tools. This was used\nto get to a working state in a timely manner. After that further\nrefactoring and algorithm development can take place.\n\nFeature wise it contains:\n- Added ccm calibration for the rkisp1\n- Add static support for awb, filter, gamma and cproc\n- Fixed lsc correction tables\n- Some general fixes to make all that work\n\nBest regards,\nStefan\n\nChanges in v3:\n- Replaced BLC module by a simple static module as the black level is now \n  provided by the camera sensor helpers (seperate series).\n- Dropped P23 ([PATCH v2 23/25] libtuning: Make blacklevel optional).\n- Collected tags.\n- Fixed typos and comments from first review.\n- P12 is now split in two.\n\nChanges in v4:\n- Fixed error handling when ccm could not be calibrated (P16)\n- Collected tags\n- Improved commit messages (especially in \n  [PATCH v4 20/23] tuning: rkisp1: Add some static modules)\n- Fixed a few typos\n\n\nPaul Elder (1):\n  libtuning: modules: Add initial CCM module\n\nStefan Klug (22):\n  libtuning: Backport improvements in MacBeth search reliability\n  libtuning: Fix reference image\n  libtuning: Copy files from raspberrypi\n  libtuning: Copy visualize_macbeth_chart from raspberry pi\n  utils: tuning: Add requirements file and update readme\n  libtuning: Fix imports\n  libtuning: Migrate prints to python logging framework\n  libtuning: Fix visualize_macbeth_chart()\n  libtuning: Improve filename parsing\n  libtuning: Implement a minimal yaml parser\n  libtuning: Reactivate macbeth locator\n  libtuning: Be a bit more verbose\n  libtuning: lsc: rkisp1: Clip lsc values to valid range\n  libtuning: Use the color member of the Image class\n  libtuning: Remove need for Cam object from ccm\n  libtuning: Handle cases, where no lsc tuning images are present\n  libtuning: Only warn if processing returns None\n  libtuning: Add static module\n  tuning: rkisp1: Add some static modules\n  libtuning: lsc: rkisp1: Do not calculate ratios to green\n  libtuning: lsc: Prevent negative values\n  libtuning: agc: rkisp1: Increase y-target\n\n utils/tuning/README.rst                       |  23 +-\n utils/tuning/config-example.yaml              |  12 +\n utils/tuning/libtuning/ctt_awb.py             | 378 ++++++++++++++++\n utils/tuning/libtuning/ctt_ccm.py             | 408 ++++++++++++++++++\n utils/tuning/libtuning/ctt_colors.py          |  30 ++\n utils/tuning/libtuning/ctt_ransac.py          |  71 +++\n .../libtuning/generators/yaml_output.py       |   8 +-\n utils/tuning/libtuning/image.py               |   8 +-\n utils/tuning/libtuning/libtuning.py           |  23 +-\n utils/tuning/libtuning/macbeth.py             |  65 ++-\n utils/tuning/libtuning/macbeth_ref.pgm        |   2 +-\n utils/tuning/libtuning/modules/agc/rkisp1.py  |   2 +-\n .../tuning/libtuning/modules/ccm/__init__.py  |   6 +\n utils/tuning/libtuning/modules/ccm/ccm.py     |  41 ++\n utils/tuning/libtuning/modules/ccm/rkisp1.py  |  28 ++\n utils/tuning/libtuning/modules/lsc/lsc.py     |   5 +-\n .../libtuning/modules/lsc/raspberrypi.py      |  12 +-\n utils/tuning/libtuning/modules/lsc/rkisp1.py  |  20 +-\n utils/tuning/libtuning/modules/static.py      |  24 ++\n utils/tuning/libtuning/parsers/yaml_parser.py |   9 +-\n utils/tuning/libtuning/utils.py               |  95 +++-\n utils/tuning/requirements.txt                 |   6 +\n utils/tuning/rkisp1.py                        |  24 +-\n 23 files changed, 1217 insertions(+), 83 deletions(-)\n create mode 100644 utils/tuning/config-example.yaml\n create mode 100644 utils/tuning/libtuning/ctt_awb.py\n create mode 100644 utils/tuning/libtuning/ctt_ccm.py\n create mode 100644 utils/tuning/libtuning/ctt_colors.py\n create mode 100644 utils/tuning/libtuning/ctt_ransac.py\n create mode 100644 utils/tuning/libtuning/modules/ccm/__init__.py\n create mode 100644 utils/tuning/libtuning/modules/ccm/ccm.py\n create mode 100644 utils/tuning/libtuning/modules/ccm/rkisp1.py\n create mode 100644 utils/tuning/libtuning/modules/static.py\n create mode 100644 utils/tuning/requirements.txt"}