code: def _init_prior_posterior(self, rank, R, n_local_subj):
          
  
          if rank == 0:
              idx = np.random.choice(n_local_subj, 1)
              self.global_prior_, self.global_centers_cov,\
                  self.global_widths_var = self.get_template(R[idx[0]])
              self.global_centers_cov_scaled =\
                  self.global_centers_cov / float(self.n_subj)
              self.global_widths_var_scaled =\
                  self.global_widths_var / float(self.n_subj)
              self.gather_posterior = np.zeros(self.n_subj * self.prior_size)
              self.global_posterior_ = np.zeros(self.prior_size)
          else:
              self.global_prior_ = np.zeros(self.prior_bcast_size)
              self.global_posterior_ = None
              self.gather_posterior = None
          return self
docs: set prior for this subject
  
          Parameters
          ----------
  
          rank : integer
              The rank of this process
  
          R : list of 2D arrays, element i has shape=[n_voxel, n_dim]
              Each element in the list contains the scanner coordinate matrix
              of fMRI data of one subject.
  
          n_local_subj : integer
              The number of subjects allocated to this process.
  
  
          Returns
          -------
          HTFA
              Returns the instance itself.