Simulation of sampling to obtain 360 degree projection data



Description360degree projection simulation of sampling to obtain data by iradon transform it processes directly get the slice Cone beam CT simulationBy:Deshan Yang, PhD
Department of radiation oncology, school of medicine, Washington University in Saint Louis Email: dyang@radonc.wustl.edu Files: compute_projections.m  the main program, to compute all projection and save the 2D projection images into a folder compute_one_projection.m  Called by the main program to compute only one projection image straight_line_integral.m  The core function to compute a line integral through a 3D matrix A lot of lines are commented out in this file because the file was originally written in MATLAB only, and laterly rewritten into c for speed improvement. straight_line_integral_inner.c  This is what rewritten in C from the straight_line_integral.m sort_ts1_ts2.c  A utility function to combine two sorted array into one sorted array. It is written in c to improve the speed create_CSV_file_for_OSCaR.m  To create the CSV file which is used in OSCaR CBCT reconstruction (http://www.cs.utoronto.ca/~nrezvani/OSCaR.html) However, OSCaR does not support the saved mat data files without modification. I have the modified OSCaR functions. load_all_projection_images.m  Loading all projection images from a folder into a 3D volume make_sure_positive.m  A small utility function Binary files: *.mexw32, *.mexw64 The compiled binary MEX files for 32bit and 64bit windows Other files:  For different ways to compute projections. They are not in use anymore because they are either much slower or less accurate How to setup the 3D data: You need to prepare an image 3D volume as the digital phantom (or patient, or object, whatever you call it). For this main function: compute_projections(xs,ys,zs,data3d,mode,output_folder) xs: the x coordinates of the image pixels in an array ys: the y coordinates of the image pixels in an array zs: the z coordinates of the image pixels in an array xs, ys and zs should be centered at [0,0,0] which is the CBCT isocenter. About computation performance: The straight_line_integral function is partially written in c. It is very accurate and fairly fast. The computation of projection implemented here is both faster and more accurate than the radon transformation code in MATLAB. For a 3D matrix (512x512x176), it takes about 35 seconds to compute one 2D projection in resolution of 512x384 on a DELL with 2.33 GHz CPU. Computation does not need a lot of RAM from my understanding. 
Sponsored links
File list
Tips: You can preview the content of files by clicking file names^_^Name  Size  Date 

compute_one_projection.m  1.19 kB  20110127 14:25 
compute_one_projection_method_2.m  1.98 kB  20110127 14:29 
compute_one_projection_method_3.m  2.45 kB  20110127 14:25 
compute_projections.m  4.53 kB  20110127 15:01 
create_CSV_file_for_OSCaR.m  1.14 kB  20110126 16:08 
load_all_projection_images.m  650.00 B  20110126 13:36 
make_sure_positive.m  768.00 B  20110127 14:44 
proj44.png  28.04 kB  20110127 14:56 
project_1_point_to_a_line.m  1.02 kB  20110127 14:26 
readme.txt  2.53 kB  20110127 15:06 
sort_ts1_ts2.c  1.19 kB  20110127 14:25 
sort_ts1_ts2.mexw32  6.00 kB  20110127 14:21 
sort_ts1_ts2.mexw64  7.50 kB  20110125 23:00 
straight_line_integral.m  3.22 kB  20110127 14:24 
straight_line_integral_2.m  3.18 kB  20110127 14:26 
straight_line_integral_inner.c  2.55 kB  20110127 14:25 
straight_line_integral_inner.mexw32  7.50 kB  20110127 14:21 
straight_line_integral_inner.mexw64  9.00 kB  20110127 14:21 
license.txt  1.28 kB  20140212 13:22 
Sponsored links
Comments
(Add your comment, get 0.1 Point)
Minimum:15 words, Maximum:160 words
 1
 Page 1
 Total 1