code: def ICC_projection_matrix(shape):
      nb_subjects, nb_conditions = shape
  
      x = kron(eye(nb_conditions), ones((nb_subjects, 1)))  # sessions
      x0 = tile(eye(nb_subjects), (nb_conditions, 1))  # subjects
      X = hstack([x, x0])
      return X @ pinv(X.T @ X, hermitian=True) @ X.T
  
file_path: nipype/nipype/algorithms/icc.py
imports: import os
  from functools import lru_cache
  import numpy
  from numpy import ones, kron, mean, eye, hstack, tile
  from numpy.linalg import pinv
  import nibabel
  from ..interfaces.base import BaseInterfaceInputSpec, TraitedSpec, BaseInterface, traits, File
label_desc: Use image node_id 1 for calling a global function with example usage: ICC_projection_matrix(shape) and returns: unknown