Home > vbmeg > functions > tool_box > dynamics_movie > test_fig > basic_tool > overwite_mask.m

overwite_mask

PURPOSE ^

overwite mask on MRI slice

SYNOPSIS ^

function [B, Xdim, Ydim] = overwite_mask(B,mask,indx,cutdim,val,rgb)

DESCRIPTION ^

 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)

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

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

Generated on Mon 22-May-2023 06:53:56 by m2html © 2005