- Timestamp:
- Dec 11, 2014, 12:23:10 AM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/series/extract_rdvision.m
r840 r841 78 78 check_dir=cell2mat(ListCells(4,:));% =1 for directories, =0 for files 79 79 ListDir=ListCells(1,find(check_dir & ~check_bad)); 80 InputTable=cell( 1,5);81 %InputTable(:,2)=ListDir';80 InputTable=cell(numel(ListDir),5); 81 InputTable(:,2)=ListDir'; 82 82 isel=0; 83 83 for ilist=1:numel(ListDir) … … 91 91 isel=isel+1; 92 92 InputTable{isel,1}=RootPath; 93 InputTable{isel,2}=ListDir{ilist};94 93 RootFile=regexprep(ListCellSub{1,seq_index},'.seq$',''); 95 94 InputTable{isel,3}=RootFile; 96 InputTable{isel,4}='*'; 95 end 96 InputTable{isel,4}='*'; 97 97 InputTable{isel,5}='.seq'; 98 end99 100 98 end 101 99 hseries=findobj(allchild(0),'Tag','series');% find the parent GUI 'series' … … 271 269 [success,message]=copyfile(filexml,[filexml '~']);%make backup 272 270 if success~=1 273 di spl(['errror in xml file backup: ' message]);271 dips(['errror in xml file backup: ' message]); 274 272 return 275 273 end … … 368 366 BitDepth=8*SeqData.bytesperpixel;%needed to write images (8 or 16 bits) 369 367 binrepertoire=fullfile(PathDir,SeqData.binrepertoire); 370 OutputDir=fullfile(PathDir,SeqData.sequencename); 368 tic 369 OutputDir=fullfile(PathDir,SeqData.sequencename) 371 370 if exist(OutputDir,'dir') 372 371 errormsg=[OutputDir ' already exist, delete it first']; … … 377 376 return%not able to create new image dir 378 377 end 379 fid=0;380 378 for ii=1:SeqData.nb_frames 381 OutputFile=fullfile_uvmat(PathDir,SeqData.sequencename,'img','.png',NomTypeNew,i1,[],j1);% TODO: set NomTypeNew from SeqData.mode 382 if ~exist(OutputFile,'file') 383 fname=fullfile(binrepertoire,sprintf('%s%.5d.bin',SeqData.binfile,SqbData(ii).file_idx)); 384 if fid==0 || ~strcmp(fname,fname_prev) % open the bin file if not in use 385 if fid~=0 386 fclose(fid);%close the previous bin file 387 end 388 fid=fopen(fname,'rb'); 389 fseek(fid,SqbData(ii).offset,-1);%look at the right starting place in the bin file 390 NbBinFile=NbBinFile+1;%counter of binary files (for checking purpose) 391 BinSize(NbBinFile)=0;% strat counter for new bin file 392 else 393 % 394 % fid=fopen(fname,'rb');% open the new bin file 395 % fseek(fid,SqbData(ii).offset,-1);%look at the right starting place in the bin file 396 end 379 OutputFile=fullfile_uvmat(PathDir,SeqData.sequencename,'img','.png',NomTypeNew,i1,[],j1);% TODO: set NomTypeNew from SeqData.mode 380 fname=fullfile(binrepertoire,sprintf('%s%.5d.bin',SeqData.binfile,SqbData(ii).file_idx)); 381 if ii==1 || ~strcmp(fname,fname_prev) % open the bin file if not in use 382 fid=fopen(fname,'rb'); 397 383 fseek(fid,SqbData(ii).offset,-1);%look at the right starting place in the bin file 398 fname_prev=fname; 399 A=reshape(fread(fid,SeqData.width*SeqData.height,classname),SeqData.width,SeqData.height);%read the current image 400 A=A'; 401 BinSize(NbBinFile)=BinSize(NbBinFile)+SeqData.width*SeqData.height*SeqData.bytesperpixel*8; %record bits read 402 j1=[]; 403 if ~isequal(nbfield2,1) 404 j1=mod(ii-1,nbfield2)+1; 405 end 406 i1=floor((ii-1)/nbfield2)+1; 384 NbBinFile=NbBinFile+1;%counter of binary files (for checking purpose) 407 385 408 try 409 imwrite(A,OutputFile,'BitDepth',BitDepth) % case of 16 bit images 410 disp([OutputFile ' written']); 411 % [s,errormsg] = fileattrib(OutputFile,'-w','a'); %set images to read only '-w' for all users ('a') 412 % if ~s 413 % % disp_uvmat('ERROR',errormsg,checkrun); 414 % return 415 % end 416 catch ME 417 errormsg=ME.message; 418 return 419 end 386 BinSize(NbBinFile)=0;% strat counter for new bin file 387 else 388 fclose(fid);%close the previous bin file 389 fid=fopen(fname,'rb');% open the new bin file 390 fseek(fid,SqbData(ii).offset,-1);%look at the right starting place in the bin file 391 end 392 fname_prev=fname; 393 A=reshape(fread(fid,SeqData.width*SeqData.height,classname),SeqData.width,SeqData.height);%read the current image 394 A=A'; 395 BinSize(NbBinFile)=BinSize(NbBinFile)+SeqData.width*SeqData.height*SeqData.bytesperpixel*8; %record bits read 396 j1=[]; 397 if ~isequal(nbfield2,1) 398 j1=mod(ii-1,nbfield2)+1; 399 end 400 i1=floor((ii-1)/nbfield2)+1; 401 try 402 imwrite(A,OutputFile,'BitDepth',BitDepth) % case of 16 bit images 403 disp([OutputFile ' written']); 404 % [s,errormsg] = fileattrib(OutputFile,'-w','a'); %set images to read only '-w' for all users ('a') 405 % if ~s 406 % % disp_uvmat('ERROR',errormsg,checkrun); 407 % return 408 % end 409 catch ME 410 errormsg=ME.message; 411 return 420 412 end 421 413 end 422 414 fclose(fid) 423 415 toc 424 416 425 417
Note: See TracChangeset
for help on using the changeset viewer.