code: def orthonormalize_matrix(m, tol=1.0e-12):
      """Orthonormalize a matrix.
  
      Uses a Singular Value Decomposition.
      If the input matrix is rank-deficient, then its shape is cropped.
  
      Parameters
      ----------
      m : numpy array,
          The matrix to orthonormalize.
  
      tol : float, default=1e-12
          Tolerance parameter for nullity.
  
      Returns
      -------
      ret : numpy array, shape = m.shape
          The orthonormalized matrix.
  
      Examples
      --------
      >>> import numpy as np
      >>> from nilearn.mass_univariate.permuted_least_squares import (
      ...     orthonormalize_matrix)
      >>> X = np.array([[1, 2], [0, 1], [1, 1]])
      >>> orthonormalize_matrix(X)
      array([[-0.81049889, -0.0987837 ],
             [-0.31970025, -0.75130448],
             [-0.49079864,  0.65252078]])
      >>> X = np.array([[0, 1], [4, 0]])
      >>> orthonormalize_matrix(X)
      array([[ 0., -1.],
             [-1.,  0.]])
  
      """
      U, s, _ = linalg.svd(m, full_matrices=False)
      n_eig = np.count_nonzero(s > tol)
      return np.ascontiguousarray(U[:, :n_eig])
  
file_path: nilearn/nilearn/mass_univariate/_utils.py
imports: import numpy
  from scipy import linalg
  from scipy.ndimage import label
label_desc: Use image node_id 5 for calling a global function with example usage: orthonormalize_matrix(m, tol) and returns: np