code: def _update_individual(X, W, R, gamma):
          
          subjs = len(X)
          S = []
          for i in range(subjs):
              S.append(RSRM._shrink(X[i] - W[i].dot(R), gamma))
          return S
docs: Update the individual components `S_i`.
  
          Parameters
          ----------
  
          X : list of 2D arrays, element i has shape=[voxels_i, timepoints]
              Each element in the list contains the fMRI data for alignment of
              one subject.
  
          W : list of array, element i has shape=[voxels_i, features]
              The orthogonal transforms (mappings) :math:`W_i` for each subject.
  
          R : array, shape=[features, timepoints]
              The shared response.
  
          gamma : float, default: 1.0
              Regularization parameter for the sparseness of the individual
              components.
  
          Returns
          -------
  
          S : list of array, element i has shape=[voxels_i, timepoints]
              The individual component :math:`S_i` for each subject.