-
Notifications
You must be signed in to change notification settings - Fork 1
Recons_test
This program allows you to make a whole reconstruction process: it starts generating a random phantom given a random family of phantoms, then it is projected following a projection specification file, these projections are reconstructed using either ART, SIRT or WBP, and the reconstruction is evaluated against the random generated phantom. This process is called a reconstruction test. What this program really allows you is to make reconstruction measure (a measure is a set of tests whose number is also given in the reconstruction test parameters), and the results of the measure is the mean value of the results for the particular tests. There are several ways of understanding the results:
-
Training
Only the training FOM is returned together with the standard deviation associated to the set of tests. Valid FOM measures are structural consistency L1 and L2 norms of error over the whole volume (scL1, scL2), over the background (scL10, scL20), over the feature (scL11, scL21) or over both but weighted by the number of voxels on each region (scL1w, scL2w) -
Maximum Resolution
A final filter is optional for ART and SIRT, while it is compulsory for WBP . See
Radermacher, Weighted backprojection methods. J. Frank (Ed) Electron Tomography. Plenum Press A conservative approximation to this value is
max_resolution-1 (normalized to 0.5)= object_size(A)*delta_ang(rad)/(2*sampling_rate(A/pixel))
$ phantom_test_reconstruction ...
Parameters
- `` File containing the information for the test
-
-training [training_FOM
scL21] = Only a structural evaluation is performed and only the value of the training FOM is returned. Valid training FOMs are:- ``
- ``
- ``
- ``
- ``
- ``
- ``
- ``
- `` If several tests are performed using this option you avoid rewriting the files of one test with the results of the other. This option is not recommended due to the high amount of information used for each reconstruction.
Structure of parameters file
-
reconstruction method
[reconstruction method] = Reconstruction method (ART, SIRT, SIRT_Spider, WBP, Fourier) -
random sort
TRUE = Random sort of projections (only valid for ART). If you don't want it remove the line, don't writeFALSE
-
phantom family
[random phantom filename] = File with the Random phantom description -
voxel phantom
[Xmipp volume] = Or file with a fixed voxel phantom. Only one of the two must be present -
projection parameters
[projection parameters filename] = File with the Projection parameters -
crystal parameters
[projection parameters filename] = File with the Crystal Projection parameters -
tomography
yes = In tomography mode, the rotational angle is always random within a tomography series -
measurement number
[MeasNo=-1] = Number of tests to be considered a reliable measurement. Every measure on the set of parameters given below is compound of a number of tests, the mean of these tests is returned -
accuracy
[acc= -
unluckiness
[probability=0.01] = However, when training you may not know how many tests you want. In this case, you may select a desired accuracy for the training FOM estimation. That means that we want to have an estimation of the tFOM with an accuracy at least of aacc%
taking into account that we may have picked a very unlikely sample with probabilityunluckiness
-
global radius
[Global_radius=-1] = Global radius for evaluation (-1=automatically set to CEIL(Proj_Xdim/2) -
max resolution
[maximum_resolution=-1] = Maximum resolution expected (between 0 and 0.5). After each reconstruction the volume is filtered to this frequency -
final symmetry file
[fn_sym] = Final symmetry file. After each reconstruction the volume is symmetrized with this file -
top surface
[ztop0] [ztopF] = -
bottom surface
[zbottom0] [zbottomF] = Parameters for generating a surface mask, you can supply the top, bottom or both -
segmented surface
[threshold] = -
segmented dilation
[size of the dilation] = If you want to generate a surface extracted from the original phantom by thresholding it and dilating the result apply -
succesive parameters
yes = -
iterative parameters
[lambda1_0] [no_it1_0][lambda1_F] [no_it1_F] = -
iterative parameters
[lambda2_0] [no_it2_0][lambda2_F] [no_it2_F] = -
``
-
Reconstruction parameters:
- for ART, SIRT:
lambda
,no_it
- for WBP:
threshold
- for Fourier:
pad_proj
,=pad_vol=
Where =_0= stands for initial and =_F= for final. if final values are provided then random parameters are generated with a log uniform distribution between these boundaries. If succesive parameters are set ON, then the different iterative parameters are understood as the ranges for the different iterations. The number of iterations is, in this case, useless and the actual number of iterations is the number of succesive parameters
- for ART, SIRT:
-
``
-
threshold
[threshold1] = -
threshold
[threshold2] = -
pad_proj
[p=2]= Projection pad factor for Fourier reconstruction -
pad_vol
[p=2]= Volume pad factor for Fourier reconstruction -
stop at
[no images] = Stop after this number of images has been presented -
blob type
(big | small | visual) = Blob type (the grid is also adjusted) -
voxel basis
yes = Use voxels as reconstruction basis instead of blobs -
symmetry file
[symfile] = Symmetry file, if any -
no_symproj
yes = Do not symmetrize projections -
force symmetry
[times=0] = Reinforce the symmetry at volumetric level -
reconstruction radius
[R=-1] = Interest radius for the ART algorithm -
sort last
[N=2] = Sort projections with ortogonality criterion using the lastN
projections. IfN
-1=, with all previously selected images -
mass
[mass in voxels=-1] = Maximum number of voxels that the reconstructed volume is allowed to have above 0 -
start from phantom
yes = Start from filtered phantom. The initial volume is a lowpass filtered version of the phantom -
starting noise
[sigma=0] = Add noise to the phantom before filtering -
starting lowpass
[wdig] = Lowpass filter cutoff digital frequency (<1/2) -
enable normalization
yes = Enable normalization simulation. First a linear(y
ax+b)= transformation is applied to each image and then it is normalized -
a avg
[a_avg] = Only if enabled.a
follows a gaussian distribution with these parameters -
a stddev
[a_stddev] = -
b avg
[b_avg] =b
follows a gaussian distribution with these parameters -
b stddev
[b_stddev] = -
normalizing method
OldXmipp | Near_OldXmipp | NewXmipp | Michael = -
background radius
[bg_radius] = -
POCS positivity
yes = WithNewXmipp normalization you can ask for positivity constraint = -
highpass cutoff
[dig_freq] = 2D filter applied to the images0<dig_freq<0.5
-
CTF
[CTF description file] = Microscope parameters. -
defocus change
[val=0= -
noise stddev
[stddev=0] = -
noise lowpass before CTF
[w=0] = -
correct CTF phase
yes = CTF correction. If the CTF phase is corrected an image called as the CTF input file plus =_phase_corrected= is created with the CTF after the phase correction -
correct CTF amplitude
yes = -
idr_iterations
[idr_it] = Notice that[idr_it]+1
reconstructions will be done -
mu
[mu] | [[mu0],[mu1], ...] = Relaxation values for IDR iterations -
muF
[mu] | []muF0],[muF1]>, ...] = If given, IDR relaxation values are randomly picked in the region[[Mu0],[muF0]][[mu1],[muF1]]
... -
dont evaluate
yes = Don't evaluate the reconstructions -
only structural
yes = Evaluate only the structural FOMs (faster option) -
alternative evaluation phantom
[alternative phantom] = If the next option is provided, then the reconstruction will be evaluated using this second phantom instead of the projected one -
smooth evaluation mask
[Xmipp volume] = Apply this smooth mask before evaluating
-
File generation
This program generates a set of files associated to the several parts of the process (let's suppose that the projection filename seed is g0ta and the extension.xmp
:-
Random Phantom Generation
-
g0ta.descr
randomly picked phantom description
-
-
Projections
-
g0ta*.xmp
all projections -
g0ta.sel
selection file for all projections
-
-
Surface generation
-
g0ta_top_surface.xmp
top surface (if to be generated) -
g0ta_bottom_surface.xmp
bottom surface (if to be generated) -
g0ta_mask.vol
top and bottom surfaces combined as it is applied to the reconstruction process
-
-
Reconstruction
-
g0ta.vol
Xmipp voxel volume reconstruction -
g0ta.hist
reconstruction history
-
-
Evaluation
-
g0ta_eval_shape.plot
GNUplot compatible file with the density shape as a function of distance -
g0ta_eval_slice_histog.img
Xmipp image with the slice histograms
-
-
Random Phantom Generation
Here you have an example of use
projection.param
Project taking angles from a document file
# Volume and projection files --------------------------------
# volume description file or volume file
g0ta.descr
# projection seed, first projection number (by default, 1) and extension
# (the two last are optional)
g0ta 1 xmp
# Y and X projection dimensions
40 40
#
# Angle Definitions ------------------------------------------
NULL
# Angle ranges
# rotational angle
0 360 10 random
-90 90 10 random
0
#
# Noise description ------------------------------------------
# noise (and bias) applied to rotational angle
5
# noise (and bias) applied to tilting angle
5
# noise (and bias) applied to psi angle
5
# Noise (and bias) applied to pixels
10
# Noise (and bias) applied to particle center coordenates
2
random_dcyl.descr
Random phantom family
# Random Phantom description file
# General Volume Parameters:
# Xdim Ydim Zdim Background_Density
40 40 40 0
# Feature Parameters:
#Type +/= Density X_Center Y_Center Z_Center radius height separation rot tilt psi
dcy + 1 -5 -5 -5 5 5 3 0 0 0
dcy + 1 5 5 5 8 8 6 0 0 0
recons_test.param
# Reconstruction method (ART, SIRT, WBP)
reconstruction method=ART
# Random phantom filename
phantom family=random_dcyl.descr
# Projection parameters
projection parameters=projection.param
# Number of tests to be considered a reliable measurement
measurement number=6
# Reconstruction parameters
# ART, SIRT: lambda, no_it
iterative parameters=0.005 1
iterative parameters=0.015 1
iterative parameters=0.025 1
iterative parameters=0.035 1
The command to perform the measures would be
$ phantom_test_reconstruction -i recons_test.param -training
and the output would be something of the like
Test 0: lambda= 0.005 no_it= 1 ---> 0.772863+-0.0264538
Test 1: lambda= 0.015 no_it= 1 ---> 0.747071+-0.0289265
Test 2: lambda= 0.025 no_it= 1 ---> 0.717942+-0.0263433
Test 3: lambda= 0.035 no_it= 1 ---> 0.682241+-0.0297349
If a full evaluation has to be done
$ phantom_test_reconstruction -i recons_test.param
and the output would be something of the like
Test 0: lambda= 0.0320000 no_it= 1
scL2: 0.983790+-0.00167975
scL1: 0.940930+-0.00402315
scmu: 0.987391+-0.00256149
scdev: 0.960598+-0.0238571
scrange: 0.838366+-0.0329013
scL20: 0.989035+-0.000524050
scL10: 0.950335+-0.00206734
scmu0: 0.974382+-0.00324133
scdev0: 0.861135+-0.00124233
scrange0: 0.464115+-0.00707649
scL21: 0.906349+-0.00862752 ; This is the value returned when training by default
scL11: 0.805787+-0.0130292
scmu1: 0.805924+-0.0132247
scdev1: 0.809593+-0.00860387
scrange1: 0.510456+-0.0388274
hsvr: 4.23771+-0.0525347
hsmu: 42.6576+-8.78198
hsbr: 26.0388+-6.59763
hsdt: 0.998906+-0.000220214
drrt: 0.923149+-0.00548132
dsbl: 300.371+-5.70755
dsad: 0.153834+-0.00740181
If you want to perform an optimization scheme with different lambdas for each iteration then the Input file could look like this
# Reconstruction method (ART, SIRT, WBP)
reconstruction method=ART
# Random phantom filename
phantom family=random_dcyl.descr
# Projection parameters
projection parameters=projection.param
# Number of tests to be considered a reliable measurement
measurement number=6
# Reconstruction parameters
# ART, SIRT: lambda, no_it
succesive parameters=yes
iterative parameters=0.5 1 1 1 # Lambda between 0.5 and 1 for the first iteration
iterative parameters=0.25 2 0.5 2 # Lambda between 0.25 and 0.5 for the second iteration
iterative parameters=0.125 3 0.25 3 # Lambda between 0.125 and 0.25 for the third iteration
iterative parameters=0.065 4 0.125 4 # Lambda between 0.065 and 0.125 for the fourth iteration
Only one test is performed but with 4 iterations with the given ranges.
--Main.AlfredoSolano - 29 Jan 2007