<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _init_structures(self, data, subjects):
 """Initializes data structures for SRM and preprocess the data. Parameters data : list of 2D arrays, element i has shape=[voxels_i, samples] Each element in the list contains the fMRI data of one subject. subjects : int The total number of subjects in `data`. Returns ------- x : list of array, element i has shape=[voxels_i, samples] Demeaned data for each subject. mu : list of array, element i has shape=[voxels_i] Voxel means over samples, per subject. rho2 : array, shape=[subjects] Noise variance :math:`\\rho^2` per subject. trace_xtx : array, shape=[subjects] The squared Frobenius norm of the demeaned data in `x`. """

        x = []
        mu = []
        rho2 = np.zeros(subjects)

        trace_xtx = np.zeros(subjects)
        for subject in range(subjects):
            mu.append(np.mean(data[subject], 1))
            rho2[subject] = 1
            trace_xtx[subject] = np.sum(data[subject] ** 2)
            x.append(data[subject] - mu[subject][:, np.newaxis])

        return x, mu, rho2, trace_xtx