1 ## SimuPBI_circle_func: function that launches the phase-contrast simulation of a single wire, of a material defined by the user.
2 # In this file, I detailed all the input and output arguments, followed by one or several examples (one line beginning with a %)
3 ## Author: Loriane Weber <loriane.weber@creatis.insa-lyon.fr>
7 ## SimuPBI_circle_func('Analytical', 2, 'test', [0 0.1 0.5], 19, 2.7, 300, 180, 1, 1, 0.89, 8.265, 100, 500, [200 250], '', 'gaussian', 35)
9 ## Please note that dir_out, noise_type, noise_amount are optional arguments.
11 ################################################
12 ############### INPUT parameters ###############
13 ################################################
15 ######### Parameter related to the computation - and names of the result #########
17 ## vers: is a string that defines the way to compute the projections. (ie: are the projections calculated analytically (vers = 'Analytical') or using the Radon transform (vers = 'Radon') ?)
18 ## use the strings 'Radon' OR 'Analytical'
19 ## be careful, octave is case-sensitive.
23 ## oversamp: is a number that defines the oversampling of the projections in the real domain.
24 ## use the number 2 or 4 only
28 ## basename_output: is a string that contains the basename of the resulting files.
29 ## use a string, of your choice.
30 %basename_output = 'Test'
32 ######### Parameter related to the physics #########
34 ## dist is a vector, which contains the propagation distances, expressed in meters.
35 ## use a vector, beggining and ending with a square bracket; the distances should be separated by a space. Use a point as decimal mark.
36 % dist = [0 0.01 0.1 0.20 0.50]
38 ## energy refers to the energy of the incoming X-ray beam, expressed in keV.
39 ## use a float (if decimal, the decimal mark should be a point).
40 # in the following example, the energy is set to 19 keV and 17.5 keV.
44 ## ps refers to the physical pixel size of the detector, expressed in microns.
45 ## use a float (if decimal, the decimal mark should be a point).
46 # in the following example, the pixel size is set to 1 um and 3.5 um.
50 ## nbproj refers to the number of (equally-angled) projections simulated.
54 ## range_angle refers to the angular range of the tomography (either 180 or 360 degrees).
59 ## model_ctf refers to the Contrast Transfer Function propagation model. use 1 if you want to simulate propagation with the CTF model, or 0 otherwise.
60 ## should be equal to 0 or 1
64 ## model_Fresnel refers to the Fresnel propagation model. Use 1 if you want to simulate propagation with the fresnel model, or 0 otherwise.
65 ## should be equal to 0 or 1
70 ############# Parameters related to the circle #############
72 ## mu_mat and delta_mat refer to the physical parameters of the material of the wire
73 ## mu_mat is a float, corresponding to the linear attenuation coefficient of the material, expressed in cm-1. use the point as decimal mark.
74 ## delta_mat is a float, corresponding to the refractive index decrement of the material (real part of the refractive index), expressed in 10^-7. use the point as decimal mark.
75 ## Below is an example for PET (polyEthylene Terephtalate) at 19 keV. the linear attenuation coefficient of PET at 19 keV is equal to 0.89889 cm-1,
76 ## and the refractive index decrement delta to 8.265*10^-7.
80 ## R_circle denotes the radius of the wire, expressed in pixels. Should be an integer
81 # example : a radius of 50 pixel
84 ## size_image denotes the size of the reconstructed image, expressed in pixels. The image is supposedly square.
85 # example: an image of 500 pix * 500 pix.
88 ## circle_center is a vector referring to the 2D-coordinates of the center of the wire (in pixels).
89 ## The vector should begin and end by square brackets and the coordinates are separated by a space
90 % circle_center = [200 250]; % 2D coordinates of the center
92 ################################
93 ############# OPTIONAL Parameters
94 ################################
96 ## dir_out is a string referring to the output directory
97 ## By default, the output directory is the working directory. default value is ''.
98 % dir_out='/mntdirect/_users/lweber/Matlab/SimulationsPBI/Results_Circle'
101 ## noise_type is a string, referring to the type of noise you want to add to the simulated projections.
102 ## Use 'gaussian' for addition of gaussian noise, 'poisson' for generation of Poisson noise, or '' for no noise.
103 ## the default value is '' (no noise)
104 % noise_type='gaussian'
107 ## noise_amount is a number (integer or float) referring to the amount of noise. It is defined depending on the type of noise:
108 ## For additive Gaussian noise, noise_amount is the Peak-to-Peak Signal-to-Noise Ratio (PPSNR), expressed in dB.
109 ## The default value for additive gaussian noise is 35 dB (noise_amount = 35).
112 ## For Poisson noise, noise_amount refer to the percentage of noise.
113 ## The default value is 5% (noise_amount=0.05).
114 % noise_amount = 0.15
117 #######################################################
118 ############### End of INPUT parameters ###############
119 #######################################################
121 #################################################
122 ############### OUTPUT parameters ###############
123 #################################################
125 ## None, files are directly save in the output directory (variable out_dir)
127 ########################################################
128 ############### End of OUTPUT parameters ###############
129 ########################################################