Skip to content

Instantly share code, notes, and snippets.

@arokem
Created January 2, 2015 21:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save arokem/5c6a28707273144404ab to your computer and use it in GitHub Desktop.
Save arokem/5c6a28707273144404ab to your computer and use it in GitHub Desktop.
Matlab code for validation of dipy LiFE implementation
feOpenLocalCluster;
dwiFile = './small_25_eye.nii';
fibers = load('./dipy_fibers.mat', 'fibers');
fibers_trans = {};
for ff=1:length(fibers.fibers)
fibers_trans{ff} = fibers.fibers{ff}';
end
fg = fgCreate('name', 'dipy', 'fibers', fibers_trans);
fgWrite(fg, 'dipy_fg.mat');
fe = feConnectomeInit(dwiFile, 'dipy_fg.mat');
img = niftiRead('small_25_eye.nii');
sig = [];
for c=1:length(fe.roi.coords)
this_sig = img.data(fe.roi.coords(c, 1), fe.roi.coords(c, 2), fe.roi.coords(c, 3), 2:end);
sig = [sig;this_sig - mean(this_sig)];
end
sig = squeeze(sig);
sig_r = reshape(sig', 1, 62*25);
fe.dSig = double(sig_r);
fe = feSet(fe,'fit',feFitModel(feGet(fe,'mfiber'),feGet(fe,'dsigdemeaned'),'bbnnls'));
rmse = feGet(fe,'vox rmse');
[Y,I] = sort(fe.diffusion_S0_img);
sig_low_b0 = fe.diffusion_signal_img(I(1),:);
w = fe.fit.weights;
save('matlab_rmse', 'rmse');
save('matlab_weights.mat', 'w');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment