Clear Filters
Clear Filters

How to convert file format from .mat to .nii format

41 views (last 30 days)
Dear All
I'm beginner in using mat lab. I don't have much information to do coding by mat lab. I really need you help.
I would like to create nii file from 16 mat files:
  1. .nii file from 16 mat files for T2_star (my file name).
  2. .nii file from another 16 files for T2 (my 2nd file name).
for slice 1:16;
  1. - load mat file.
  2. - store it in 3D variable, because my files are 2D matrix.
end save_nii
%% Please send explanation with each step and appreciated your help.
Regards
Dhafer
  1 Comment
Walter Roberson
Walter Roberson on 8 Jun 2013
What is .nii format? Something to do with National Instruments? But T2 and T2_star are MRS and MRI terms, suggesting that .nii might be a format used by a spectrometer or something like that ?

Sign in to comment.

Accepted Answer

Dhafer
Dhafer on 11 Jun 2013
Edited: Walter Roberson on 18 Jul 2015
Dear All The following code is to create .nii file from 16mat files.
what I need is to do opiste. Svae .nii file to 16 mat files.
files=dir('*.mat');
A=[10:16 1:9] % this is because the volume not in the right order.
for f=1:16;
g=A(f);
load(files(f).name);
M0vol(:,:,g)= M0;
t2starvol(:,:,g)=T2star;
r2starvol(:,:,g)=R2star;
end
nii=make_nii(M0vol);
save_nii(nii,'N_144_M0.nii');
nii=make_nii(r2starvol);
save_nii(nii,'N_144_R2star.nii');
nii=make_nii(t2starvol);
save_nii(nii,'N_144_T2star.nii');

More Answers (1)

Dhafer
Dhafer on 11 Jun 2013
Edited: Walter Roberson on 11 Jun 2013
Dear All
I have written this code but there is problem with load line! I do not know what is the error?
files=dir('N_144_slice_*.mat');
A=[10:16 1:9] % this is because the volume not in the right order.
for f=1:16;
g=A(f);
load(files(f).name);
M0vol(:,:,g)= M0;
t2starvol(:,:,g)=T2star;
r2starvol(:,:,g)=R2star;
end
nii=make_nii(M0vol);
save_nii(nii,'N_144_M0.nii');
nii=make_nii(r2starvol);
save_nii(nii,'N_144_R2star.nii');
nii=make_nii(t2starvol);
save_nii(nii,'N_144_T2star.nii');
  2 Comments
Dhafer
Dhafer on 11 Jun 2013
Edited: Walter Roberson on 18 Jul 2015
yes,
I solved the error message and I really need you help to do the opposite code for me.
The following code is to create .nii file from 16mat files.
what I need is to do opiste. Svae .nii file to 16 mat files.
files=dir('*.mat'); ]
A=[10:16 1:9] % this is because the volume not in the right order. for for f=1:16;
g=A(f);
load(files(f).name);
M0vol(:,:,g)= M0;
t2starvol(:,:,g)=T2star;
r2starvol(:,:,g)=R2star;
end
nii=make_nii(M0vol);
save_nii(nii,'N_144_M0.nii');
nii=make_nii(r2starvol);
save_nii(nii,'N_144_R2star.nii');
nii=make_nii(t2starvol);
save_nii(nii,'N_144_T2star.nii');
Your help is appreciated.
Regards
Dhafer

Sign in to comment.

Categories

Find more on MATLAB in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!