Ignore:
Timestamp:
May 19, 2013, 11:37:49 PM (11 years ago)
Author:
sommeria
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/get_file_series.m

    r599 r635  
    2020incr_i=Param.IndexRange.incr_i;
    2121last_i=Param.IndexRange.last_i;
    22 ref_i=first_i:incr_i:last_i;
    23 ref_j=[];
     22% ref_i=first_i:incr_i:last_i;
     23%ref_j=[];
     24first_j=[];last_j=[];incr_j=1;%default
    2425if isfield(Param.IndexRange,'first_j')
    2526    first_j=Param.IndexRange.first_j;
    2627    incr_j=Param.IndexRange.incr_j;
    2728    last_j=Param.IndexRange.last_j;
    28     ref_j=first_j:incr_j:last_j;
    2929end
    3030
    3131%% determine the list of input file names
    3232nbmissing=0;
    33 
    34 for iview=1:size(InputTable,1)
     33NbView=size(InputTable,1);
     34i1_series=cell(NbView,1);% initiate index series with empty cells
     35i2_series=cell(NbView,1);
     36j1_series=cell(NbView,1);
     37j2_series=cell(NbView,1);
     38for iview=1:NbView
    3539    r.mode='';
    3640    if isfield (Param.IndexRange,'PairString')
     
    3842            Param.IndexRange.PairString={Param.IndexRange.PairString};
    3943        end
    40         r=regexp(Param.IndexRange.PairString{iview,1},'(?<mode>(Di=)|(Dj=)) -*(?<num1>\d+)\|(?<num2>\d+)','names');
     44        r=regexp(Param.IndexRange.PairString{iview,1},'(?<mode>(Di=)|(Dj=)) -*(?<num1>\d+)\|(?<num2>\d+)','names');%look for mode=Dj or Di
    4145        if isempty(r)
    42             r=regexp(Param.IndexRange.PairString{iview,1},'(?<num1>\d+)(?<mode>-)(?<num2>\d+)','names');
     46            r=regexp(Param.IndexRange.PairString{iview,1},'(?<num1>\d+)(?<mode>-)(?<num2>\d+)','names');%look for burst pairs
    4347        end
    4448        % TODO case of free pairs:
     
    5155            r(1).mode='*-*';
    5256        else
    53         r(1).mode='';
     57            r(1).mode='';
    5458        end
    5559    end
    56     if isequal(r(1).mode,'*-*')% free pairs
     60   
     61    if isempty(incr_i) || isempty(incr_j) || isequal(r(1).mode,'*-*')% free pairs
    5762        FilePath=fullfile(InputTable{iview,1},InputTable{iview,2});
    5863        fileinput=[InputTable{iview,3} InputTable{iview,4} InputTable{iview,5}];
    59         [tild,tild,tild,i1_series{iview},i2_series{iview},j1_series{iview},j2_series{iview},NomType,FileType,FileInfo,MovieObject,i1_input,i2_input,j1_input,j2_input]=find_file_series(FilePath,fileinput);
    60         i1_series{iview}=squeeze(i1_series{iview}(1,:,:)); %first  pair index
    61         check_select=i1_series{iview}>=first_i & i1_series{iview}<=last_i;
    62         i1_series{iview}=i1_series{iview}(check_select);   
    63         i2_series{iview}=[]; %first  pair index
     64        [tild,tild,tild,i1_series{iview},i2_series{iview},j1_series{iview},j2_series{iview},NomType,FileType,FileInfo,MovieObject,...
     65            i1_input,i2_input,j1_input,j2_input]=find_file_series(FilePath,fileinput);
     66        i1_series{iview}=squeeze(i1_series{iview}(1,:,:)); %select first  pair index as ordered by find_file_series
    6467        j1_series{iview}=squeeze(j1_series{iview}(1,:,:)); %first  pair index
    65         j2_series{iview}=squeeze(j2_series{iview}(1,:,:)); %first  pair index
    66         j1_series{iview}=j1_series{iview}(check_select);
    67         j2_series{iview}=j2_series{iview}(check_select);
     68        j2_series{iview}=squeeze(j2_series{iview}(1,:,:)); %second  pair index
     69        %check_select=i1_series{iview}>=first_i & i1_series{iview}<=last_i;
     70        if isempty(incr_i)
     71            if isempty(incr_j)
     72                [ref_j,ref_i]=find(i1_series{iview});
     73                ref_i=ref_i-1;
     74                ref_j=ref_j-1;
     75                ref_i=ref_i(ref_i>=first_i & ref_i<=last_i);
     76                ref_j=ref_j(ref_j>=first_j & ref_j<=last_j);
     77            else
     78                ref_j=first_j:incr_j:last_j;
     79                [tild,ref_i]=find(i1_series{iview}(:,ref_j));
     80                ref_i=ref_i-1;
     81                ref_i=ref_i(ref_i>=first_i & ref_i<=last_i);
     82            end
     83        else
     84            ref_i=first_i:incr_i:last_i;%default
     85            if isempty(incr_j)
     86                [ref_j,tild]=find(i1_series{iview});
     87                ref_j=ref_j-1;
     88                ref_j=ref_j(ref_j>=first_j & ref_j<=last_j);
     89            else
     90                ref_j=first_j:incr_j:last_j;
     91            end
     92        end
     93        i1_series{iview}=i1_series{iview}(ref_j,ref_i);
     94        j1_series{iview}=j1_series{iview}(ref_j,ref_i);
     95        if ~isempty(j2_series{iview})
     96        j2_series{iview}=j2_series{iview}(ref_j,ref_i);
     97        end
    6898    else
     99        ref_i=first_i:incr_i:last_i;%default
     100        ref_j=first_j:incr_j:last_j;%default
     101    end
     102    if ~isequal(r(1).mode,'*-*')% imposed pairs or single i and/or j index
    69103        [i1_series{iview},i2_series{iview},j1_series{iview},j2_series{iview}]=find_file_indices(ref_i,ref_j,str2num(r.num1),str2num(r.num2),r.mode);
    70104    end
    71        
     105   
    72106    %case of pairs (.nc files)
    73107    i2=[];j1=[];j2=[];
     
    83117            j2=j2_series{iview}(ifile);
    84118        end
    85          filecell{iview,ifile}=fullfile_uvmat(InputTable{iview,1},InputTable{iview,2},InputTable{iview,3},InputTable{iview,5},InputTable{iview,4},i1,i2,j1,j2);
     119        filecell{iview,ifile}=fullfile_uvmat(InputTable{iview,1},InputTable{iview,2},InputTable{iview,3},InputTable{iview,5},InputTable{iview,4},i1,i2,j1,j2);
    86120    end
    87121end
Note: See TracChangeset for help on using the changeset viewer.