Changeset 12391


Ignore:
Timestamp:
06/08/12 12:16:17 (13 years ago)
Author:
Mathieu Morlighem
Message:

Easier way to handle colormaps

Location:
issm/trunk-jpl/src/m/model/plot
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/m/model/plot/applyoptions.m

    r12390 r12391  
    117117
    118118%colormap
    119 if exist(options,'colormap'),
    120         cname=getfieldvalue(options,'colormap');
    121         if strcmpi(cname,'Ala'),
    122                 c = jet(64);
    123                 c = c (32:end,:);
    124         elseif strcmpi(cname,'redblue'),
    125                 c = hsv(64);
    126                 c = rgb2hsv(c);
    127                 c(:,2) = max(min( abs(c(:,1)-0.5)/0.5 ,1),0);
    128                 c(1:32,1)   = 0.7;
    129                 c(33:end,1) = 1;
    130                 c = hsv2rgb(c);
    131         elseif strcmpi(cname,'Rignot'),
    132                 c = hsv(252);
    133                 c = rgb2hsv(c);
    134                 alpha=getfieldvalue(options,'alpha',1);
    135                 c(:,2) = max(min( (0.1+c(:,1)).^(1/alpha) ,1),0);
    136                 c = hsv2rgb(c);
    137         elseif strcmpi(cname,'Rignot2'),
    138                 c = hsv(252);
    139                 c = rgb2hsv(c);
    140                 alpha=getfieldvalue(options,'alpha',1);
    141                 c(:,2) = max(min( (0.1+c(:,1)).^(1/alpha) ,1),0);
    142                 c = hsv2rgb(c);
    143                 c=flipud(c);
    144         elseif strcmpi(cname,'Seroussi'),
    145                 c = hsv(252);
    146                 c = flipud(c);
    147                 c = c(1:floor(0.7*size(c,1)),:);
    148                 c = rgb2hsv(c);
    149                 alpha=getfieldvalue(options,'alpha',1);
    150                 c(:,2) = max(min( (0.1+c(:,1)).^(1/alpha) ,1),0);
    151                 c = hsv2rgb(c);
    152                 %c = flipud(c);
    153         else
    154                 c = cname;
    155         end
    156         h=colormap(c);
    157 else
    158         h=colormap(jet(60));
    159 end
     119c = getcolormap(options);
     120h=colormap(c);
    160121
    161122%wrapping
  • issm/trunk-jpl/src/m/model/plot/plot_gridded.m

    r12166 r12391  
    66%
    77%   See also: PLOTMODEL
    8 
    9 whitepos=getfieldvalue(options,'whitepos',2); %1: up, 2: down, else: none
    108
    119%process mesh and data
     
    2927end
    3028
     29%Get and change colormap
     30map    = getcolormap(options);
     31lenmap = size(map,1);
     32map    = [1 1 1; map];
     33options=changefieldvalue(options,'colormap',map);
     34
    3135%Process data_grid: add white in NaN and correct caxis accordingly
    3236if exist(options,'caxis'),
     
    4044        data_max=max(data_grid(:));
    4145end
    42 options=changefieldvalue(options,'cbYLim',[data_min data_max]);
    43 if whitepos==1,
    44         white  =data_max + (data_max-data_min)/55;
    45         options=changefieldvalue(options,'caxis',[data_min white]);
    46         data_grid(isnan(data_grid))=white;
    47 elseif whitepos==2,
    48         white  =data_min - (data_max-data_min)/55;
    49         options=changefieldvalue(options,'caxis',[white data_max]);
    50         data_grid(isnan(data_grid))=white;
    51 end
     46options = changefieldvalue(options,'cbYLim',[data_min data_max]);
     47white   = data_min - (data_max-data_min)/(lenmap);
     48options = changefieldvalue(options,'caxis',[white data_max]);
     49data_grid(isnan(data_grid))=white;
    5250
    5351%Select plot area
     
    5654%shading interp;
    5755h=imagesc(xlim,ylim,data_grid);set(gca,'YDir','normal');
    58 map=getfieldvalue(options,'colormap',jet);
    59 if whitepos==1,
    60         map(end,:)=[1 1 1];
    61 elseif whitepos==2,
    62         map(1,:)=[1 1 1];
    63 end
    64 options=changefieldvalue(options,'colormap',map);
    6556
    6657%last step: mesh gridded?
  • issm/trunk-jpl/src/m/model/plot/plot_overlay.m

    r12390 r12391  
    112112        image_rgb=hsv2rgb(image_hsv);
    113113else
    114         if ischar(colorm),
    115                 eval(['colorm = ' colorm ';']);
    116         end
     114        colorm = getcolormap(options);
    117115        len = size(colorm,1);
    118116
    119         ind = floor((len-1)*(data_grid-data_min)/(data_max - data_min + eps) +1);
     117        ind = round((len-1)*(data_grid-data_min)/(data_max - data_min + eps) +1);
     118        ind(find(ind>len))=len;
    120119        image_rgb=zeros(size(data_grid,1),size(data_grid,2),3);
    121120        r=colorm(:,1); image_rgb(:,:,1)=r(ind); clear r;
Note: See TracChangeset for help on using the changeset viewer.