From 3fc60640f9d26ac5d192a16a6df766c3cc850073 Mon Sep 17 00:00:00 2001 From: Loriane Weber Date: Mon, 5 Sep 2016 17:57:28 +0200 Subject: [PATCH] Add the readme (README_SimuPBI_3WiresPhant_func.txt), and make some minor changes to the function SimuPBI_3WiresPhant_func.m --- README_SimuPBI_3WiresPhant_func.txt | 113 ++++++++++++++++++++++++++++ SimuPBI_3WiresPhant_func.m | 11 ++- 2 files changed, 122 insertions(+), 2 deletions(-) create mode 100644 README_SimuPBI_3WiresPhant_func.txt diff --git a/README_SimuPBI_3WiresPhant_func.txt b/README_SimuPBI_3WiresPhant_func.txt new file mode 100644 index 0000000..b669791 --- /dev/null +++ b/README_SimuPBI_3WiresPhant_func.txt @@ -0,0 +1,113 @@ +## SimuPBI_circle_func: function that launches the phase-contrast simulation of a single wire, of a material defined by the user. +# In this file, I detailed all the input and output arguments, followed by one or several examples (one line beginning with a %) +## Author: Loriane Weber +## Created: 2016-02-11 + +## Example of use : +## SimuPBI_3WirePhant_func('Analytical', 2, 'test', [0 0.1 0.5], 19, 2.7, 300, 180, 1, 0, '', 'gaussian', 35) + +## Please note that dir_out, noise_type, noise_amount are optional arguments. + +################################################ +############### INPUT parameters ############### +################################################ + +######### Parameter related to the computation - and names of the result ######### + +## 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') ?) +## use the strings 'Radon' OR 'Analytical' +## be careful, octave is case-sensitive. +%vers = 'Analytical' +%vers = 'Radon' + +## oversamp: is a number that defines the oversampling of the projections in the real domain. +## use the number 2 or 4 only +%oversamp = 2 +%oversamp = 4 + +## basename_output: is a string that contains the basename of the resulting files. +## use a string, of your choice. +%basename_output = 'Test' + +######### Parameter related to the physics ######### + +## dist is a vector, which contains the propagation distances, expressed in meters. +## use a vector, beggining and ending with a square bracket; the distances should be separated by a space. Use a point as decimal mark. +% dist = [0 0.01 0.1 0.20 0.50] + +## energy refers to the energy of the incoming X-ray beam, expressed in keV. +## use a float (if decimal, the decimal mark should be a point). +# in the following example, the energy is set to 19 keV and 17.5 keV. +% energy = 19 +% energy = 17.5 + +## ps refers to the physical pixel size of the detector, expressed in microns. +## use a float (if decimal, the decimal mark should be a point). +# in the following example, the pixel size is set to 1 um and 3.5 um. +% ps = 1 +% ps= 3.5 + +## nbproj refers to the number of (equally-angled) projections simulated. +## use an integer +%nbProj=360 + +## range_angle refers to the angular range of the tomography (either 180 or 360 degrees). +## use 180 or 360. +% range_angle = 180 +% range_angle = 360 + +## 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. +## should be equal to 0 or 1 +% model_ctf = 1 +% model_ctf = 0 + +## model_Fresnel refers to the Fresnel propagation model. Use 1 if you want to simulate propagation with the fresnel model, or 0 otherwise. +## should be equal to 0 or 1 +% model_Fresnel = 1 +% model_Fresnel = 0 + + +############# Parameters related to the object ############# +## in this case, the obejct is a three wire phantom, described in [Frachon, Weber et al., PMB, 2016]. +## height of the object. If height == 1, the simulation is computed in 1D. If height >=2 , the simulation turns into 2D. +%height=10; + +################################ +############# OPTIONAL Parameters +################################ + +## dir_out is a string referring to the output directory +## By default, the output directory is the working directory. default value is ''. +% dir_out='/mntdirect/_users/lweber/Matlab/SimulationsPBI/Results_Circle' + + +## noise_type is a string, referring to the type of noise you want to add to the simulated projections. +## Use 'gaussian' for addition of gaussian noise, 'poisson' for generation of Poisson noise, or '' for no noise. +## the default value is '' (no noise) +% noise_type='gaussian' + + +## noise_amount is a number (integer or float) referring to the amount of noise. It is defined depending on the type of noise: +## For additive Gaussian noise, noise_amount is the Peak-to-Peak Signal-to-Noise Ratio (PPSNR), expressed in dB. +## The default value for additive gaussian noise is 35 dB (noise_amount = 35). +% noise_amount = 40 + +## For Poisson noise, noise_amount refer to the percentage of noise. +## The default value is 5% (noise_amount=0.05). +% noise_amount = 0.15 +## !! note that poisson noise is here not implemented yet + +####################################################### +############### End of INPUT parameters ############### +####################################################### + +################################################# +############### OUTPUT parameters ############### +################################################# + +## None, files are directly save in the output directory (variable out_dir) + +######################################################## +############### End of OUTPUT parameters ############### +######################################################## + diff --git a/SimuPBI_3WiresPhant_func.m b/SimuPBI_3WiresPhant_func.m index 094fce7..65b550f 100644 --- a/SimuPBI_3WiresPhant_func.m +++ b/SimuPBI_3WiresPhant_func.m @@ -67,8 +67,15 @@ addpath(genpath('octave_packages')) %range_angle=180; ## Which model do you want to use for the propagation? use 1 or 0 -%model_ctf=0; -%model_Fresnel=1; +## 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. +## should be equal to 0 or 1 +% model_ctf = 1 +% model_ctf = 0 + +## model_Fresnel refers to the Fresnel propagation model. Use 1 if you want to simulate propagation with the fresnel model, or 0 otherwise. +## should be equal to 0 or 1 +% model_Fresnel = 1 +% model_Fresnel = 0 ################################ ############# Parameters related to the object -- 2.45.0