Ignore:
Timestamp:
May 6, 2013, 6:49:54 PM (11 years ago)
Author:
sommeria
Message:

generalisation of update_imadoc, improverment of the GUI get_field

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/update_imadoc.m

    r499 r630  
    11%'update_imadoc': update an xml file with geometric calibration parameters
    22%--------------------------------------------------------------------------
    3 %  function update_imadoc(GeometryCalib,outputfile)
     3%  function update_imadoc(Struct,outputfile)
    44%
    55%INPUT:
    6 % GeometryCalib: structure containing the calibration parameters
     6% Struct: structure containing the calibration parameters
    77% outputfile: xml file to modify
     8% StructName : Name of the field in the xml file
    89%-------------------------------------------------------------
    9 function errormsg=update_imadoc(GeometryCalib,outputfile)
     10function errormsg=update_imadoc(Struct,outputfile,StructName)
    1011errormsg='';
    1112testappend=0;
     
    2930        testappend=1;
    3031        %if the xml file is  ImaDoc
    31         uid_calib=find(t,'ImaDoc/GeometryCalib');
    32         if isempty(uid_calib)  %if GeometryCalib does not already exists, create it
    33             [t,uid_calib]=add(t,1,'element','GeometryCalib');
    34         else %if GeometryCalib already exists, delete its content
     32        uid_calib=find(t,['ImaDoc/' StructName]);
     33        if isempty(uid_calib)  %if Struct does not already exists, create it
     34            [t,uid_calib]=add(t,1,'element',StructName);
     35        else %if Struct already exists, delete its content
    3536            uid_child=children(t,uid_calib);
    3637            t=delete(t,uid_child);
     
    4445    t=set(t,1,'name','ImaDoc');
    4546    % in case of movie (avi file), copy timing info in the new xml file
    46     [pp,outputroot]=fileparts(outputfile);
     47%    [pp,outputroot]=fileparts(outputfile);
    4748    %     imainfo=[];
    48     if exist(fullfile(pp,[outputroot '.avi']),'file')
    49         FileName=fullfile(pp,[outputroot '.avi']);
    50         hhh=which('videoreader');
    51         if isempty(hhh)%use old video function of matlab
    52             imainfo=aviinfo(FileName);
    53             imainfo.FrameRate=imainfo.FramesPerSecond;
    54             imainfo.NumberOfFrames=imainfo.NumFrames;
    55         else %use video function videoreader of matlab
    56             imainfo=get(videoreader(FileName));
    57         end
    58         if ~isempty(imainfo)
    59             [t,uid_camera]=add(t,1,'element','Camera');
    60             Camera.TimeUnit='s';
    61             Camera.BurstTiming.Time=0;
    62             Camera.BurstTiming.Dti=1/imainfo.FrameRate;
    63             Camera.BurstTiming.NbDti=imainfo.NumberOfFrames-1;
    64             t=struct2xml(Camera,t,uid_camera);
    65         end
    66     end
    67     [t,uid_calib]=add(t,1,'element','GeometryCalib');
     49%     if exist(fullfile(pp,[outputroot '.avi']),'file')
     50%         FileName=fullfile(pp,[outputroot '.avi']);
     51%         hhh=which('videoreader');
     52%         if isempty(hhh)%use old video function of matlab
     53%             imainfo=aviinfo(FileName);
     54%             imainfo.FrameRate=imainfo.FramesPerSecond;
     55%             imainfo.NumberOfFrames=imainfo.NumFrames;
     56%         else %use video function videoreader of matlab
     57%             imainfo=get(videoreader(FileName));
     58%         end
     59%         if ~isempty(imainfo)
     60%             [t,uid_camera]=add(t,1,'element','Camera');
     61%             Camera.TimeUnit='s';
     62%             Camera.BurstTiming.Time=0;
     63%             Camera.BurstTiming.Dti=1/imainfo.FrameRate;
     64%             Camera.BurstTiming.NbDti=imainfo.NumberOfFrames-1;
     65%             t=struct2xml(Camera,t,uid_camera);
     66%         end
     67%     end
     68    [t,uid_calib]=add(t,1,'element',StructName);
    6869end
    6970
    7071%% save the output file
    71 t=struct2xml(GeometryCalib,t,uid_calib);
     72t=struct2xml(Struct,t,uid_calib);
    7273save(t,outputfile);
Note: See TracChangeset for help on using the changeset viewer.