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 file
- fid = 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 file
- fid = fopen(['./' geometry_folder '/' density_filename],'wb');
- fwrite(fid,Geometry.data,'float');
- fclose(fid);
|