coordax.coords.canonicalize¶
- coordax.coords.canonicalize(*coordinates: Coordinate) tuple[Coordinate, ...][source]¶
Canonicalize coordinates into a minimum equivalent collection.
- Parameters:
*coordinates – The coordinates to canonicalize.
- Returns:
A tuple of canonicalized coordinates, where
CartesianProductobjects are flattened,Scalarobjects are removed andSelectedAxisobjects are merged back into the original coordinate if all axes are selected in order.
Examples
>>> import coordax as cx >>> x = cx.SizedAxis('x', 2) >>> y = cx.SizedAxis('y', 3) >>> cx.coords.canonicalize(x, y) (coordax.SizedAxis('x', size=2), coordax.SizedAxis('y', size=3))
>>> xy = cx.coords.compose(x, y) >>> cx.coords.canonicalize(xy) (coordax.SizedAxis('x', size=2), coordax.SizedAxis('y', size=3))