overwite mask on MRI slice [B, Xdim, Ydim] = overwite_mask(B,mask,indx,cutdim,val,rgb) B selected 2D slice image (3rd-dim is color dim) by [B, Xdim, Ydim] = select_slice(img,indx,cutdim); mask 3D image of mask indx slice index to show cutdim slice cut direction {'x' 'y' 'z'} val mask value to show (N x 1) rgb RGB value for each mask value (N x 3)) B selected 2D slice image with overlapped mask Xdim Ydim image(Xdim, Ydim, B, 'CDataMapping','scaled'); Copyright (C) 2011, ATR All Rights Reserved. License : New BSD License(see VBMEG_LICENSE.txt)
0001 function [B, Xdim, Ydim] = overwite_mask(B,mask,indx,cutdim,val,rgb) 0002 % overwite mask on MRI slice 0003 % [B, Xdim, Ydim] = overwite_mask(B,mask,indx,cutdim,val,rgb) 0004 % 0005 % B selected 2D slice image (3rd-dim is color dim) by 0006 % [B, Xdim, Ydim] = select_slice(img,indx,cutdim); 0007 % mask 3D image of mask 0008 % indx slice index to show 0009 % cutdim slice cut direction {'x' 'y' 'z'} 0010 % val mask value to show (N x 1) 0011 % rgb RGB value for each mask value (N x 3)) 0012 % 0013 % B selected 2D slice image with overlapped mask 0014 % Xdim 0015 % Ydim 0016 % 0017 % image(Xdim, Ydim, B, 'CDataMapping','scaled'); 0018 % 0019 % Copyright (C) 2011, ATR All Rights Reserved. 0020 % License : New BSD License(see VBMEG_LICENSE.txt) 0021 0022 % Selected image slice 0023 dim = size(B); 0024 0025 % Select mask slice 0026 [B2, Xdim, Ydim] = select_slice(mask,indx,cutdim); 0027 0028 % B2: RGB color matrix (3rd-dim is color dim) 0029 % Back to original slice value by transpose of 2D matrix 0030 B2 = B2(:,:,1)'; 0031 0032 Nval = length(val); 0033 0034 if size(rgb,1) == 1, rgb = repmat(rgb, [Nval 1]); end 0035 0036 for n=1:Nval 0037 % find voxel (2D subscript) with specified mask value 0038 [ix,jx] = find(B2 == val(n)); 0039 0040 for m = 1:3 0041 % transpose of 2D matrix (ix <-> jx) for image plot 0042 % Get index for 3D array 0043 jj = sub2ind(dim, jx, ix, repmat( m , [length(ix) 1])); 0044 B(jj) = rgb(n,m); % RGB 0045 end 0046 end