Ignore:
Timestamp:
Nov 19, 2010, 10:44:24 AM (13 years ago)
Author:
sommeria
Message:

merge_proj.m: cleaning
sub_field.m: ?
dataview.m: modifs not finished
name-generator: bug repair for new nom_type
nc2struct: cleaning
uvmat: cleaning
read_civxdata: transform all variables to double
civ: bug repair for new nom_type, not finished

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/name_generator.m

    r122 r127  
    5151end
    5252if ~ischar(ext),ext='';end
    53 idetect=0;
     53% idetect=0;
    5454if ~exist('num_i1','var') || isempty(num_i1) || isnan(num_i1)
    5555    num_i1=1; %default
     
    8282end
    8383if ~test_pairs%case of a single index i, and possibly j
    84     numlength=numel(nom_type);
     84%     numlength=numel(nom_type);
     85    nom_type_mod=nom_type;
    8586    num_j_str='';
    8687    if strcmp(nom_type(1),'_')
    8788        filename=[filename '_'];
    88         nom_type(1)=[];
    89     end
    90     if strcmp(nom_type(end),'a')
    91         nom_type(end)=[];
     89        nom_type_mod(1)=[];
     90    end
     91    if strcmp(nom_type_mod(end),'a')
     92        nom_type_mod(end)=[];
    9293        num_j_str=char(num_j1+96);% lower letter corresponding to the index
    93     elseif strcmp(nom_type(end),'A')
     94    elseif strcmp(nom_type_mod(end),'A')
    9495        nom_type(end)=[];
    9596        num_j_str=char(num_j1+64);% lower letter corresponding to the index
    96     elseif isequal(numel(regexp(nom_type(2:end),'_')),1)%if a separator '_' exists in nom_type
     97    elseif isequal(numel(regexp(nom_type_mod,'_')),1)%if a second separator '_' exists in nom_type
    9798        num_j_str=['_' num2str(num_j1)];
    98         nom_type(regexp(nom_type(2:end),'_'):end)=[];
     99        nom_type_mod(regexp(nom_type_mod,'_'):end)=[];
    99100    else
    100101        num_j1_out=[];%no index j
    101102    end
    102     if ~isempty(str2num(nom_type))   
    103         numtype=['%0' num2str(length(nom_type)) 'd'];%indicate the number of digits (0 before the number)
     103    if ~isnan(str2double(nom_type_mod))   
     104        numtype=['%0' num2str(length(nom_type_mod)) 'd'];%indicate the number of digits (0 before the number)
    104105        filename=[filename num2str(num_i1,numtype) num_j_str ext];
    105106        num_i2_out=num_i1_out;
     
    109110        filename=[filename ext];
    110111    end
    111 %     if  strcmp(nom_type,'_i');
    112 %         filename=[filebase '_' num2str(num_i1) ext];
    113 %         num_i2_out=num_i1;
    114 %         num_j1_out=[];
    115 %         num_j2_out=[];
    116 %     elseif length(nom_type)==5 && strcmp(nom_type(1:3),'_%0')&& strcmp(nom_type(5),'d');
    117 %         filename=[filebase '_' num2str(num_i1,nom_type(2:5)) ext];
    118 %         num_i2_out=num_i1;
    119 %         num_j2_out=num_j1;
    120 %     elseif  strcmp(nom_type,'_i_j')
    121 %         filename=[filebase '_' num2str(num_i1) '_' num2str(num_j1) ext];
    122 %         num_i2_out=num_i1;
    123 %         num_j2_out=num_j1;
    124 %     elseif  strcmp(nom_type,'#a')| strcmp(nom_type,'#A')
    125 %         filename=[filebase num2str(num_i1,'%03d') num2stra(num_j1,nom_type) ext];
    126 %         num_i2_out=num_i1;
    127 %         num_j2_out=num_j1;
    128 %     elseif  length(nom_type)>=5 & strcmp(nom_type(2:3),'%0') & strcmp(nom_type(5),'d')  %strcmp(nom_type,'_%04dA') %camera PCO Toulouse
    129 %         filename=[filebase nom_type(1) num2str(num_i1,nom_type(2:4)) num2stra(num_j1,nom_type) ext];
    130 %         num_i2_out=num_i1;
    131 %         num_j2_out=num_j1;
    132 %     elseif  strcmp(nom_type,'#')
    133 %         filename=[filebase num2str(num_i1) ext];
    134 %         num_i2_out=num_i1;
    135 %         num_j1_out=[];
    136 %         num_j2_out=[];
    137 %     elseif length(nom_type)>=4 & strcmp(nom_type(1:2),'%0') & strcmp(nom_type(end),'d')
    138 %         filename=[filebase num2str(num_i1,nom_type) ext]; %test number with a 0 before
    139 %         num_i2_out=num_i1;
    140 %         num_j1_out=[];
    141 %         num_j2_out=[];
    142 %     elseif length(nom_type)>=4 & strcmp(nom_type(1:2),'%0') & strcmp(nom_type(end-1:end),'dA')
    143 %         filename=[filebase num2str(num_i1,nom_type(1:end-1)) num2stra(num_j1,'#A') ext]; %test number with a 0 before
    144 %         num_i2_out=num_i1;
    145 %         num_j1_out=[];
    146 %         num_j2_out=[];
    147 %     end
     112
    148113%case of derived file indexing (e.g. netcdf files)
    149114else
    150      %inexistant pair if num_i2=0 or num_j2=0
    151 %     if strcmp(num_i2,0)
    152 %         filename=[filebasesub '*-*_' num2str(num_i1) ext];
    153 %         return
    154 %     end
    155 %     if strcmp(num_j2,0)
    156 %         filename=[filebasesub '_' num2str(num_i1) '_*-*' ext];
    157 %         return
    158 %     end
    159115    % case of an imposed image pair (comp_input=1)
    160116    if  (exist('comp_input','var') && isequal(comp_input,1))
     
    205161            elseif isequal(nom_type,'i1-i2_j1-j2')
    206162                if isequal(num2str(num_i1),num2str(num_i2))% case of displacements at the same time
    207                     app1= [num2str(num_i1)];
     163                    app1= num2str(num_i1);
    208164                else
    209165                    app1= [num2str(num_i1) '-' num2str(num_i2)];
    210166                end
    211167                if isequal(num2str(num_j1),num2str(num_j2))% case of displacements at the same time
    212                     app2= [num2str(num_j1)];
     168                    app2= num2str(num_j1);
    213169                else
    214170                    app2= [num2str(num_j1) '-' num2str(num_j2)];
     
    228184        direct=dir(pathfile);%directory containing filebase
    229185        datedir=[];%default
    230         idir=0;
     186%         idir=0;
    231187        indir=find(cell2mat({direct.isdir}));% find indices of subdirectories
    232         direct=direct(indir([3:end]));% keep only the subdirectories,eliminating the two first terms '.' and '..'
     188        direct=direct(indir(3:end));% keep only the subdirectories,eliminating the two first terms '.' and '..'
    233189        lengthdir=length(direct);
    234190        if lengthdir==0
     
    240196                char_code=double(date_str);% code of the date characters
    241197                special_char=(char_code>127); %non standard Ascii character (e.g. date in french)
    242                 if isempty(find(special_char))% standard Ascii character
     198                if isempty(find(special_char,1))% standard Ascii character
    243199                    datedir(idir)=datenum(date_str);
    244200                end                           
     
    250206        filebasesub=fullfile(pathfile,subdir,name);
    251207        %if the image pair is imposed
    252         if (exist('comp_input','var') & isequal(comp_input,1))
    253             if isequal(nom_type,'netc_old')|isequal(nom_type,'#_ab')
     208        if (exist('comp_input','var') && isequal(comp_input,1))
     209            if isequal(nom_type,'#_ab')
    254210                filename=[filebasesub num2str(num_i1,'%03d') '_' num2stra(num_j1,nom_type) num2stra(num_j2,nom_type) ext];
    255             elseif isequal(nom_type,'netc_2D')|isequal(nom_type,'_i1_j1-j2')
     211            elseif isequal(nom_type,'_i1_j1-j2')
    256212                filename=[filebasesub '_' num2str(num_i1) '_' num2str(num_j1) '-' num2str(num_i2) ext];
    257             elseif isequal(nom_type,'netc_3D')|isequal(nom_type,'_i1-i2_j')
     213            elseif isequal(nom_type,'_i1-i2_j')
    258214                filename=[filebasesub '_' num2str(num_i1) '-' num2str(num_i2) '_' num2str(num_j1) ext];
    259             elseif isequal(nom_type,'netc_series')|isequal(nom_type,'_i1-i2')
     215            elseif isequal(nom_type,'_i1-i2')
    260216                filename=[filebasesub '_' num2str(num_i1) '-' num2str(num_i2) ext];
    261217            end
    262             idetect=(exist(filename,'file')==2);
     218%             idetect=(exist(filename,'file')==2);
    263219        else
    264             [filename,num_i1_out,num_j1_out,num_i2_out,num_j2_out,idetect]=search_pair(filebasesub,num_i1,num_j1,num_i2,nom_type);             
     220            [filename,num_i1_out,num_j1_out,num_i2_out,num_j2_out]=search_pair(filebasesub,num_i1,num_j1,num_i2,nom_type);             
    265221        end
    266222    end
    267223end
    268 if ~isequal(subdir,'?'), subdir_out=subdir; else, subdir_out='';end;
     224if ~strcmp(subdir,'?')
     225    subdir_out=subdir;
     226else
     227    subdir_out='';
     228end
    269229
    270230%------------------------------------------------------------------------
     
    278238
    279239filename=[];num_j2=[];idetect=0;%default values
    280 if isequal(nom_type,'netc_old')|isequal(nom_type,'#_ab')
     240if isequal(nom_type,'#_ab')
    281241    dirpair=dir([filebasesub num2str(num_i1,'%03d') '_*.nc']);
    282 elseif isequal(nom_type,'netc_2D')|isequal(nom_type,'_i_j1-j2')
     242elseif isequal(nom_type,'_i_j1-j2')
    283243    dirpair=dir([filebasesub '_' num2str(num_i1) '_*-*.nc']);
    284 elseif isequal(nom_type,'netc_3D')|isequal(nom_type,'_i1-i2_j')
     244elseif isequal(nom_type,'_i1-i2_j')
    285245    dirpair=dir([filebasesub '_' num2str(num_i1) '-*_' num2str(num_j1) '.nc']);
    286 elseif isequal(nom_type,'netc_series')|isequal(nom_type,'_i1-i2')
     246elseif isequal(nom_type,'_i1-i2')
    287247    dirpair=dir([filebasesub '_' num2str(num_i1) '-*.nc']);
    288248    if isempty(dirpair)
     
    293253if nbpair >= 1 %choose the most recent file if several are found
    294254    idetect=1; %detected pair
     255    datepair=zeros(1,nbpair);%default
    295256    for ipair=1:nbpair
    296257         date_str=dirpair(ipair).date;%string of the date of last modification
    297          datepair(ipair)=0;%default
    298258         char_code=double(date_str);% code of the date characters
    299259         special_char=(char_code>127); %non standard Ascii character (e.g. date in french)
     
    301261             datepair(ipair)=datenum(date_str);
    302262         end   
    303       %  datepair(ipair)=datenum(dirpair(ipair).date);
    304263    end
    305264    [choice,indpair]=max(datepair);
    306 %     [filebase,field_count,str2,str_a,str_b,ext,nom_type]=name2display(dirpair(indpair).name);
    307     [pathname,file,field_count,str2,str_a,str_b,ext,nom_type]=name2display(dirpair(indpair).name);
    308     num_i1=str2num(field_count);
    309     num_i2=str2num(str2);
    310     num_j1=stra2num(str_a);
    311     num_j2=stra2num(str_b);
     265    [pathname,file,field_count,str2,str_a,str_b]=name2display(dirpair(indpair).name);
     266    num_i1=str2double(field_count);
     267    num_i2=str2double(str2);
     268    num_j1=stra2double(str_a);
     269    num_j2=stra2double(str_b);
    312270     pathname=fileparts(filebasesub);% CORRIGE LE 6 JUIN (ETAIT DESACTIVE)
    313271    filename=fullfile(pathname,dirpair(indpair).name);
Note: See TracChangeset for help on using the changeset viewer.