Ignore:
Timestamp:
Jul 2, 2014, 9:30:32 AM (10 years ago)
Author:
sommeria
Message:

read_rdvision corrected to get both cameras

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/read_rdvision.m

    r785 r790  
    1 function [A,FileInfo,timestamps]=read_rdvision(filename,frame_idx)
     1function [A,FileInfo,timestamps,errormsg]=read_rdvision(filename,frame_idx)
    22% BINREAD_RDV Permet de lire les fichiers bin générés par Hiris à partir du
    33% fichier seq associé.
     
    2121%   NB_FRAMES   : Nombres d'images dans la séquence.
    2222
    23 
     23errormsg='';
    2424if nargin<2% no frame indices specified
    2525   frame_idx=-1;% all the images in the series are read
     
    2727A=[];
    2828timestamps=[];
    29 s=ini2struct(filename);
     29[PathDir,RootFile,Ext]=fileparts(filename);
     30RootPath=fileparts(PathDir);
     31switch Ext
     32    case '.seq'
     33        filename_seq=filename;
     34        filename_sqb=fullfile(PathDir,[RootFile '.sqb']);
     35    case '.sqb'
     36        filename_seq=fullfile(PathDir,[RootFile '.seq']);
     37        filename_sqb=filename;
     38    otherwise
     39        errormsg='input file extension must be .seq or .sqb';
     40end
     41if ~exist(filename_seq,'file')
     42    errormsg=[filename_seq ' does not exist'];
     43    return
     44end
     45s=ini2struct(filename_seq);
    3046FileInfo=s.sequenceSettings;
     47if isfield(s.sequenceSettings,'numberoffiles')
     48    FileInfo.NumberOfFrames=str2double(s.sequenceSettings.numberoffiles);
     49    FileInfo.FrameRate=str2double(s.sequenceSettings.framepersecond);
     50    FileInfo.ColorType='grayscale';
     51else
     52    FileInfo.FileType='';
     53    return
     54end
     55FileInfo.FileType='rdvision'; % file used to store info from image acquisition systems of rdvision
     56nbfield=numel(fieldnames(FileInfo));
     57FileInfo=orderfields(FileInfo,[nbfield nbfield-1 nbfield-2 (1:nbfield-3)]); %reorder the fields of fileInfo for clarity
    3158
    3259% read the images the input frame_idxis not empty
     
    3764    bin_file=FileInfo.binfile;
    3865    nb_frames=str2double(FileInfo.numberoffiles);
    39    
    40     [bin_dir,f]=fileparts(filename);
    41    
    42     sqb_file=fullfile(bin_dir,[f '.sqb']);
    43     m = memmapfile(sqb_file,'Format', { 'uint32' [1 1] 'offset'; ...
     66    m = memmapfile(filename_sqb,'Format', { 'uint32' [1 1] 'offset'; ...
    4467        'uint32' [1 1] 'garbage1';...
    4568        'double' [1 1] 'timestamp';...
     
    6184    for i=1:length(frame_idx)
    6285        ii=frame_idx(i);
    63         binfile=fullfile(bin_dir,sprintf('%s%.5d.bin',bin_file,data(ii).file_idx));
     86        binfile=fullfile(RootPath,FileInfo.binrepertoire,sprintf('%s%.5d.bin',bin_file,data(ii).file_idx));
    6487        fid=fopen(binfile,'rb');
    6588        fseek(fid,data(ii).offset,-1);
Note: See TracChangeset for help on using the changeset viewer.