Code covered by the BSD License  

Highlights from
Tools for NIfTI and ANALYZE image

image thumbnail

Tools for NIfTI and ANALYZE image

by

Jimmy Shen (view profile)

 

23 Oct 2005 (Updated )

Load, save, make, reslice, view (and edit) both NIfTI and ANALYZE data on any platform

unxform_nii(nii, inblock)
%  Undo the flipping and rotations performed by xform_nii; spit back only
%  the raw img data block. Initial cut will only deal with 3D volumes
%  strongly assume we have called xform_nii to write down the steps used 
%  in xform_nii.
%
%  Usage:  a = load_nii('original_name');
%          manipulate a.img to make array b;
%
%          if you use unxform_nii to un-tranform the image (img) data
%          block, then nii.original.hdr is the corresponding header.
%
%          nii.original.img = unxform_nii(a, b);
%          save_nii(nii.original,'newname');
%
%  Where, 'newname' is created with data in the same space as the
%         original_name data    
%
%  - Jeff Gunter, 26-JUN-06
%
function outblock = unxform_nii(nii, inblock)
  
   if isempty(nii.hdr.hist.rot_orient)     
      outblock=inblock;
   else
      [dummy unrotate_orient] = sort(nii.hdr.hist.rot_orient);
      outblock = permute(inblock, unrotate_orient);
   end

   if ~isempty(nii.hdr.hist.flip_orient)
      flip_orient = nii.hdr.hist.flip_orient(unrotate_orient);

      for i = 1:3
         if flip_orient(i)
            outblock = flipdim(outblock, i);
         end
      end
   end;

   return;

Contact us