Changeset 790 for trunk/src/read_rdvision.m
- Timestamp:
- Jul 2, 2014, 9:30:32 AM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/read_rdvision.m
r785 r790 1 function [A,FileInfo,timestamps ]=read_rdvision(filename,frame_idx)1 function [A,FileInfo,timestamps,errormsg]=read_rdvision(filename,frame_idx) 2 2 % BINREAD_RDV Permet de lire les fichiers bin générés par Hiris à partir du 3 3 % fichier seq associé. … … 21 21 % NB_FRAMES : Nombres d'images dans la séquence. 22 22 23 23 errormsg=''; 24 24 if nargin<2% no frame indices specified 25 25 frame_idx=-1;% all the images in the series are read … … 27 27 A=[]; 28 28 timestamps=[]; 29 s=ini2struct(filename); 29 [PathDir,RootFile,Ext]=fileparts(filename); 30 RootPath=fileparts(PathDir); 31 switch 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'; 40 end 41 if ~exist(filename_seq,'file') 42 errormsg=[filename_seq ' does not exist']; 43 return 44 end 45 s=ini2struct(filename_seq); 30 46 FileInfo=s.sequenceSettings; 47 if isfield(s.sequenceSettings,'numberoffiles') 48 FileInfo.NumberOfFrames=str2double(s.sequenceSettings.numberoffiles); 49 FileInfo.FrameRate=str2double(s.sequenceSettings.framepersecond); 50 FileInfo.ColorType='grayscale'; 51 else 52 FileInfo.FileType=''; 53 return 54 end 55 FileInfo.FileType='rdvision'; % file used to store info from image acquisition systems of rdvision 56 nbfield=numel(fieldnames(FileInfo)); 57 FileInfo=orderfields(FileInfo,[nbfield nbfield-1 nbfield-2 (1:nbfield-3)]); %reorder the fields of fileInfo for clarity 31 58 32 59 % read the images the input frame_idxis not empty … … 37 64 bin_file=FileInfo.binfile; 38 65 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'; ... 44 67 'uint32' [1 1] 'garbage1';... 45 68 'double' [1 1] 'timestamp';... … … 61 84 for i=1:length(frame_idx) 62 85 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)); 64 87 fid=fopen(binfile,'rb'); 65 88 fseek(fid,data(ii).offset,-1);
Note: See TracChangeset
for help on using the changeset viewer.