code: def transform(self, X):
          
          # Check if the model exist
          if hasattr(self, 'w_') is False:
              raise NotFittedError("The model fit has not been run yet.")
  
          # Check the number of subjects
          if len(X) != len(self.w_):
              raise ValueError("The number of subjects does not match the one"
                               " in the model.")
  
          r = [None] * len(X)
          s = [None] * len(X)
          for subject in range(len(X)):
              if X[subject] is not None:
                  r[subject], s[subject] = self._transform_new_data(X[subject],
                                                                    subject)
  
          return r, s
docs: Use the model to transform new data to Shared Response space
  
          Parameters
          ----------
  
          X : list of 2D arrays, element i has shape=[voxels_i, timepoints_i]
              Each element in the list contains the fMRI data of one subject.
  
          Returns
          -------
  
          r : list of 2D arrays, element i has shape=[features_i, timepoints_i]
              Shared responses from input data (X)
  
          s : list of 2D arrays, element i has shape=[voxels_i, timepoints_i]
              Individual data obtained from fitting model to input data (X)