| 123456789101112131415161718192021222324252627282930313233343536 | function save_geometry2(Geometry,geometry_folder,header_filename,density_filename)% saves the Geometry file without the beam data in its matlab format to % files that are readable by a C-version of the convolution code.  % The results are all saved in binary files so that no truncation errors % occur in the numbers.warning off MATLAB:MKDIR:DirectoryExists% load GeometryCT.mat;  % load the Matlab kernels, which look like:% Geometry = % %          start: [-24.0128 -24.0128 -1.5000]%     voxel_size: [0.3752 0.3752 0.3000]%           data: [128x128x10 float]%           beam: [1x1 struct]  % the beam field is not used by this file%mkdir(geometry_folder);% density grid dimensions[Xcount,Ycount,Zcount] = size(Geometry.data);% create the geometry header filefid = fopen([geometry_folder '/' header_filename],'w');fprintf(fid,'Xcount Ycount Zcount\n');fprintf(fid,'%g %g %g\n',Xcount,Ycount,Zcount);fprintf(fid,'Xstart Ystart Zstart\n');fprintf(fid,'%4.20E %4.20E %4.20E\n',double(Geometry.start(1)),double(Geometry.start(2)),double(Geometry.start(3)));fprintf(fid,'dx dy dz\n');fprintf(fid,'%4.20E %4.20E %4.20E\n',double(Geometry.voxel_size(1)),double(Geometry.voxel_size(2)),double(Geometry.voxel_size(3)));fclose(fid);% save the density data to a binary filefid = fopen([geometry_folder '/' density_filename],'wb');fwrite(fid,Geometry.rhomw,'float');fclose(fid);
 |