Changeset 27606
- Timestamp:
- 02/22/23 07:30:10 (2 years ago)
- Location:
- issm/trunk-jpl/src/m/plot
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/m/plot/plot_overlay.m
r27402 r27606 42 42 xlim=getfieldvalue(options,'xlim',[min(x) max(x)])/getfieldvalue(options,'unit',1); 43 43 ylim=getfieldvalue(options,'ylim',[min(y) max(y)])/getfieldvalue(options,'unit',1); 44 if exist(options, 'axis'); 45 myaxis = getfieldvalue(options,'axis'); 46 xlim = [myaxis(1), myaxis(2)]; 47 ylim = [myaxis(3), myaxis(4)]; 48 end 44 49 options=addfielddefault(options,'xlim',xlim); 45 50 options=addfielddefault(options,'ylim',ylim); … … 48 53 contrast = getfieldvalue(options,'contrast',1); 49 54 radar = md.radaroverlay.pwr; 50 if size(radar,3)>1, 51 disp('WARNING: color image converted to greyscale intensity image'); 52 if strcmp(class(radar),'uint8'), 53 radar=double(sum(radar,3))/(255*3); 54 else 55 radar=sum(radar,3)/3; 55 56 if ~radaronly 57 if size(radar,3)>1, 58 disp('WARNING: color image converted to greyscale intensity image'); 59 if strcmp(class(radar),'uint8'), 60 radar=double(sum(radar,3))/(255*3); 61 else 62 radar=sum(radar,3)/3; 63 end 56 64 end 65 if getfieldvalue(options,'backgroundbtw',0) 66 radar(find(radar==0))=1; %Change background from black to white 67 end 68 radar = radar.^(contrast); 69 radar = radar./max(radar(:)); 57 70 end 58 if getfieldvalue(options,'backgroundbtw',0)59 radar(find(radar==0))=1; %Change background from black to white60 end61 radar = radar.^(contrast);62 radar = radar./max(radar(:));63 71 64 72 if getfieldvalue(options,'backgroundbtw',0) … … 101 109 102 110 %Special colormaps that require hsv treatment 103 colorm=getfieldvalue(options,'colormap',' Rignot');111 colorm=getfieldvalue(options,'colormap','parula'); 104 112 if strcmpi(colorm,'Rignot') | strcmpi(colorm,'Seroussi') | strcmpi(colorm,'redblue') 105 113 if strcmpi(colorm,'Rignot'), … … 133 141 image_rgb=hsv2rgb(image_hsv); 134 142 else 135 colorm = getcolormap(options); 136 len = size(colorm,1); 143 if radaronly 144 image_rgb = radar; 145 else 146 colorm = getcolormap(options); 147 len = size(colorm,1); 137 148 138 ind = ceil((len-1)*(data_grid-data_min)/(data_max - data_min + eps) +1);139 ind(find(ind>len))=len;140 image_rgb=zeros(size(data_grid,1),size(data_grid,2),3);141 r=colorm(:,1); image_rgb(:,:,1)=r(ind); clear r;142 g=colorm(:,2); image_rgb(:,:,2)=g(ind); clear g;143 b=colorm(:,3); image_rgb(:,:,3)=b(ind); clear b;149 ind = ceil((len-1)*(data_grid-data_min)/(data_max - data_min + eps) +1); 150 ind(find(ind>len))=len; 151 image_rgb=zeros(size(data_grid,1),size(data_grid,2),3); 152 r=colorm(:,1); image_rgb(:,:,1)=r(ind); clear r; 153 g=colorm(:,2); image_rgb(:,:,2)=g(ind); clear g; 154 b=colorm(:,3); image_rgb(:,:,3)=b(ind); clear b; 144 155 145 %Now add radarmap 146 r = image_rgb(:,:,1).*radar; r(data_nan) = radar(data_nan); image_rgb(:,:,1) = r; clear r; 147 g = image_rgb(:,:,2).*radar; g(data_nan) = radar(data_nan); image_rgb(:,:,2) = g; clear g; 148 b = image_rgb(:,:,3).*radar; b(data_nan) = radar(data_nan); image_rgb(:,:,3) = b; clear b; 156 %Now add radarmap 157 r = image_rgb(:,:,1).*radar; r(data_nan) = radar(data_nan); image_rgb(:,:,1) = r; clear r; 158 g = image_rgb(:,:,2).*radar; g(data_nan) = radar(data_nan); image_rgb(:,:,2) = g; clear g; 159 b = image_rgb(:,:,3).*radar; b(data_nan) = radar(data_nan); image_rgb(:,:,3) = b; clear b; 160 end 149 161 end 150 162 -
issm/trunk-jpl/src/m/plot/radarpower.m
r26663 r27606 100 100 %}}} 101 101 else %user provided image {{{ 102 102 103 %user provided an image. check we also have overlay_xlim and overlay_ylim options, to know what range of coordinates the image covers. 103 if (~exist(options,'overlay_xlim') | ~exist(options,'overlay_xlim')| ~exist(options,'overlay_xposting')| ~exist(options,'overlay_yposting')), 104 error('radarpower error message: please provide overlay_xlim, overlay_ylim, overlay_xposting and overlay_yposting options together with overlay_image option'); 104 filename = getfieldvalue(options,'overlay_image'); 105 [filepath,name,ext] = fileparts(filename); 106 if ~exist(filename) 107 error([filename ' not found']); 105 108 end 106 overlay_image=getfieldvalue(options,'overlay_image');107 overlay_xlim=getfieldvalue(options,'overlay_xlim');108 overlay_ylim=getfieldvalue(options,'overlay_ylim');109 overlay_xposting=getfieldvalue(options,'overlay_xposting');110 overlay_yposting=getfieldvalue(options,'overlay_yposting');111 109 112 sizex=floor((x1-x0)/overlay_xposting); 113 sizey=floor((y1-y0)/overlay_yposting); 114 topleftx=floor((x0-overlay_xlim(1))/overlay_xposting); % x min 115 toplefty=floor((overlay_ylim(2)-y1)/overlay_yposting); % y max 110 %Is it a geotiff? 111 if strcmp(ext,'.tiff') || strcmp(ext,'.tif') 116 112 117 %Read and crop file 118 disp('Warning: expecting coordinates in polar stereographic (Std Latitude: 70ºN Meridian: 45º)'); 119 im=imread(overlay_image); 120 %adjust contrast and brightness 121 %im=imadjust(im,[a b],[c d]); 122 im=im(toplefty:toplefty+sizey,topleftx:topleftx+sizex); 123 md.radaroverlay.pwr=double(flipud(im)); 124 md.radaroverlay.x=(x0:(x1-x0)/(size(md.radaroverlay.pwr,2)-1):x1); 125 md.radaroverlay.y=(y0:(y1-y0)/(size(md.radaroverlay.pwr,1)-1):y1); 113 %Crop image from xylim 114 tempfilename='./temp.tif'; 115 eval(['!gdal_translate -quiet -projwin ' num2str(x0) ' ' num2str(y1) ' ' num2str(x1) ' ' num2str(y0) ' ' filename ' ' tempfilename]); 116 117 %Read in temp.tif: 118 im=imread('temp.tif','TIFF'); 119 %adjust contrast and brightness 120 %im=imadjust(im,[a b],[c d]); 121 pixelskip=max(1,ceil(posting/((x1-x0)/(size(im,2))))); 122 %md.radaroverlay.pwr=double(flipud(im(1:pixelskip:end,1:pixelskip:end,:))); 123 md.radaroverlay.pwr=double(im(1:pixelskip:end,1:pixelskip:end,:))/255; 124 md.radaroverlay.x=x0:(x1-x0)/(size(md.radaroverlay.pwr,2)-1):x1; 125 md.radaroverlay.y=y1:-(y1-y0)/(size(md.radaroverlay.pwr,1)-1):y0; 126 127 %Erase image or keep it? 128 if ~getfieldvalue(options,'keep_image',0), 129 delete(tempfilename); 130 end 131 else 132 if (~exist(options,'overlay_xlim') | ~exist(options,'overlay_xlim')| ~exist(options,'overlay_xposting')| ~exist(options,'overlay_yposting')), 133 error('radarpower error message: please provide overlay_xlim, overlay_ylim, overlay_xposting and overlay_yposting options together with overlay_image option'); 134 end 135 overlay_xlim=getfieldvalue(options,'overlay_xlim'); 136 overlay_ylim=getfieldvalue(options,'overlay_ylim'); 137 overlay_xposting=getfieldvalue(options,'overlay_xposting'); 138 overlay_yposting=getfieldvalue(options,'overlay_yposting'); 139 overlay_image=getfieldvalue(options,'overlay_image'); 140 141 sizex=floor((x1-x0)/overlay_xposting); 142 sizey=floor((y1-y0)/overlay_yposting); 143 topleftx=floor((x0-overlay_xlim(1))/overlay_xposting); % x min 144 toplefty=floor((overlay_ylim(2)-y1)/overlay_yposting); % y max 145 146 %Read and crop file 147 disp('Warning: expecting coordinates in polar stereographic (Std Latitude: 70ºN Meridian: 45º)'); 148 im=imread(overlay_image); 149 %adjust contrast and brightness 150 %im=imadjust(im,[a b],[c d]); 151 im=im(toplefty:toplefty+sizey,topleftx:topleftx+sizex); 152 md.radaroverlay.pwr=double(flipud(im)); 153 md.radaroverlay.x=(x0:(x1-x0)/(size(md.radaroverlay.pwr,2)-1):x1); 154 md.radaroverlay.y=(y0:(y1-y0)/(size(md.radaroverlay.pwr,1)-1):y1); 155 end 126 156 end %}}} 127 157
Note:
See TracChangeset
for help on using the changeset viewer.