dosma.core.numpy_routines.squeeze

dosma.core.numpy_routines.squeeze(x, axis: Optional[Union[int, Sequence[int]]] = None)[source]

Squeeze non-spatial dimensions.

Parameters:
  • x (MedicalVolume) – A medical image.

  • axis (int(s)) – Axis/axes to squeeze. Defaults to non-spatial axes.

Returns:

The medical image with squeezed dimensions.

Return type:

MedicalVolume

Raises:

ValueError – If axis is not None, and an axis being squeezed is not of length 1 or axis is not None and is squeezing spatial dimension (i.e. axis=0, 1, or 2).

Examples

>>> mv = MedicalVolume(np.random.rand(3,4,5,1), np.eye(4))
>>> mv_squeezed = np.squeeze(mv)  # squeeze all non-spatial dimensions
>>> mv_squeezed.shape
(3, 4, 5)