.. _changelog_v2_0_0: v2.0.0 ====== v2.0.0 adds **HoG** (histogram-of-gradients), a simple **lens-correction** function, an ``image.clear()`` method, and makes the binary/string image operations chainable. The experimental :mod:`tof` module was removed and the keypoint corner detector switched to FAST-12 — read the breaking changes below. .. contents:: On this page :local: :depth: 1 Highlights ---------- - **HoG** — histogram-of-gradients feature extraction (with an example). - **Lens correction** — a simple ``image.lens_corr()`` function. - ``image.clear()`` — clear an image. - **Chainable ops** — binary/string image operations return the image for chaining. - **Breaking:** the :mod:`tof` module was removed and the keypoint corner detector switched to FAST-12 — see the breaking changes. New features ------------ - **HoG** — added histogram-of-gradients feature extraction with a ``hog.py`` example. - **Lens correction** — added a simple ``image.lens_corr()`` function. - ``image.clear()`` — added a method to clear an image. Other changes and improvements ------------------------------ - Binary / string image operations now return the argument image so calls can be chained; blocking socket functions now honor the socket timeout. Bug fixes --------- - Fixed the template-match ROI when the template and frame are the same size, the ``image.gaussian()`` return object, and a ``socket_recv`` bug. Breaking API changes -------------------- User-visible API breaks between v1.9.0 and v2.0.0. Scope: Python C-modules in ``modules/`` and Python libraries in ``scripts/libraries/``. Each change is tagged with its impact: - *minor* — narrow API; only affects scripts that used it. - *behavior* — same API, different results; re-check tuned scripts. Changes are grouped by impact in that order. If you just want to port your code, jump to the :ref:`migration checklist ` at the end. Each commit hash links to its diff on GitHub. .. _v2_0_0_tof: :mod:`tof` module removed *(minor)* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The experimental :mod:`tof` (time-of-flight) module was removed. Scripts that did ``import tof`` will fail and must drop the dependency. *Commits:* `60dc3f7e9 `__ .. _v2_0_0_fast12: Keypoint corner detector switched to FAST-12 *(behavior)* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The keypoint corner detector switched to FAST-12, so ``image.find_keypoints()`` detects a different set of corners than before. Re-check / re-tune keypoint-matching scripts. *Commits:* `ae10b0a40 `__ .. _v2_0_0_migration: Migration checklist ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Remove any ``import tof`` usage (:ref:`the tof removal `) and re-tune keypoint matching against the FAST-12 detector (:ref:`the FAST-12 change `). All other scripts run unchanged.