code: def split_multi_scale(y, y_shape):
      """Split data into 4 original multi_scale images"""
      yw, yh = y_shape
  
      # Index of original image
      split_index = [yw * yh]
      # Index of large image
      split_index.append(split_index[-1] + (yw - 1) * yh)
      # Index of tall image
      split_index.append(split_index[-1] + yw * (yh - 1))
      # Index of big image
      split_index.append(split_index[-1] + (yw - 1) * (yh - 1))
  
      # We split according to computed indices
      y_preds = np.split(y, split_index, axis=1)
  
      # y_pred is the original image
      y_pred = y_preds[0]
  
      # y_pred_tall is the image with 1x2 patch application. We have to make
      # some calculus to get it back in original shape
      height_tf_i = (np.eye(y_cols) + np.eye(y_cols, k=-1))[
          :, : y_cols - 1
      ] * 0.5
      height_tf_i.flat[0] = 1
      height_tf_i.flat[-1] = 1
      y_pred_tall = [
          np.dot(height_tf_i, np.reshape(m, (yw - 1, yh))).flatten()
          for m in y_preds[1]
      ]
      y_pred_tall = np.asarray(y_pred_tall)
  
      # y_pred_large is the image with 2x1 patch application. We have to make
      # some calculus to get it back in original shape
      width_tf_i = (np.eye(y_cols) + np.eye(y_cols, k=1))[
          : y_cols - 1
      ] * 0.5
      width_tf_i.flat[0] = 1
      width_tf_i.flat[-1] = 1
      y_pred_large = [
          np.dot(np.reshape(m, (yw, yh - 1)), width_tf_i).flatten()
          for m in y_preds[2]
      ]
      y_pred_large = np.asarray(y_pred_large)
  
      # y_pred_big is the image with 2x2 patch application. We use previous
      # matrices to get it back in original shape
      y_pred_big = [
          np.dot(np.reshape(m, (yw - 1, yh - 1)), width_tf_i)
          for m in y_preds[3]
      ]
      y_pred_big = [
          np.dot(height_tf_i, np.reshape(m, (yw - 1, yh))).flatten()
          for m in y_pred_big
      ]
      y_pred_big = np.asarray(y_pred_big)
  
      return (y_pred, y_pred_tall, y_pred_large, y_pred_big)
  
file_path: nilearn/examples/02_decoding/plot_miyawaki_reconstruction.py
imports: import sys
  import time
  from nilearn import datasets
  import numpy
  from nilearn.maskers import MultiNiftiMasker
  from sklearn.feature_selection import SelectKBest, f_classif
  from sklearn.linear_model import OrthogonalMatchingPursuit
  from sklearn.pipeline import Pipeline
  from sklearn.preprocessing import StandardScaler
  from sklearn.metrics import accuracy_score, f1_score, precision_score, recall_score
  from matplotlib import pyplot
  from nilearn.plotting import show
label_desc: Use image node_id 2 for calling a global function with example usage: split_multi_scale(y, y_shape) and returns: y_pred,  y_pred_tall,  y_pred_large,  y_pred_big