Ignore:
Timestamp:
Sep 22, 2017, 12:33:16 PM (7 years ago)
Author:
sommeria
Message:

multimask introduced

File:
1 edited

Legend:

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

    r1007 r1010  
    276276
    277277%%%%% MAIN LOOP %%%%%%
    278 maskname='';% initiate the mask name
     278maskoldname='';% initiate the mask name
    279279FileType_A='';
    280280FileType_B='';
     
    440440        Data.VarAttribute{4}.Role='vector_y';
    441441        Data.VarAttribute{5}.Role='warnflag';
     442        % case of mask
    442443        if par_civ1.CheckMask&&~isempty(par_civ1.Mask)
    443             if strcmp(maskname,par_civ1.Mask)% mask exist, not already read in civ1
     444            if isfield(par_civ1,'NbSlice')
     445                [RootPath_mask,SubDir_mask,RootFile_mask,i1_mask,i2_mask,j1_mask,j2_mask,Ext_mask]=fileparts_uvmat(Param.ActionInput.Civ1.Mask);
     446                i1_mask=mod(i1-1,par_civ1.NbSlice)+1;
     447                maskname=fullfile_uvmat(RootPath_mask,SubDir_mask,RootFile_mask,Ext_mask,'_1',i1_mask);
     448            else
     449                maskname=Param.ActionInput.Civ1.Mask;
     450            end
     451            if strcmp(maskoldname,maskname)% mask exist, not already read in civ1
    444452                par_civ1.Mask=mask; %use mask already opened
    445453            else
    446454                try
    447                     par_civ1.Mask=imread(par_civ1.Mask);%update the mask, an store it for future use
     455                    par_civ1.Mask=imread(maskname);%update the mask, an store it for future use
    448456                catch ME
    449457                    if ~isempty(ME.message)
     
    454462                end
    455463                mask=par_civ1.Mask;
    456                 maskname=par_civ1.Mask;
     464                maskoldname=maskname;
    457465            end
    458466        end
     
    704712            end
    705713        end
    706         if par_civ2.CheckMask&&~isempty(par_civ2.Mask)
    707             if strcmp(maskname,par_civ2.Mask)% mask exist, not already read in civ1
     714        if par_civ2.CheckMask&&~isempty(par_civ2.Mask)       
     715            if isfield(par_civ2,'NbSlice')
     716                [RootPath_mask,SubDir_mask,RootFile_mask,i1_mask,i2_mask,j1_mask,j2_mask,Ext_mask]=fileparts_uvmat(Param.ActionInput.Civ2.Mask);
     717                i1_mask=mod(i1-1,par_civ2.NbSlice)+1;
     718                maskname=fullfile_uvmat(RootPath_mask,SubDir_mask,RootFile_mask,Ext_mask,'_1',i1_mask);
     719            else
     720                maskname=Param.ActionInput.Civ2.Mask;
     721            end
     722            if strcmp(maskoldname,maskname)% mask exist, not already read in civ1
    708723                par_civ2.Mask=mask; %use mask already opened
    709724            else
    710                 par_civ2.Mask=imread(par_civ2.Mask);%update the mask, and store it for future use
     725                try
     726                    par_civ2.Mask=imread(maskname);%update the mask, an store it for future use
     727                catch ME
     728                    if ~isempty(ME.message)
     729                        errormsg=['error reading input image: ' ME.message];
     730                        disp_uvmat('ERROR',errormsg,checkrun)
     731                        return
     732                    end
     733                end
    711734                mask=par_civ2.Mask;
    712                 maskname=par_civ2.Mask;
    713             end
    714         end
     735                maskoldname=maskname;
     736            end
     737        end
     738
    715739        if CheckInputFile % else Dt given by par_civ2
    716740            if strcmp(Param.ActionInput.ListCompareMode,'displacement')
Note: See TracChangeset for help on using the changeset viewer.