1 | function [Image2d]=plot_image(data,Valid_Pixels,Val_Pix_Nuages,Val_Pix_Terre,CLim) |
---|
2 | %[Image2d]=plot_image(data,Valid_Pixels,Val_Pix_Nuages,Val_Pix_Terre,CLim) |
---|
3 | %Affiche la donnée data sur l'image de la mer Méditerranée avec le masque |
---|
4 | %de Terre et de Nuage. |
---|
5 | %Renvoie la donnée dans une matrice à 2 dimensions de taille (512,1024). |
---|
6 | %Les données manquantes (nuages/terre) sont mises à la valeur |
---|
7 | %nan; |
---|
8 | %CLim représente l'échelle de couleur Clim=[val_min val_max] |
---|
9 | |
---|
10 | %+ |
---|
11 | % module |
---|
12 | % ====== |
---|
13 | % |
---|
14 | % ``plot_image`` |
---|
15 | % |
---|
16 | % DESCRIPTION |
---|
17 | % =========== |
---|
18 | % |
---|
19 | % ``plot_image`` affiche la donnée data sur l'image de la mer Méditerranée |
---|
20 | % avec le masque de Terre et de Nuage. |
---|
21 | % |
---|
22 | % ``plot_image`` renvoie la donnée dans une matrice à 2 dimensions de taille (512,1024). |
---|
23 | % |
---|
24 | % Les données manquantes (nuages/terre) sont mises à la valeur manquante ``NaN``; |
---|
25 | % ``CLim`` représente l'échelle de couleur Clim=[val_min val_max] |
---|
26 | % |
---|
27 | % SEE ALSO |
---|
28 | % ======== |
---|
29 | % |
---|
30 | % tp_mlp_aerosols_profile.m_ |
---|
31 | % |
---|
32 | % .. _tp_mlp_aerosols_profile.m : tp_mlp_aerosols_profile.m.html |
---|
33 | % |
---|
34 | % colorbartype1.m_ |
---|
35 | % |
---|
36 | % .. _colorbartype1.m : colorbartype1.m.html |
---|
37 | % |
---|
38 | % TODO |
---|
39 | % ==== |
---|
40 | % |
---|
41 | % amélioration des colorbar |
---|
42 | % |
---|
43 | % EVOLUTIONS |
---|
44 | % ========== |
---|
45 | % |
---|
46 | % $Id$ |
---|
47 | % |
---|
48 | % - fplod 2009-09-09T14:49:56Z aedon.locean-ipsl.upmc.fr (Darwin) |
---|
49 | % |
---|
50 | % * usage of global variable ``run_octave`` |
---|
51 | % |
---|
52 | % - fplod 2009-09-08T10:56:02Z aedon.locean-ipsl.upmc.fr (Darwin) |
---|
53 | % Les figures sous octave 3.0.2 n'avaient pas la bonne orientation NORD-SUD |
---|
54 | % (la tête en bas) ! |
---|
55 | % |
---|
56 | % Sans doute à cause de l'implémentation différente de ``image`` entre |
---|
57 | % ``matlab`` et ``octave`` : l'un prend le 1er et dernier élément du tableau |
---|
58 | % pour définir les axes, l'autre prend le min et le max. |
---|
59 | % |
---|
60 | % D'autre part ``octave`` ne tient pas compte du sens de progression de ``Y``. |
---|
61 | % |
---|
62 | % Avec un appel intermédiaire à ``flipup`` (merci Francesco !) sous octave, |
---|
63 | % on retrouve le Nord là où il devait être. |
---|
64 | % |
---|
65 | % - fplod 2009-09-04T14:39:24Z aedon.locean-ipsl.upmc.fr (Darwin) |
---|
66 | % |
---|
67 | % * add header |
---|
68 | % * appel à ``colorbar`` si ``octave`` car pour l'instant la barre de |
---|
69 | % couleur produite par ``colorbartype1`` est beaucoup trop grande. |
---|
70 | % |
---|
71 | %- |
---|
72 | |
---|
73 | % |
---|
74 | global run_octave; |
---|
75 | % |
---|
76 | Image2d=nan*ones(512,1024); |
---|
77 | Image2d(Valid_Pixels)=data; |
---|
78 | Cdirect=nan*ones(512,1024); |
---|
79 | |
---|
80 | %CLim=[0 0.05]; |
---|
81 | |
---|
82 | %cmap=[data;manquantes;land;cloud]; |
---|
83 | N=64; |
---|
84 | cmap=[jet(N);[0.8 0.8 0.8]; [0.8 0.6 0.4] ; [1 1 1]]; |
---|
85 | |
---|
86 | data(data>=CLim(2))=CLim(2); |
---|
87 | data(data<=CLim(1))=CLim(1); |
---|
88 | |
---|
89 | X=floor((N-1)*(data-CLim(1))/(CLim(2)-CLim(1)))+1; |
---|
90 | |
---|
91 | Cdirect(Valid_Pixels)=X; |
---|
92 | Cdirect(Val_Pix_Nuages)=N+3; |
---|
93 | Cdirect(Val_Pix_Terre)=N+2; |
---|
94 | Cdirect(isnan(Cdirect))=N+1; |
---|
95 | clf |
---|
96 | if (run_octave == 0) |
---|
97 | cdirect_plot=Cdirect; |
---|
98 | else |
---|
99 | cdirect_plot=flipud(Cdirect); |
---|
100 | end |
---|
101 | image(linspace(-9.5,41.5,1024),linspace(49,29,512),cdirect_plot); |
---|
102 | clear cdirect_plot; |
---|
103 | colormap(cmap); |
---|
104 | axis image; |
---|
105 | axis xy; |
---|
106 | xlabel('longitude') |
---|
107 | ylabel('latitude') |
---|
108 | axis image |
---|
109 | |
---|
110 | %Colorbar |
---|
111 | if (run_octave == 0) |
---|
112 | pos=[0.2 0.1 0.6 0.04]; |
---|
113 | lev=linspace(CLim(1),CLim(2),10); |
---|
114 | lev_pas=2; |
---|
115 | clip_lev=CLim; |
---|
116 | hpal=cmap; |
---|
117 | orien=0; |
---|
118 | [h0]=colorbartype1(pos,lev,lev_pas,clip_lev,hpal,orien); |
---|
119 | else |
---|
120 | colorbar('South'); |
---|
121 | end; |
---|