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

cmap_add

PURPOSE ^

add two colormap

SYNOPSIS ^

function C = cmap_add(cmap1,cmap2,add_mode)

DESCRIPTION ^

 add two colormap
  C = cmap_add(cmap1,cmap2,add_mode)
    returns colormap matrix
  cmap_add(cmap1,cmap2,add_mode)
    set colormap
 --- Input
 cmap1 : colormap 1 [N1 x 3]
 cmap2 : colormap 2 [N2 x 3]
 add_mode : normalization mode
       =0 : if RGB value > 1, it is set to 1
       =0 : if RGB value > 1, each [R,G,B] is normalized by max value
 
 --- Output
 C : colormap matrix ([R G B] matix) : [NtotalLevel x 3]

 Masa-aki Sato 2014-10-30

 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 C = cmap_add(cmap1,cmap2,add_mode)
0002 % add two colormap
0003 %  C = cmap_add(cmap1,cmap2,add_mode)
0004 %    returns colormap matrix
0005 %  cmap_add(cmap1,cmap2,add_mode)
0006 %    set colormap
0007 % --- Input
0008 % cmap1 : colormap 1 [N1 x 3]
0009 % cmap2 : colormap 2 [N2 x 3]
0010 % add_mode : normalization mode
0011 %       =0 : if RGB value > 1, it is set to 1
0012 %       =0 : if RGB value > 1, each [R,G,B] is normalized by max value
0013 %
0014 % --- Output
0015 % C : colormap matrix ([R G B] matix) : [NtotalLevel x 3]
0016 %
0017 % Masa-aki Sato 2014-10-30
0018 %
0019 % Copyright (C) 2011, ATR All Rights Reserved.
0020 % License : New BSD License(see VBMEG_LICENSE.txt)
0021 
0022 if size(cmap1,2) ~= 3, error('Color must be 3 vector'); end;
0023 if size(cmap2,2) ~= 3, error('Color must be 3 vector'); end;
0024 
0025 N1 = size(cmap1,1);
0026 N2 = size(cmap2,1);
0027 
0028 if N1==N2
0029     C = cmap1 + cmap2;
0030 elseif N1 > N2
0031     C = cmap1 + [cmap2; zeros(N1-N2,3)];
0032 else
0033     C = cmap2 + [cmap1; zeros(N2-N1,3)];
0034 end
0035 
0036 switch    add_mode
0037 case    0
0038     C = min(C,1);
0039 case    1
0040     Cmax = max(C);
0041     Cmax = max(Cmax,1);
0042     
0043     C = vb_repmultiply(C, 1./Cmax);
0044 end
0045 
0046 if nargout==0
0047     colormap(C);
0048 end

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