Skip to content

Commit

Permalink
Merge pull request #2017 from MRtrix3/fix_matlab_write_mrtrix
Browse files Browse the repository at this point in the history
write_mrtrix.m: fix handling of .mih outputs
  • Loading branch information
jdtournier authored Apr 13, 2020
2 parents 5f55f66 + b637293 commit cc3600e
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 13 deletions.
2 changes: 1 addition & 1 deletion matlab/read_mrtrix.m
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@
image.data = ipermute (image.data, order);
for i=1:size(order,2)
if layout{i}(1) == '-'
image.data = flipdim(image.data, i);
image.data = flip(image.data, i);
end
end

Expand Down
22 changes: 10 additions & 12 deletions matlab/write_mrtrix.m
Original file line number Diff line number Diff line change
Expand Up @@ -122,26 +122,24 @@ function write_mrtrix (image, filename)
end
end
end


fprintf (fid, '\nfile: ')

if strcmp(filename(end-3:end), '.mif')
datafile = filename;
dataoffset = ftell (fid) + 24;
fprintf (fid, '\nfile: . %d\nEND\n ', dataoffset);
dataoffset = ftell (fid) + 18;
dataoffset += mod((4 - mod(dataoffset, 4)), 4);
fprintf (fid, '. %d\nEND\n ', dataoffset);
fseek (fid, dataoffset);
elseif strcmp(filename(end-3:end), '.mih')
datafile = [ filename(end-3:end) '.dat' ];
dataoffset = 0;
fprintf (fid, '\nfile: %s %d\nEND\n', datafile, dataoffset);
datafile = [ filename(1:end-4) '.dat' ];
fprintf (fid, '%s 0\nEND\n', datafile);
fclose(fid);
fid = fopen (datafile, 'w', byteorder);
else
fclose(fid);
error('unknown file suffix - aborting');
end

fclose(fid);

fid = fopen (datafile, 'r+', byteorder);
fseek (fid, dataoffset, -1);

if isstruct(image)
fwrite (fid, image.data, precision);
else
Expand Down

0 comments on commit cc3600e

Please sign in to comment.