1 |
gmaze |
1.1 |
% |
2 |
|
|
% [Iiso MASK] = SUBFCT_GETISOS(TRACER,ISO) |
3 |
|
|
% |
4 |
|
|
% This function determines the iso-surface ISO of the |
5 |
|
|
% 3D field TRACER(Z,Y,X) |
6 |
|
|
% Iiso(Y,X) contains indices of axis Z of the iso-surface. |
7 |
|
|
% MASK(Y,X) contains 1 where the iso-surface is defined |
8 |
|
|
% and 0 elsewhere. Useful to plot other fields. |
9 |
|
|
% |
10 |
|
|
% 06/19/06 |
11 |
|
|
% gmaze@mit.edu |
12 |
|
|
|
13 |
|
|
function varargout = subfct_getisoS(CHP,ISO) |
14 |
|
|
|
15 |
|
|
|
16 |
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
17 |
|
|
% PRE-PROCESS and ERROR CHECK % |
18 |
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
19 |
|
|
pv_checkpath |
20 |
|
|
|
21 |
|
|
if nargin ~= 2 |
22 |
|
|
help subfct_getisoS.m |
23 |
|
|
error('subfct_getisoS.m : Wrong number of parameters') |
24 |
|
|
return |
25 |
|
|
end |
26 |
|
|
|
27 |
|
|
[nz ny nx] = size(CHP); |
28 |
|
|
if nz ==1 | nx == 1 | ny == 1 |
29 |
|
|
help subfct_getisoS.m |
30 |
|
|
error('subfct_getisoS.m : 3DFIELD must be a 3D field') |
31 |
|
|
return |
32 |
|
|
end |
33 |
|
|
|
34 |
|
|
|
35 |
|
|
|
36 |
|
|
%%%%%%%%%%%%%%%%%%%%%%%%% |
37 |
|
|
% DETERMINE ISO-SURFACE % |
38 |
|
|
%%%%%%%%%%%%%%%%%%%%%%%%% |
39 |
|
|
|
40 |
|
|
mask = ones(ny,nx).*NaN; |
41 |
|
|
%isoS = ones(ny,nx).*NaN; |
42 |
|
|
Iiso = ones(ny,nx).*NaN; |
43 |
|
|
|
44 |
|
|
for ix = 1 : nx |
45 |
|
|
for iy = 1 : ny |
46 |
|
|
p = squeeze(CHP(:,iy,ix)); |
47 |
|
|
p = find(p<=ISO); |
48 |
|
|
if isempty(p) |
49 |
|
|
% isoS(iy,ix) = NaN; |
50 |
|
|
Iiso(iy,ix) = NaN; |
51 |
|
|
else |
52 |
|
|
% isoS(iy,ix) = CHP(max(p),iy,ix); |
53 |
|
|
Iiso(iy,ix) = max(p); |
54 |
|
|
mask(iy,ix) = 1; |
55 |
|
|
end %if |
56 |
|
|
end %for ix |
57 |
|
|
end %for iy |
58 |
|
|
|
59 |
|
|
|
60 |
|
|
|
61 |
|
|
%%%%%%%%%%% |
62 |
|
|
% OUTPUTS % |
63 |
|
|
%%%%%%%%%%% |
64 |
|
|
switch nargout |
65 |
|
|
case {0,1} |
66 |
|
|
varargout(1) = {Iiso}; |
67 |
|
|
case 2 |
68 |
|
|
varargout(1) = {Iiso}; |
69 |
|
|
varargout(2) = {mask}; |
70 |
|
|
end %switch nargout |
71 |
|
|
|
72 |
|
|
|