1.0.1 March 2025
-
Image
class.dice
method, chops an image up into tiles, can be overlapping.Tile(columns=0)
will arrange the tiles into a roughly square layout- Constant images, previously many of these could only generate square images, this is now generalized
.Chequerboard
creates a chequerboard pattern- set background color for image warp undefined pixels
- single plane images can have a colorplane name
- deprecate
colordict()
, usecolororder2dict()
instead String
now supports two string formats, can create color images- fixed bug with gamma="sRGB" which always returned a float image, type is now the same as passed
-
Blobs
- new methods for blob aligned box, plot_aligned_box,
plot_perimeter
optionsperimeter_hull
convex hull- fixed bug with runt blobs
-
Kernels
- added
Kernel.HGauss
for Hessian of Gaussian - added
Kernel
repr method,disp
method ArUcoBoard class
- added
-
Camera models
- Fixed errors in some camera projection models
-
Point clouds
PointCloud
now has a "constructor" for depth images,PointCloud.DepthImage()
-
Miscellaneous
- Lots more code examples and plots
- Move decoratores scalar_result and array_result to machinevisiontoolbox.decorators.py
- improved unit testing
1.0.0 January 2025
-
Kernel
methods now returnKernel
instances rather than NumPy arrays. Methods that accept a kernel can accept aKernel
instance or a NumPy array. Methods exist to stringify or print a kernel. -
The indexing order of an
Image
object (using square bracket__getitem__
access) has changed and is nowimg[u,v]
whereu
is the column coordinate andv
is the row coordinate. This is consistent with the column-first convention used across the Toolbox and is consistent with the$(u,v)$ coordinate system for images. But, this is the opposite order to that used for NumPy index on the underlying array, and to earlier versions of the Toolbox.- a 2-tuple of integers, select this pixel. If the image has multiple planes, the result is a vector over planes.
- a 3-tuple of integers, for a multiplane image select this pixel from the specified plane.
- a 2-tuple of slice objects, select this region. If the image has multiple planes, the result is a 3D array.
- a 3-tuple of slice objects, select this region of uv and planes
- an int, select this plane
- a string, select this named plane or planes
-
added
pixel(u,v)
method for faster access to a single pixel value, scalar or vector. -
the children of a
Blob
is now given as a list ofBlob
objects, not their indices within the overall list of blobs. This simplies traversing the blob hierarchy tree. Similarly, the parent is a reference to the parentBlob
object rather than an index, and isNone
if the blob has no parent (its parent is the background). -
Documentation overhaul, both in-code docstrings, and the organization of the overall Sphinx document.
-
Additional unit tests
-
Myriad minor bug fixes, see commit history.