Pytransform3d

Latest version: v3.5.0

Safety actively analyzes 638452 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 6

3.0.0

Breaking Changes

* Switch to new random number generator interface of NumPy (`numpy.random.RandomState` is [legacy code](https://numpy.org/doc/stable/reference/random/legacy.html), see [good practices with numpy random number generators](https://albertcthomas.github.io/good-practices-random-number-generators/)). `random_state` arguments will also be renamed to `rng`. *With this change pytransform3d does not work with Python 2 anymore as there is no NumPy version for Python 2 that supports the new random number generator interface.*

Features

- `pytransform3d.rotations`
- Add left Jacobian of SO(3) and its inverse
- New representation of rotations: Modified Rodrigues Parameters (MRP)
- Add input validation function: `pytransform3d.rotations.check_mrp`
- Add conversion from quaternion to MRP: `pytransform3d.rotations.mrp_from_quaternion`
- Add conversion from MRP to quaternion: `pytransform3d.rotations.quaternion_from_mrp`
- `pytransform3d.transformations`
- Add left Jacobian of SE(3) and its inverse
- Add function to generate random exponential coordinates
- Extend function to generate random transformation matrices by mean and covariance argument
- Add new module `pytransform3d.uncertainty` with the following functions:
- `estimate_gaussian_transform_from_samples`
- `invert_uncertain_transform`
- `concat_uncertain_transforms`
- `pose_fusion`
- `to_ellipsoid`
- `to_projected_ellipsoid`
- `plot_projected_ellipsoid`
* Add `pytransform3d.plot_utils.plot_spheres` to plot multiple spheres more efficiently.

Bugfixes

* Fix handling of integer inputs in conversion functions of `pytransform3d.coordinates`.
* Fix argument `strict_check` of `pytramsform.camera.plot_camera`.

Documentation

* More visually appealing introduction and description of TransformManager.
* Add introduction to 3D rigid transformations for beginners.
* Add more details on exponential coordinates of SO(3) and SE(3) in docstrings.

2.3.1

**Last version with Python 2 support!**

Deprecation

* Rename `random_state` argument to `rng` in all functions that use random number generators. This change will prepare the transition to the new numpy random number generator interface in version 3.0.0 of pytransform3d. The old argument name still works and prints out a deprecation warning.

2.3.0

Features

* Serialization of `TransformManager` with `to_dict` which produces a serializable dict. An identical object can be created from a deserialized dict with `from_dict`.

Documentation

* General introduction to 3D rigid transformations
* Update discussion of rotation matrices

Bugfixes

* Relax numerical precision check of rotation matrices (`pytransform3d.rotations.check_matrix`). Instead of checking the determinant, only the components of `R.dot(R.T)` will be compared with `I`.

Tests

* Use pytest for testing
* Update CI to check up to Python 3.11

2.2.0

Features

New interface to Euler angles

* Add `rotations.euler_from_quaternion` to convert quaternions to arbitrary Euler angles (207)
* Add `rotations.quaternion_from_angle`
* Add `quaternion_from_euler` to convert from arbitrary Euler angles to quaternion (211)
* Add `matrix_from_euler` to convert from arbitrary Euler angles to active rotation matrix
* Add `euler_from_matrix` to convert from active rotation matrix to arbitrary Euler angles

Bugfixes

* Fix `plot_utils.plot_cylinder` and `plot_utils.plot_cone` in case of axis alignment (206)

Deprecated

* `rotations.quaternion_from_extrinsic_euler_xyz`

2.1.0

Refactoring

* UrdfTransformManager also stores fixed joints internally 203

Bugfixes

* Use numpy.int64 instead of numpy.int

2.0.0

Breaking Changes

Removed functions / constants:

- `pytransform3d.rotations.matrix_from`
- `pytransform3d.rotations.matrix_from_angle`
- `pytransform3d.rotations.matrix_from_euler_xyz`
- `pytransform3d.rotations.matrix_from_euler_zyx`
- `pytransform3d.rotations.euler_xyz_from_matrix`
- `pytransform3d.rotations.euler_zyx_from_matrix`
- `pytransform3d.rotations.assert_euler_xyz_equal`
- `pytransform3d.rotations.assert_euler_zyx_equal`
- `pytransform3d.rotations.e_xyz_id`
- `pytransform3d.rotations.e_zyx_id`

Features

- Add pytransform3d.rotations.quaternion_from_extrinsic_euler_xyz

Bugfixes

- Fix edge case in `axis_angle_from_matrix` (198)
- Raise `ValueError` when no quaternion is passed to `smooth_quaternion_trajectory`

Page 2 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.