Source code for monalisa.image._im_dim

"""Port of src/imageN/bmImDim.m."""

import numpy as np

from monalisa._mat import msize


[docs] def im_dim(a, nargout=2): """Image dimension ``n`` (vectors are 1D, empty is 0) and size ``s``; with ``nargout`` up to 5 also ``sx, sy, sz`` (``None`` when absent).""" s = msize(a) n = len(s) if n == 2: n = 0 if min(s) == 0 else (1 if min(s) == 1 else 2) sx = float(s[0]) if n > 0 else None sy = float(s[1]) if n > 1 else None sz = float(s[2]) if n > 2 else None out = (float(n), np.array([s], dtype=np.float64), sx, sy, sz) return out[0] if nargout <= 1 else out[:nargout]