Changeset 3293


Ignore:
Timestamp:
03/16/10 15:49:01 (15 years ago)
Author:
Mathieu Morlighem
Message:

added lots of options in plot_overlay (Hard to control though...)

Location:
issm/trunk/src/m/classes/public
Files:
1 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/m/classes/public/bamg.m

    r3277 r3293  
    194194if (~exist(options,'domain') & md.numberofgrids~=0 & strcmpi(md.type,'2d')),
    195195
    196         if isstruct(md.bamg),%TEST
     196        if isstruct(md.bamg),
    197197                bamg_mesh=bamgmesh(md.bamg.mesh);
    198198        else
  • issm/trunk/src/m/classes/public/plot/checkplotoptions.m

    r2828 r3293  
    6161        end
    6262end
    63 
    6463
    6564%Colorbar;
     
    201200        end
    202201end
     202
     203%Log scale (LOTS of changes to be performed
     204if exist(options,'log'),
     205        if exist(options,'caxis')
     206                options=changefieldvalue(options,'caxis',log(getfieldvalueerr(options,'caxis'))/log(getfieldvalueerr(options,'log')));
     207        end
     208        options=changefieldvalue(options,'cutoff',log(getfieldvalue(options,'cutoff',1.5))/log(getfieldvalueerr(options,'log')));
     209end
  • issm/trunk/src/m/classes/public/plot/plot_overlay.m

    r3174 r3293  
    1919end
    2020
    21 %get xlim and ylim
    22 xlim=getfieldvalue(options,'xlim',[min(x) max(x)])/getfieldvalue(options,'unit',1);
    23 ylim=getfieldvalue(options,'ylim',[min(y) max(y)])/getfieldvalue(options,'unit',1);
    24 
    25 %radar power
     21% radar power {{{1
    2622if ~any(isnan(md.sarxm)) & ~any(isnan(md.sarym)) & ~any(isnan(md.sarpwr)),
    2723        disp('plot_overlay info: the radar image held by the model is being used');
    2824else
    2925        t1=clock; fprintf('%s','Extracting radar image...');
     26        xlim=getfieldvalue(options,'xlim',[min(x) max(x)])/getfieldvalue(options,'unit',1);
     27        ylim=getfieldvalue(options,'ylim',[min(y) max(y)])/getfieldvalue(options,'unit',1);
    3028        md=radarpower(md,getfieldvalue(options,'hem','s'),xlim,ylim,getfieldvalue(options,'highres',0));
    3129        t2=clock;fprintf('%s\n',[' done (' num2str(etime(t2,t1)) ' seconds)']);
    32 end
     30end%}}}
    3331
    34 
    35 xlim=getfieldvalue(options,'xlim',[min(x) max(x)]);
    36 ylim=getfieldvalue(options,'ylim',[min(y) max(y)]);
    37 
    38 %mesh2grid
     32% InterpFromMeshToGrid -> data_grid {{{1
    3933redo=1;
    4034if (ischar(data) & isstruct(md.mesh2grid_parameters) & ismember(data,mesh2grid_parameters)),
     
    5751
    5852        %use InterpFromMeshToGrid to get an gridded data to display using imagesc
     53        xlim=getfieldvalue(options,'xlim',[min(x) max(x)]);
     54        ylim=getfieldvalue(options,'ylim',[min(y) max(y)]);
    5955        cornereast =min(xlim);
    6056        cornernorth=max(ylim);
     
    6662        [x_m y_m data_grid]=InterpFromMeshToGrid(elements,x,y,data,cornereast,cornernorth,xspacing,yspacing,nlines,ncols,0);
    6763        t2=clock;fprintf('%s\n',[' done (' num2str(etime(t2,t1)) ' seconds)']);
    68 end
     64end%}}}
    6965
    70 %Ok, we have two images, double format:
    71 radar=md.sarpwr;
     66%Generate RGB image{{{1
    7267
    7368%Build hsv color image from radar and results
     69radar=md.sarpwr;
    7470transparency=getfieldvalue(options,'alpha',1.5);  %Rignot's setting: 1.5
    75 border=getfieldvalue(options,'border',0);
     71cutoff=getfieldvalue(options,'cutoff',1.5);       %Rignot's setting: 1.5
    7672
    7773%intensity
    78 v=radar/max(radar(:));
     74v_data=radar/max(radar(:)); %For the principla image, use radar power as intensity
     75v_coba=ones(256,1);         %For the colorbar: maximal intensity
    7976
    8077%hue
    81 %cut results under 1.5, and log
    82 data_grid(find(data_grid<1.5))=1.5;
    83 h=bytscl(log(data_grid))/(255+1); %1 offset on colormap
     78data_coba=linspace(min(data),max(data),256);%prepare colorbar (256 values between min and max)
     79data_grid(find(data_grid<cutoff))=cutoff;   %cut all values below cutoff
     80data_coba(find(data_grid<cutoff))=cutoff;   %cut all values below cutoff
     81h_data=bytscl(data_grid)/(255+1);      %scale between 0 and 1 (log applied in processdata)
     82h_coba=bytscl(data_coba)/(255+1);           %scale between 0 and 1
    8483
    8584%saturation
    86 s=(0.5+data_grid/125)/transparency;s(find(s>1))=1;s(find(s<0))=0;
    87 s(find(data_grid==1.5))=0;
    88 
    89 %Include border
    90 %v((1:border),:)=0;  v((end-border+1:end),:)=0; v(:,1:border)=0;v(:,(end-border+1:end))=0;
     85s_data=(0.5+10.^data_grid/125)/transparency;s_data(find(s_data>1))=1;s_data(find(s_data<0))=0;
     86s_coba=(0.5+10.^data_coba/125)/transparency;s_coba(find(s_coba>1))=1;s_coba(find(s_coba<0))=0;
     87s_data(find(data_grid==cutoff))=0;
     88s_coba(find(data_coba==cutoff))=0;
    9189
    9290%Transform hsv to rgb
    9391image_hsv=zeros(size(data_grid,1),size(data_grid,2),3);
    94 image_hsv(:,:,1)=h;
    95 image_hsv(:,:,2)=s;
    96 image_hsv(:,:,3)=v;
     92image_hsv(:,:,1)=h_data;
     93image_hsv(:,:,2)=s_data;
     94image_hsv(:,:,3)=v_data;
    9795image_rgb=hsv2rgb(image_hsv);
     96colorbar_hsv=zeros(size(data_coba,2),size(data_coba,1),3);
     97colorbar_hsv(:,:,1)=h_coba;
     98colorbar_hsv(:,:,2)=s_coba;
     99colorbar_hsv(:,:,3)=v_coba;
     100colorbar_rgb=hsv2rgb(colorbar_hsv);
     101%}}}
    98102
    99103%Select plot area
     
    113117end
    114118
     119%Apply options {{{1
    115120%Apply options, without colorbar and without grid
    116121iscolorbar=getfieldvalue(options,'colorbar',1);
     
    124129
    125130        %create colorbar with correct colors and position
    126         colorbar_rgb=buildoverlaycolorbar(md,data,getfieldvalue(options,'aplha',1.5));
     131        %colorbar_rgb=buildoverlaycolorbar(md,data,getfieldvalue(options,'aplha',1.5));
    127132        colorbar_handle=colorbar;
    128133        colorbar_image_handle=get(colorbar_handle,'Children');
     
    136141
    137142        scalestring=[];
    138         scaleminmax=[max(min(data),1.5) max(data)];
     143        scaleminmax=[max(min(data),cutoff) max(data)];
    139144        for i=1:numvalues,
    140145                fraction=(i-1)/(numvalues-1);
    141146                scalevalues(i)=round_ice(scaleminmax(1)+(scaleminmax(2)-scaleminmax(1))*fraction,2);
    142                 scalestring=[scalestring; sprintf('%8.4g',scalevalues(i))];
     147                if exist(options,'log'),
     148                        logvalue=getfieldvalue(options,'log');
     149                        scalestring=[scalestring; sprintf('%8.4g',logvalue^scalevalues(i))];
     150                else
     151                        scalestring=[scalestring; sprintf('%8.4g',scalevalues(i))];
     152                end
    143153        end
    144154        set(colorbar_handle,'YTickLabel',scalestring);
    145155        set(colorbar_handle,'YColor','y');
    146 end
     156end%}}}
  • issm/trunk/src/m/classes/public/plot/plotdoc.m

    r3163 r3293  
    9292disp('       ''yticklabel'': specifiy yticklabel');
    9393disp('       ''overlay'': yes or no. This will overlay a radar amplitude image behind');
     94disp('       ''cutoff'': all values below cutoff will be taken as cutoff (default is 1.5)');
    9495disp('       ''highres'': resolution of overlayed radar amplitude image (default is 0, high resolution is 1).');
    9596disp('       ''hem'': specify hemisphere ''n'' or ''s'' (default is ''s'').');
Note: See TracChangeset for help on using the changeset viewer.