Changeset 931 for trunk/src/uvmat.m
- Timestamp:
- Mar 13, 2016, 6:29:07 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/uvmat.m
r924 r931 1273 1273 RootPath=read_file_boxes(hhuvmat); 1274 1274 1275 OutPutDir=uigetfile_uvmat('choose an image folder to calibratewith slice position?',fileparts(RootPath),'uigetdir');1276 OutPut=browse_data(OutPutDir );1275 OutPutDir=uigetfile_uvmat('choose an image folder to document with slice position?',fileparts(RootPath),'uigetdir'); 1276 OutPut=browse_data(OutPutDir,'off','on'); 1277 1277 nbcalib=0; 1278 1278 for ilist=1:numel(OutPut.Experiment) 1279 SubDirBase=regexprep(OutPut.DataSeries{1},'\..+$',''); 1280 XmlFile=fullfile(OutPut.Campaign,OutPut.Experiment{ilist},[SubDirBase '.xml']); 1281 1282 % read the current xml file 1283 [s,errormsg]=imadoc2struct(XmlFile,'GeometryCalib'); 1284 if ~isempty(errormsg) 1285 msgbox_uvmat('ERROR',['error in reading ' XmlFile ': ' errormsg]) 1286 return 1287 end 1288 GeometryCalib=s.GeometryCalib; 1289 GeometryCalib.NbSlice=SliceData.NbSlice; 1290 GeometryCalib.CheckVolumeScan=SliceData.CheckVolumeScan; 1291 Z_plane=linspace(SliceData.Z(1),SliceData.Z(2),SliceData.NbSlice); 1292 GeometryCalib.SliceCoord=Z_plane'*[0 0 1]; 1293 GeometryCalib.SliceAngle=zeros(GeometryCalib.NbSlice,3); 1294 Angle_1=linspace(SliceData.SliceAngle_1(1),SliceData.SliceAngle_1(2),SliceData.NbSlice); 1295 Angle_2=linspace(SliceData.SliceAngle_2(1),SliceData.SliceAngle_2(2),SliceData.NbSlice); 1296 GeometryCalib.SliceAngle(:,1)=Angle_1';%rotation around x axis (to generalise) 1297 GeometryCalib.SliceAngle(:,2)=Angle_2';%rotation around y axis (to generalise) 1298 GeometryCalib.SliceAngle(:,3)=0; 1299 if SliceData.CheckRefraction 1300 GeometryCalib.InterfaceCoord=[0 0 SliceData.H]; 1301 GeometryCalib.RefractionIndex=SliceData.RefractionIndex; 1302 elseif isfield(GeometryCalib,'RefractionIndex') 1303 GeometryCalib=rmfield(GeometryCalib,'RefractionIndex'); 1304 GeometryCalib=rmfield(GeometryCalib,'InterfaceCoord'); 1305 end 1306 1307 % update the current xml file 1308 errormsg=update_imadoc(GeometryCalib,XmlFile,'GeometryCalib');% introduce the calibration data in the xml file 1309 if ~strcmp(errormsg,'') 1310 msgbox_uvmat('ERROR',errormsg); 1311 else 1312 display([XmlFile ' updated with slice positions']) 1313 nbcalib=nbcalib+1; 1279 for idevice=1:numel(OutPut.DataSeries) 1280 SubDirBase=regexprep(OutPut.DataSeries{idevice},'\..+$',''); 1281 XmlFile=fullfile(OutPut.Campaign,OutPut.Experiment{ilist},[SubDirBase '.xml']); 1282 1283 % read the current xml file 1284 if exist(XmlFile,'file') 1285 [s,errormsg]=imadoc2struct(XmlFile,'GeometryCalib'); 1286 if ~isempty(errormsg) 1287 msgbox_uvmat('ERROR',['error in reading ' XmlFile ': ' errormsg]) 1288 return 1289 end 1290 GeometryCalib=s.GeometryCalib; 1291 GeometryCalib.NbSlice=SliceData.NbSlice; 1292 GeometryCalib.CheckVolumeScan=SliceData.CheckVolumeScan; 1293 Z_plane=linspace(SliceData.Z(1),SliceData.Z(2),SliceData.NbSlice); 1294 GeometryCalib.SliceCoord=Z_plane'*[0 0 1]; 1295 GeometryCalib.SliceAngle=zeros(GeometryCalib.NbSlice,3); 1296 Angle_1=linspace(SliceData.SliceAngle_1(1),SliceData.SliceAngle_1(2),SliceData.NbSlice); 1297 Angle_2=linspace(SliceData.SliceAngle_2(1),SliceData.SliceAngle_2(2),SliceData.NbSlice); 1298 GeometryCalib.SliceAngle(:,1)=Angle_1';%rotation around x axis (to generalise) 1299 GeometryCalib.SliceAngle(:,2)=Angle_2';%rotation around y axis (to generalise) 1300 GeometryCalib.SliceAngle(:,3)=0; 1301 if SliceData.CheckRefraction 1302 GeometryCalib.InterfaceCoord=[0 0 SliceData.H]; 1303 GeometryCalib.RefractionIndex=SliceData.RefractionIndex; 1304 elseif isfield(GeometryCalib,'RefractionIndex') 1305 GeometryCalib=rmfield(GeometryCalib,'RefractionIndex'); 1306 GeometryCalib=rmfield(GeometryCalib,'InterfaceCoord'); 1307 end 1308 1309 % update the current xml file 1310 errormsg=update_imadoc(GeometryCalib,XmlFile,'GeometryCalib');% introduce the calibration data in the xml file 1311 if ~strcmp(errormsg,'') 1312 msgbox_uvmat('ERROR',errormsg); 1313 else 1314 display([XmlFile ' updated with slice positions']) 1315 nbcalib=nbcalib+1; 1316 end 1317 end 1314 1318 end 1315 1319 end
Note: See TracChangeset
for help on using the changeset viewer.