Skip to content

Commit cc3600e

Browse files
authored
Merge pull request #2017 from MRtrix3/fix_matlab_write_mrtrix
write_mrtrix.m: fix handling of .mih outputs
2 parents 5f55f66 + b637293 commit cc3600e

File tree

2 files changed

+11
-13
lines changed

2 files changed

+11
-13
lines changed

matlab/read_mrtrix.m

+1-1
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@
100100
image.data = ipermute (image.data, order);
101101
for i=1:size(order,2)
102102
if layout{i}(1) == '-'
103-
image.data = flipdim(image.data, i);
103+
image.data = flip(image.data, i);
104104
end
105105
end
106106

matlab/write_mrtrix.m

+10-12
Original file line numberDiff line numberDiff line change
@@ -122,26 +122,24 @@ function write_mrtrix (image, filename)
122122
end
123123
end
124124
end
125-
125+
126+
fprintf (fid, '\nfile: ')
126127

127128
if strcmp(filename(end-3:end), '.mif')
128-
datafile = filename;
129-
dataoffset = ftell (fid) + 24;
130-
fprintf (fid, '\nfile: . %d\nEND\n ', dataoffset);
129+
dataoffset = ftell (fid) + 18;
130+
dataoffset += mod((4 - mod(dataoffset, 4)), 4);
131+
fprintf (fid, '. %d\nEND\n ', dataoffset);
132+
fseek (fid, dataoffset);
131133
elseif strcmp(filename(end-3:end), '.mih')
132-
datafile = [ filename(end-3:end) '.dat' ];
133-
dataoffset = 0;
134-
fprintf (fid, '\nfile: %s %d\nEND\n', datafile, dataoffset);
134+
datafile = [ filename(1:end-4) '.dat' ];
135+
fprintf (fid, '%s 0\nEND\n', datafile);
136+
fclose(fid);
137+
fid = fopen (datafile, 'w', byteorder);
135138
else
136139
fclose(fid);
137140
error('unknown file suffix - aborting');
138141
end
139142

140-
fclose(fid);
141-
142-
fid = fopen (datafile, 'r+', byteorder);
143-
fseek (fid, dataoffset, -1);
144-
145143
if isstruct(image)
146144
fwrite (fid, image.data, precision);
147145
else

0 commit comments

Comments
 (0)