Changeset 186 for trunk/src/proj_field.m
- Timestamp:
- Jan 28, 2011, 8:24:05 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/proj_field.m
r180 r186 385 385 %A REVOIR, GENERALISER: UTILISER proj_line 386 386 ProjData.NbDim=1; 387 %ProjData.ListDimName={};%name of dimension388 %ProjData.DimValue=[];%values of dimension (nbre of vectors)389 387 ProjData.ListVarName={}; 390 %ProjData.VarDimIndex={};391 388 ProjData.VarDimName={}; 392 if isfield (FieldData,'ListVarAttribute') 393 ProjData.ListVarAttribute=FieldData.ListVarAttribute;%list of variable attribute names 394 for iattr=1:length(ProjData.ListVarAttribute)%initialization of variable attribute values 395 AttrName=ProjData.ListVarAttribute{iattr}; 396 eval(['ProjData.' AttrName '={};']) 397 end; 389 390 Mesh=zeros(1,numel(FieldData.ListVarName)); 391 if isfield (FieldData,'VarAttribute') 392 ProjData.VarAttribute=FieldData.VarAttribute;%list of variable attribute names 393 for iattr=1:length(ProjData.VarAttribute)%initialization of variable attribute values 394 % ProjData.VarAttribute{iattr}={}; 395 if isfield(ProjData.VarAttribute{iattr},'Unit') 396 unit{iattr}=ProjData.VarAttribute{iattr}.Unit; 397 end 398 if isfield(ProjData.VarAttribute{iattr},'Mesh') 399 Mesh(iattr)=ProjData.VarAttribute{iattr}.Mesh; 400 end 401 end 398 402 end 399 403 … … 449 453 % image or 2D matrix 450 454 if numel(VarType.coord)>=2 & VarType.coord(1:2) > 0; 451 test_Amat=1;% image or 2D matrix455 test_Amat=1;% test for image or 2D matrix 452 456 AYName=FieldData.ListVarName{VarType.coord(1)}; 453 457 AXName=FieldData.ListVarName{VarType.coord(2)}; … … 456 460 VarName=FieldData.ListVarName{VarIndex(1)}; 457 461 eval(['DimValue=size(FieldData.' VarName ');']) 462 if length(AX)==2 463 AX=linspace(AX(1),AX(end),DimValue(2)); 464 end 465 if length(AY)==2 466 AY=linspace(AY(1),AY(end),DimValue(1)); 467 end 468 % for idim=1:length(DimValue) 469 % Coord_i_str=['Coord_' num2str(idim)]; 470 % DCoord_min(idim)=1;%default 471 % Coord{idim}=[0.5 DimValue(idim)]; 472 % test_direct(idim)=1; 473 % end 474 % AX=linspace(Coord{2}(1),Coord{2}(2),DimValue(2)); 475 % AY=linspace(Coord{1}(1),Coord{1}(2),DimValue(1)); %TODO : 3D case 458 476 testcolor=find(numel(DimValue)==3); 459 % errormsg='multicomponent field not projected';460 461 for idim=1:length(DimValue)462 Coord_i_str=['Coord_' num2str(idim)];463 DCoord_min(idim)=1;%default464 Coord{idim}=[0.5 DimValue(idim)];465 test_direct(idim)=1;466 end467 AX=linspace(Coord{2}(1),Coord{2}(2),DimValue(2));468 AY=linspace(Coord{1}(1),Coord{1}(2),DimValue(1)); %TODO : 3D case469 477 if length(DimValue)==3 470 478 testcolor=1; … … 533 541 VarName=FieldData.ListVarName{ivar}; 534 542 eval(['ProjData.' VarName 'Mean=mean(mean(double(FieldData.' VarName '(indsel,:))));']); % keep only non false vectors 535 eval(['[ProjData.' VarName 'Histo,ProjData.' VarName ']=hist(double(FieldData.' VarName '(indsel,:)),100);']); % keep only non false vectors 543 eval(['ProjData.' VarName 'Min=min(min(double(FieldData.' VarName '(indsel,:))));']); % keep only non false vectors 544 eval(['ProjData.' VarName 'Max=max(max(double(FieldData.' VarName '(indsel,:))));']); % keep only non false vectors 545 if isequal(Mesh(ivar),0) 546 eval(['[ProjData.' VarName 'Histo,ProjData.' VarName ']=hist(double(FieldData.' VarName '(indsel,:)),100);']); % default histogram with 100 bins 547 else 548 eval(['ProjData.' VarName '=(ProjData.' VarName 'Min+Mesh(ivar)/2:Mesh(ivar):ProjData.' VarName 'Max);']); % list of bin values 549 eval(['ProjData.' VarName 'Histo=hist(double(FieldData.' VarName '(indsel,:)),ProjData.' VarName ');']); % histogram at predefined bin positions 550 end 536 551 ProjData.ListVarName=[ProjData.ListVarName {VarName} {[VarName 'Histo']} {[VarName 'Mean']}]; 537 552 if test_Amat && testcolor … … 550 565 % end 551 566 end 552 553 567 554 568 … … 1759 1773 end 1760 1774 elseif isequal(ObjectData.ProjMode,'interp')||isequal(ObjectData.ProjMode,'filter')%interpolate data on a regular grid 1761 coord_x_proj= [XMin:DX:XMax];1762 coord_y_proj= [YMin:DY:YMax];1763 coord_z_proj= [ZMin:DZ:ZMax];1775 coord_x_proj=(XMin:DX:XMax); 1776 coord_y_proj=(YMin:DY:YMax); 1777 coord_z_proj=(ZMin:DZ:ZMax); 1764 1778 [XI,YI,ZI]=meshgrid(coord_x_proj,coord_y_proj,coord_z_proj); 1765 1779 DimCell={'coord_y','coord_x'};
Note: See TracChangeset
for help on using the changeset viewer.