Xiaowei Zhang, Li Cheng, Xudong Shi, Yu Sun
This is a collection of MATLAB codes that implement a new algorithm for Multivariate Regression on manifolds proposed in the paper. We consider regression problems where given a multivariate observation
Full paper here: arXiv:1703.08772
We also have a project website here.
-
palmr/spd/
: contains implementation of our algorithm PALMR for multivariate regression on the manifold of Symmetric Positive Definite (SPD) matrices. It consists of the following subfolders:src/
: all source codes implementing the algorithm.results/
: contains results obtained by the authors. These results are used for reproducing tables and figures in the manuscript. Slightly different results may be obtained due to randomness in our codes.test/
:synthetic/
: contains codes to produce results on the synthetic data set.real_DTI/
: contains codes to produce results on the real DTI data set.
-
riem_mglm_0.12/
: contains implementations of MGLM written by Kim et al..
The main function of our algorithm is MGLM_Gross_spd.m contained in src/
folder.
To reproduce results in the manuscript:
-
For synthetic data, we can simply run SPD_Figure_Example.m to produce visual results in the manuscript, and run SPD_nbasis.m, SPD_nsample.m, SPD_noise_g.m and SPD_rate_g.m to produce results in each column of Fig. 4 in the manuscript.
-
For real DTI data, we need to download the real data C-MIND dataset from the project website, and extract the data to folder
palmr/spd/
. Since we used six slices of whole brain DTI data, we use slice 1 as an example. We first run Slice1_NoError.m, Slice1_ManuError.m and Slice1_RegError.m to get the results, and then run Slice1_Plot_Pred_Error.m to plot figures and print results. Once we finished the experiments on all 6 slices, we can run BoxPlotAllSlices.m to plot the box plots in Fig. 7 of the manuscript.
- We include the implementation of MGLM for the sake of easy comparison. The implementation is from the authors of MGLM.