Changeset 758 for trunk


Ignore:
Timestamp:
Apr 29, 2014, 10:11:11 AM (7 years ago)
Author:
sommeria
Message:

checking of file input improved do deal with holes in files series

Location:
trunk/src/series
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/series/civ_input.m

    r716 r758  
    8282
    8383%% input file info
    84 RootPath=Param.InputTable{1,1};
    85 %set(handles.RootPath,'String',RootPath)
    86 RootFile=Param.InputTable{1,3};
    87 SubDir=Param.InputTable{1,2};
     84% RootPath=Param.InputTable{1,1};
     85% %set(handles.RootPath,'String',RootPath)
     86% RootFile=Param.InputTable{1,3};
     87% SubDir=Param.InputTable{1,2};
    8888NomTypeInput=Param.InputTable{1,4};
    89 FileExt=Param.InputTable{1,5};
     89% FileExt=Param.InputTable{1,5};
    9090FileType='image';%fdefault
    9191FileInfo=[];
     
    293293            hparent=get(hcheckgrid(ilist),'parent');%handles of the parent panel
    294294            hchildren=get(hparent,'children');
    295             handle_txtbox=findobj(hchildren,'tag','Grid');% look for the grid name box in the same panel
     295            %handle_txtbox=findobj(hchildren,'tag','Grid');% look for the grid name box in the same panel
    296296            handle_dx=findobj(hchildren,'tag','num_Dx');
    297297            handle_dy=findobj(hchildren,'tag','num_Dy');
     
    901901function ListPairCiv2_Callback(hObject, eventdata, handles)
    902902%------------------------------------------------------------------------
    903 index_pair=get(handles.ListPairCiv2,'Value');%get the selected position index in the menu
    904 
    905 %update MinIndex_i and last_i according to the chosen image pairs
    906 mode_list=get(handles.ListPairMode,'String');
    907 mode_value=get(handles.ListPairMode,'Value');
    908 mode=mode_list{mode_value};
    909 if isequal(mode,'series(Di)')
    910     first_i=str2double(get(handles.MinIndex_i,'String'));
    911     last_i=str2double(get(handles.last_i,'String'));
    912     incr_i=str2double(get(handles.incr_i,'String'));
    913     num_i=first_i:incr_i:last_i;
    914     lastfield=str2double(get(handles.MaxIndex_i,'String'));
    915     if ~isnan(lastfield)
    916         test_find=(num_i-floor(index_pair/2)*ones(size(num_i))>0)& ...
    917             (num_i+ceil(index_pair/2)*ones(size(num_i))<=lastfield);
    918         num_i=num_i(test_find);
    919     end
    920     set(handles.MinIndex_i,'String',num2str(num_i(1)));
    921     set(handles.last_i,'String',num2str(num_i(end)));
    922 elseif isequal(mode,'series(Dj)')
    923     first_j=str2double(get(handles.MinIndex_j,'String'));
    924     last_j=str2double(get(handles.last_j,'String'));
    925     incr_j=str2double(get(handles.incr_j,'String'));
    926     num_j=first_j:incr_j:last_j;
    927     lastfield2=str2double(get(handles.MaxIndex_j,'String'));
    928     if ~isnan(lastfield2)
    929         test_find=(num_j-floor(index_pair/2)*ones(size(num_j))>0)& ...
    930             (num_j+ceil(index_pair/2)*ones(size(num_j))<=lastfield2);
    931         num_j=num_j(test_find);
    932     end
    933     set(handles.MinIndex_j,'String',num2str(num_j(1)));
    934     set(handles.last_j,'String',num2str(num_j(end)));
    935 end
     903% index_pair=get(handles.ListPairCiv2,'Value');%get the selected position index in the menu
     904%
     905% %update MinIndex_i and last_i according to the chosen image pairs
     906% mode_list=get(handles.ListPairMode,'String');
     907% mode_value=get(handles.ListPairMode,'Value');
     908% mode=mode_list{mode_value};
     909% if isequal(mode,'series(Di)')
     910%     first_i=str2double(get(handles.MinIndex_i,'String'));
     911%     last_i=str2double(get(handles.MaxIndex_i,'String'));
     912%     incr_i=str2double(get(handles.incr_i,'String'));
     913%     num_i=first_i:incr_i:last_i;
     914%    % lastfield=str2double(get(handles.MaxIndex_i,'String'));
     915%     if ~isnan(last_i)
     916%         test_find=(num_i-floor(index_pair/2)*ones(size(num_i))>0)& ...
     917%             (num_i+ceil(index_pair/2)*ones(size(num_i))<=last_i);
     918%         num_i=num_i(test_find);
     919%     end
     920%     set(handles.MinIndex_i,'String',num2str(num_i(1)));
     921%     set(handles.MaxIndex_i,'String',num2str(num_i(end)));
     922% elseif isequal(mode,'series(Dj)')
     923%     first_j=str2double(get(handles.MinIndex_j,'String'));
     924%     last_j=str2double(get(handles.last_j,'String'));
     925%     incr_j=str2double(get(handles.incr_j,'String'));
     926%     num_j=first_j:incr_j:last_j;
     927%     lastfield2=str2double(get(handles.MaxIndex_j,'String'));
     928%     if ~isnan(lastfield2)
     929%         test_find=(num_j-floor(index_pair/2)*ones(size(num_j))>0)& ...
     930%             (num_j+ceil(index_pair/2)*ones(size(num_j))<=lastfield2);
     931%         num_j=num_j(test_find);
     932%     end
     933%     set(handles.MinIndex_j,'String',num2str(num_j(1)));
     934%     set(handles.last_j,'String',num2str(num_j(end)));
     935% end
    936936
    937937%------------------------------------------------------------------------
     
    10951095end
    10961096
    1097 %% determine the default selection in the pair menu
     1097%% determine the default selection in the pair menu for Civ1
    10981098ichoice=find(select,1);% index of selected pair
    10991099if (isempty(ichoice) || ichoice < 1); ichoice=1; end;
     
    11021102    set(handles.ListPairCiv1,'Value',ichoice);% first valid pair proposed by default in the menu
    11031103end
    1104 initial=get(handles.ListPairCiv2,'Value');
    1105 if initial>length(displ_pair')%|~isequal(select(initial),1)
    1106     if ichoice <= length(displ_pair')
    1107         set(handles.ListPairCiv2,'Value',ichoice);% same pair proposed by default for civ2
    1108     else
    1109         set(handles.ListPairCiv2,'Value',1);% same pair proposed by default for civ2
    1110     end
     1104
     1105%% determine the default selection in the pair menu for Civ2
     1106if strcmp(get(handles.ListPairCiv2,'Visible'),'on')
     1107    initial=get(handles.ListPairCiv2,'Value');
     1108    if initial>length(displ_pair')%|~isequal(select(initial),1)
     1109        if ichoice <= length(displ_pair')
     1110            set(handles.ListPairCiv2,'Value',ichoice);% same pair proposed by default for civ2
     1111        else
     1112            set(handles.ListPairCiv2,'Value',1);% same pair proposed by default for civ2
     1113        end
     1114    end
     1115else
     1116    set(handles.ListPairCiv2,'Value',get(handles.ListPairCiv1,'Value'))% initiate the choice of Civ2 as a reproduction of if civ1
    11111117end
    11121118set(handles.ListPairCiv2,'String',displ_pair');
    1113 set(gcf,'Pointer','arrow')
     1119set(gcf,'Pointer','arrow')% Indicate that the process is finished
    11141120
    11151121
  • trunk/src/series/civ_series.m

    r736 r758  
    6363    Data.OutputSubDirMode='last'; %select the last subDir in the input table as root of the output subdir name (option 'all'/'first'/'last', 'all' by default)
    6464    Data.OutputFileMode='NbInput_i';% one output file expected per value of i index (used for waitbar)
    65         % check the existence of the first file in the series
    66     first_j=[];
    67     if isfield(Param.IndexRange,'first_j'); first_j=Param.IndexRange.first_j; end
    68     last_j=[];
    69     if isfield(Param.IndexRange,'last_j'); last_j=Param.IndexRange.last_j; end
    70     PairString='';
    71     if isfield(Param.IndexRange,'PairString'); PairString=Param.IndexRange.PairString; end
    72     [i1,i2,j1,j2] = get_file_index(Param.IndexRange.first_i,first_j,PairString);
    73     FirstFileName=fullfile_uvmat(Param.InputTable{1,1},Param.InputTable{1,2},Param.InputTable{1,3},...
    74         Param.InputTable{1,5},Param.InputTable{1,4},i1,i2,j1,j2);
    75     if ~exist(FirstFileName,'file')
    76         msgbox_uvmat('WARNING',['the first input file ' FirstFileName ' does not exist'])
    77     else
    78         FileType=get_file_type(FirstFileName);
    79         if isempty(find(strcmp(FileType,{'civdata','image','multimage','mmreader','video'})));% =1 for images
    80             msgbox_uvmat('ERROR',['bad input file type for ' mfilename ': an image or civdata file is needed'])
    81         end
    82     end
     65        % check the existence of the first file in the series: suppressed
     66%     first_j=[];
     67%     if isfield(Param.IndexRange,'first_j'); first_j=Param.IndexRange.first_j; end
     68%     last_j=[];
     69%     if isfield(Param.IndexRange,'last_j'); last_j=Param.IndexRange.last_j; end
     70%     PairString='';
     71%     if isfield(Param.IndexRange,'PairString'); PairString=Param.IndexRange.PairString; end
    8372    return
    8473end
     
    9988
    10089%% input files and indexing
    101 NbField=1;
     90% NbField=1;
    10291MaxIndex_i=Param.IndexRange.MaxIndex_i;
    10392MinIndex_i=Param.IndexRange.MinIndex_i;
     
    10897end
    10998if isfield(Param,'InputTable')
    110     [filecell,i_series,tild,j_series]=get_file_series(Param);
    111     if ~exist(filecell{1,1},'file')
    112         disp_uvmat('ERROR',' the first input file does not exist',checkrun)
    113         return
    114     else
    115         FileType=get_file_type(filecell{1,1});
    116         iview_nc=0;% series index (iview) for an input nc file (for civ2 or patch2)
    117         iview_A=0;% series index (iview) for the first image series
    118         iview_B=0;% series index (iview) for the second image series (only non zero for option 'shift' )
    119         switch FileType
    120             case 'civdata';% =1 for images
    121                 iview_nc=1;
    122                 if size(filecell,1)>=2
    123                     iview_A=2;iview_B=2;
    124                     if size(filecell,1)>=3
    125                         iview_B=3;
    126                     end
    127                 end
    128             case {'image','multimage','mmreader','video'}
    129                 iview_A=1;
    130                 if size(filecell,1)>=2
    131                     iview_B=2;
    132                 end
    133         end
     99    [tild,i_series,tild,j_series]=get_file_series(Param);
     100    % iview_nc=0;% series index (iview) for an input nc file (for civ2 or patch2)
     101    iview_A=0;% series index (iview) for the first image series
     102    iview_B=0;% series index (iview) for the second image series (only non zero for option 'shift' comparing two image series )
     103    if Param.ActionInput.CheckCiv1
     104        iview_A=1;% usual PIV, the image series is on the first line of the table
     105    elseif Param.ActionInput.CheckCiv2 % civ2 is performed without Civ1, a netcdf file series is needed in the first table line
     106        iview_A=2;% the second line is used for the input images of Civ2
     107    end
     108    if strcmp(Param.ActionInput.ListCompareMode,'shift')
     109        iview_B=iview_A+1; % the second image series is on the next line of the tinput table
    134110    end
    135111    if iview_A~=0
    136         [FileType_A,FileInfo_A,VideoObject_A]=get_file_type(filecell{1,1});
    137         if isempty(strcmp(FileType_A,{'multimage','mmreader','video'}))
    138             displ(['ERROR: the file line ' num2str(iview_A) ' must be an image'])
    139         end
    140         RootPath_A=Param.InputTable{1,1};
    141         RootFile_A=Param.InputTable{1,3};
    142         SubDir_A=Param.InputTable{1,2};
    143         NomType_A=Param.InputTable{1,4};
    144         FileExt_A=Param.InputTable{1,5};
    145     end
    146     if iview_B==0
    147         FileType_B=FileType_A;
    148         VideoObject_B=VideoObject_A;
    149         RootPath_B=RootPath_A;
    150         RootFile_B=RootFile_A;
    151         SubDir_B=SubDir_A;
    152         NomType_B=NomType_A;
    153         FileExt_B=FileExt_A;
    154         PairCiv2='';
    155         switch Param.ActionInput.ListCompareMode
    156             case 'PIV'
    157                 PairCiv1=Param.ActionInput.PairIndices.ListPairCiv1;
    158                 if isfield(Param.ActionInput.PairIndices,'ListPairCiv2')
    159                     PairCiv2=Param.ActionInput.PairIndices.ListPairCiv2;
    160                 end
    161                 [i1_series_Civ1,i2_series_Civ1,j1_series_Civ1,j2_series_Civ1,check_bounds,NomTypeNc]=...
    162                     find_pair_indices(PairCiv1,i_series{1},j_series{1},MinIndex_i,MaxIndex_i,MinIndex_j,MaxIndex_j);
    163                 if ~isempty(PairCiv2)
    164                     [i1_series_Civ2,i2_series_Civ2,j1_series_Civ2,j2_series_Civ2,check_bounds_Civ2]=...
    165                         find_pair_indices(PairCiv2,i_series{1},j_series{1},MinIndex_i,MaxIndex_i,MinIndex_j,MaxIndex_j);
    166                     check_bounds=check_bounds | check_bounds_Civ2;
    167                 end
    168                 i1_series_Civ1=i1_series_Civ1(~check_bounds);
    169                 i2_series_Civ1=i2_series_Civ1(~check_bounds);
    170                 j1_series_Civ1=j1_series_Civ1(~check_bounds);
    171                 j2_series_Civ1=j2_series_Civ1(~check_bounds);
    172             case 'displacement'
    173                 i1_series_Civ1=Param.ActionInput.OriginIndex*ones(size(i_series{1}));
    174                 i2_series_Civ1=i_series{1};i2_series_Civ2=i_series{1};
    175                 j1_series_Civ1=ones(size(i_series{1}));% first j index is 1
    176                 if isempty(j_series{1})
    177                     j2_series_Civ1=ones(size(i_series{1}));
    178                 else
    179                     j2_series_Civ1=j_series{1};
    180                 end
    181                 i1_series_Civ2=i1_series_Civ1;
    182                 j1_series_Civ2=j1_series_Civ1;
    183                 j2_series_Civ2=j2_series_Civ1;
    184                 NomTypeNc=NomType;
    185         end
    186         if ~isempty(PairCiv2)
    187             i1_series_Civ2=i1_series_Civ2(~check_bounds);
    188             i2_series_Civ2=i2_series_Civ2(~check_bounds);
    189             j1_series_Civ2=j1_series_Civ2(~check_bounds);
    190             j2_series_Civ2=j2_series_Civ2(~check_bounds);
     112        RootPath_A=Param.InputTable{iview_A,1};
     113        RootFile_A=Param.InputTable{iview_A,3};
     114        SubDir_A=Param.InputTable{iview_A,2};
     115        NomType_A=Param.InputTable{iview_A,4};
     116        FileExt_A=Param.InputTable{iview_A,5};
     117        if iview_B==0
     118            iview_B=iview_A;% the second image series is the same as the first
     119        end
     120        RootPath_B=Param.InputTable{iview_B,1};
     121        RootFile_B=Param.InputTable{iview_B,3};
     122        SubDir_B=Param.InputTable{iview_B,2};
     123        NomType_B=Param.InputTable{iview_B,4};
     124        FileExt_B=Param.InputTable{iview_B,5};
     125    end
     126   
     127    PairCiv2='';
     128    switch Param.ActionInput.ListCompareMode
     129        case 'PIV'
     130            PairCiv1=Param.ActionInput.PairIndices.ListPairCiv1;
     131            if isfield(Param.ActionInput.PairIndices,'ListPairCiv2')
     132                PairCiv2=Param.ActionInput.PairIndices.ListPairCiv2;
     133            end
     134            [i1_series_Civ1,i2_series_Civ1,j1_series_Civ1,j2_series_Civ1,check_bounds,NomTypeNc]=...
     135                find_pair_indices(PairCiv1,i_series{1},j_series{1},MinIndex_i,MaxIndex_i,MinIndex_j,MaxIndex_j);
     136            if ~isempty(PairCiv2)
     137                [i1_series_Civ2,i2_series_Civ2,j1_series_Civ2,j2_series_Civ2,check_bounds_Civ2]=...
     138                    find_pair_indices(PairCiv2,i_series{1},j_series{1},MinIndex_i,MaxIndex_i,MinIndex_j,MaxIndex_j);
     139                check_bounds=check_bounds | check_bounds_Civ2;
     140            end
     141            i1_series_Civ1=i1_series_Civ1(~check_bounds);
     142            i2_series_Civ1=i2_series_Civ1(~check_bounds);
     143            j1_series_Civ1=j1_series_Civ1(~check_bounds);
     144            j2_series_Civ1=j2_series_Civ1(~check_bounds);
     145        case 'displacement'
     146            i1_series_Civ1=Param.ActionInput.OriginIndex*ones(size(i_series{1}));
     147            i2_series_Civ1=i_series{1};i2_series_Civ2=i_series{1};
     148            j1_series_Civ1=ones(size(i_series{1}));% first j index is 1
    191149            if isempty(j_series{1})
    192                 FrameIndex_A_Civ2=i1_series_Civ2;
    193                 FrameIndex_B_Civ2=i2_series_Civ2;
     150                j2_series_Civ1=ones(size(i_series{1}));
    194151            else
    195                 FrameIndex_A_Civ2=j1_series_Civ2;
    196                 FrameIndex_B_Civ2=j2_series_Civ2;
    197             end
    198         end
    199     else
    200         [FileType_B,FileInfo,VideoObject_B]=get_file_type(filecell{2,1});
    201         if ~ismember(FileType_B,{'image','multimage','mmreader','video'})
    202             disp_uvmat('ERROR',['the file line ' num2str(iview_B) ' must be an image'],checkrun)
    203         end
    204         i1_series_Civ1=i_series{1};i1_series_Civ2=i_series{1};
    205         i2_series_Civ1=i_series{1};i2_series_Civ2=i_series{1};
    206         if isempty(j_series{1})
    207             j1_series_Civ1=ones(size(i_series{1}));
    208             j2_series_Civ1=ones(size(i_series{1}));
    209         else
    210             j1_series_Civ1=j_series{1};
    211             j2_series_Civ1=j_series{1};
    212         end
    213         j1_series_Civ2=j1_series_Civ1;
    214         j2_series_Civ2=j2_series_Civ1;
    215         NomTypeNc=NomType_A;
    216         RootPath_B=Param.InputTable{2,1};
    217         RootFile_B=Param.InputTable{2,3};
    218         SubDir_B=Param.InputTable{2,2};
    219         NomType_B=Param.InputTable{2,4};
    220         FileExt_B=Param.InputTable{2,5};
     152                j2_series_Civ1=j_series{1};
     153            end
     154            i1_series_Civ2=i1_series_Civ1;
     155            j1_series_Civ2=j1_series_Civ1;
     156            j2_series_Civ2=j2_series_Civ1;
     157            NomTypeNc=NomType;
     158        case 'shift'
     159            i1_series_Civ1=i_series{1};i1_series_Civ2=i_series{1};
     160            i2_series_Civ1=i_series{1};i2_series_Civ2=i_series{1};
     161            if isempty(j_series{1})
     162                j1_series_Civ1=ones(size(i_series{1}));
     163                j2_series_Civ1=ones(size(i_series{1}));
     164            else
     165                j1_series_Civ1=j_series{1};
     166                j2_series_Civ1=j_series{1};
     167            end
     168            j1_series_Civ2=j1_series_Civ1;
     169            j2_series_Civ2=j2_series_Civ1;
     170            NomTypeNc=NomType_A;
    221171    end
    222172    if isempty(j_series{1})
     
    227177        FrameIndex_B_Civ1=j2_series_Civ1;
    228178    end
    229 end
    230 NbField=numel(i1_series_Civ1);
     179    if ~isempty(PairCiv2)
     180        i1_series_Civ2=i1_series_Civ2(~check_bounds);
     181        i2_series_Civ2=i2_series_Civ2(~check_bounds);
     182        j1_series_Civ2=j1_series_Civ2(~check_bounds);
     183        j2_series_Civ2=j2_series_Civ2(~check_bounds);
     184        if isempty(j_series{1})
     185            FrameIndex_A_Civ2=i1_series_Civ2;
     186            FrameIndex_B_Civ2=i2_series_Civ2;
     187        else
     188            FrameIndex_A_Civ2=j1_series_Civ2;
     189            FrameIndex_B_Civ2=j2_series_Civ2;
     190        end
     191    end
     192    if isempty(i1_series_Civ1)||(~isempty(PairCiv2) && isempty(i1_series_Civ2))
     193        disp_uvmat('ERROR','no image pair fo civ in the input file index range',checkrun)
     194        return
     195    end
     196end
     197
     198%% check the first image pair
     199try
     200    if Param.ActionInput.CheckCiv1% Civ1 is performed
     201        ImageName_A=fullfile_uvmat(RootPath_A,SubDir_A,RootFile_A,FileExt_A,NomType_A,i1_series_Civ1(1),[],j1_series_Civ1(1));
     202        if ~exist(ImageName_A,'file')
     203            disp_uvmat('ERROR',['first input image ' ImageName_A ' does not exist'],checkrun)
     204            return
     205        end
     206        [FileType_A,FileInfo_A,VideoObject_A]=get_file_type(ImageName_A);
     207        [par_civ1.ImageA,VideoObject_A] = read_image(ImageName_A,FileType_A,VideoObject_A,FrameIndex_A_Civ1(1));
     208        ImageName_B=fullfile_uvmat(RootPath_B,SubDir_B,RootFile_B,FileExt_B,NomType_B,i2_series_Civ1(1),[],j2_series_Civ1(1));
     209        if ~exist(ImageName_B,'file')
     210            disp_uvmat('ERROR',['first input image ' ImageName_B ' does not exist'],checkrun)
     211            return
     212        end
     213        [FileType_B,FileInfo_B,VideoObject_B]=get_file_type(ImageName_B);
     214        [par_civ1.ImageB,VideoObject_B] = read_image(ImageName_B,FileType_B,VideoObject_B,FrameIndex_B_Civ1(1));
     215        NbField=numel(i1_series_Civ1);
     216    elseif Param.ActionInput.CheckCiv2 % Civ2 is performed without Civ1
     217        ImageName_A=fullfile_uvmat(RootPath_A,SubDir_A,RootFile_A,FileExt_A,NomType_A,i1_series_Civ2(1),[],j1_series_Civ2(1));
     218        if ~exist(ImageName_A,'file')
     219            disp_uvmat('ERROR',['first input image ' ImageName_A ' does not exist'],checkrun)
     220            return
     221        end
     222        [FileType_A,FileInfo_A,VideoObject_A]=get_file_type(ImageName_A);
     223        [par_civ1.ImageA,VideoObject_A] = read_image(ImageName_A,FileType_A,VideoObject_A,FrameIndex_A_Civ2(1));
     224        ImageName_B=fullfile_uvmat(RootPath_B,SubDir_B,RootFile_B,FileExt_B,NomType_B,i2_series_Civ2(1),[],j2_series_Civ2(1));
     225        if ~exist(ImageName_B,'file')
     226            disp_uvmat('ERROR',['first input image ' ImageName_B ' does not exist'],checkrun)
     227            return
     228        end
     229        [FileType_B,FileInfo_B,VideoObject_B]=get_file_type(ImageName_B);
     230        [par_civ1.ImageB,VideoObject_B] = read_image(ImageName_B,FileType_B,VideoObject_B,FrameIndex_B_Civ2(1));
     231        NbField=numel(i1_series_Civ2);
     232    end
     233catch ME
     234    if ~isempty(ME.message)
     235        disp_uvmat('ERROR', ['error reading input image: ' ME.message],checkrun)
     236        return
     237    end
     238end
     239
    231240
    232241%% Output directory
     
    237246Data.Program='civ_series';
    238247Data.CivStage=0;%default
    239 ListVarCiv1={'Civ1_X','Civ1_Y','Civ1_U','Civ1_V','Civ1_C','Civ1_F'}; %variables to read
    240 ListVarFix1={'Civ1_X','Civ1_Y','Civ1_U','Civ1_V','Civ1_C','Civ1_F','Civ1_FF'};
    241 mask='';
     248% ListVarCiv1={'Civ1_X','Civ1_Y','Civ1_U','Civ1_V','Civ1_C','Civ1_F'}; %variables to read
     249% ListVarFix1={'Civ1_X','Civ1_Y','Civ1_U','Civ1_V','Civ1_C','Civ1_F','Civ1_FF'};
     250% mask='';
    242251maskname='';%default
    243252check_civx=0;%default
    244 check_civ1=0;%default
    245 check_patch1=0;%default
     253% check_civ1=0;%default
     254% check_patch1=0;%default
    246255
    247256%% get timing from the ImaDoc file or input video
     
    303312    if isfield (Param.ActionInput,'Civ1')
    304313        par_civ1=Param.ActionInput.Civ1;
    305         if isfield(par_civ1,'reverse_pair')% A REVOIR
    306             if par_civ1.reverse_pair
    307                 if ischar(par_civ1.ImageB)
    308                     temp=par_civ1.ImageA;
    309                     par_civ1.ImageA=imread(par_civ1.ImageB);
    310                 end
    311                 if ischar(temp)
    312                     par_civ1.ImageB=imread(temp);
    313                 end
    314             end
    315         else
     314        try
    316315            ImageName_A=fullfile_uvmat(RootPath_A,SubDir_A,RootFile_A,FileExt_A,NomType_A,i1_series_Civ1(ifield),[],j1_series_Civ1(ifield));
    317316            [par_civ1.ImageA,VideoObject_A] = read_image(ImageName_A,FileType_A,VideoObject_A,FrameIndex_A_Civ1(ifield));
    318317            ImageName_B=fullfile_uvmat(RootPath_B,SubDir_B,RootFile_B,FileExt_B,NomType_B,i2_series_Civ1(ifield),[],j2_series_Civ1(ifield));
    319318            [par_civ1.ImageB,VideoObject_B] = read_image(ImageName_B,FileType_B,VideoObject_B,FrameIndex_B_Civ1(ifield));
     319        catch ME
     320            if ~isempty(ME.message)
     321                disp_uvmat('ERROR', ['error reading input image: ' ME.message],checkrun)
     322                return
     323            end
    320324        end
    321325        par_civ1.ImageWidth=FileInfo_A.Width;
Note: See TracChangeset for help on using the changeset viewer.