Change the order of components in ica solution.
(ica, order, copy=True)
| 2888 | |
| 2889 | |
| 2890 | def _sort_components(ica, order, copy=True): |
| 2891 | """Change the order of components in ica solution.""" |
| 2892 | assert ica.n_components_ == len(order) |
| 2893 | if copy: |
| 2894 | ica = ica.copy() |
| 2895 | |
| 2896 | # reorder components |
| 2897 | ica.mixing_matrix_ = ica.mixing_matrix_[:, order] |
| 2898 | ica.unmixing_matrix_ = ica.unmixing_matrix_[order, :] |
| 2899 | |
| 2900 | # reorder labels, excludes etc. |
| 2901 | if isinstance(order, np.ndarray): |
| 2902 | order = list(order) |
| 2903 | if ica.exclude: |
| 2904 | ica.exclude = [order.index(ic) for ic in ica.exclude] |
| 2905 | for k in ica.labels_.keys(): |
| 2906 | ica.labels_[k] = [order.index(ic) for ic in ica.labels_[k]] |
| 2907 | |
| 2908 | return ica |
| 2909 | |
| 2910 | |
| 2911 | def _serialize(dict_, outer_sep=";", inner_sep=":"): |