Home » Source Code » Simulation of sampling to obtain 360 degree projection data

Simulation of sampling to obtain 360 degree projection data

2014-05-20 12:16:31
The author
Download(s): 0
Point (s): 1 
Category Category:
DataData MatlabMatlab


360-degree 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

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
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 32-bit and 64-bit 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.m1.19 kB2011-01-27 14:25
compute_one_projection_method_2.m1.98 kB2011-01-27 14:29
compute_one_projection_method_3.m2.45 kB2011-01-27 14:25
compute_projections.m4.53 kB2011-01-27 15:01
create_CSV_file_for_OSCaR.m1.14 kB2011-01-26 16:08
load_all_projection_images.m650.00 B2011-01-26 13:36
make_sure_positive.m768.00 B2011-01-27 14:44
proj44.png28.04 kB2011-01-27 14:56
project_1_point_to_a_line.m1.02 kB2011-01-27 14:26
readme.txt2.53 kB2011-01-27 15:06
sort_ts1_ts2.c1.19 kB2011-01-27 14:25
sort_ts1_ts2.mexw326.00 kB2011-01-27 14:21
sort_ts1_ts2.mexw647.50 kB2011-01-25 23:00
straight_line_integral.m3.22 kB2011-01-27 14:24
straight_line_integral_2.m3.18 kB2011-01-27 14:26
straight_line_integral_inner.c2.55 kB2011-01-27 14:25
straight_line_integral_inner.mexw327.50 kB2011-01-27 14:21
straight_line_integral_inner.mexw649.00 kB2011-01-27 14:21
license.txt1.28 kB2014-02-12 13:22
Sponsored links


(Add your comment, get 0.1 Point)
Minimum:15 words, Maximum:160 words
  • 1
  • Page 1
  • Total 1

Simulation of sampling to obtain 360 degree projection data (51.52 kB)

Need 1 Point(s)
Your Point (s)

Your Point isn't enough.

Get 22 Point immediately by PayPal

Point will be added to your account automatically after the transaction.

More(Debit card / Credit card / PayPal Credit / Online Banking)

Submit your source codes. Get more Points


Don't have an account? Register now
Need any help?
Mail to: support@codeforge.com


CodeForge Chinese Version
CodeForge English Version

Where are you going?

^_^"Oops ...

Sorry!This guy is mysterious, its blog hasn't been opened, try another, please!

Warm tip!

CodeForge to FavoriteFavorite by Ctrl+D