code: def _get_weight_size(self, data, n_local_subj):
          
  
          weight_size = np.zeros(1).astype(int)
          local_weight_offset = np.zeros(n_local_subj).astype(int)
          for idx, subj_data in enumerate(data):
              if idx > 0:
                  local_weight_offset[idx] = weight_size[0]
              weight_size[0] += self.K * subj_data.shape[1]
          return weight_size, local_weight_offset
docs: Calculate the size of weight for this process
  
          Parameters
          ----------
  
          data : a list of 2D array, each in shape [n_voxel, n_tr]
              The fMRI data from multi-subject.
  
          n_local_subj : int
              Number of subjects allocated to this process.
  
  
          Returns
          -------
  
          weight_size : 1D array
              The size of total subject weight on this process.
  
          local_weight_offset : 1D array
              Number of elements away from the first element
              in the combined weight array at which to begin
              the new, segmented array for a subject