-
Notifications
You must be signed in to change notification settings - Fork 1
Random_phantom
This program allows you to generate phantom descriptions randomly from a set of given feature families. The random feature families are given as a phantom description file and the realization chosen is returned as another phantom description file. The final purpose of this program is to provide a simple way of generating different phantoms of the same fashion, so you may develop tests statistically significant and phantom independent.
This program also may report on the statistical distribution of the mass and the projection power of the phantom family at hand.
$ create_random_phantom ...
Parameters
- `` The input phantom description file must have couples of features of the same type defining a family of features using the minimum and maximum representant of the family (see the examples to see how)
- `` The output phantom file describes a realization of the random phantom family.
-
-min_volume [min_volume
0] = Random features have a minimum volume (in voxel units), by default this volume is 0, that means that any feature is accepted - `` The feature density values are forced to be integers
- `` The distance between the feature centers are equal or greater that
distance
- `` The feature centers are placed at a distance non greater than
radius
from the volume centee - `` No output phantom realization is generated, instead
[N]
realizations are computed and the mass distribution and the distribution of the sqrt of the power of the projection along a random direction are shown in the screen. If a ctf is given then all projections are affected by this CTF and the power is measured at the output of the CTF. If the target_SNR option is provided, then the apropriate noise power (the one that must be used by xmipp_microscope) is computed. - ``
- ``
- It is very important that in couples the feature types and
+/
= behaviour is the same, if they aren't the program is stopped
Here you have an example to generate a set of phantoms with two cylinders along theZ
axis with randomZ
position and height. One of the cylinders has got a random density between 1 and 2. Notice that you can give a scale factor as usual in the phantom descriptions. Notice also that the minimum volume of the features is 18 (=6*3) so they are big enough and you don't need to specify a minimum volume.
Contents ofrandom_cylinders.descr
:
# Random Phantom description file
# General Volume Parameters:
# Xdim Ydim Zdim Background_Density Scale
65 65 65 0 0.5
# Feature Parameters:
#Type +/= Density X_Center Y_Center Z_Center radius height rot tilt psi
# Random Cylinder 1 at ( 10,0,z) with -5<=z<=5, xradius=yradius=6 and 3<=height<=10, density=1
cyl + 1 10 0 -5 6 6 3 0 0 0
cyl + 1 10 0 5 6 6 10 0 0 0
# Random Cylinder 2 at (-10,0,z) with -5<=z<=5, xradius=yradius=6 and 3<=height<=10, 1<=density<=2
cyl + 1 -10 0 -5 6 6 3 0 0 0
cyl + 2 -10 0 5 6 6 10 0 0 0
$ create_random_phantom -i random_cylinders.descr -o phantom.dat
The content ofphantom.dat
after running the program is
#Phantom Xdim Ydim Zdim Background density
33 33 33 0.000000
#Type +/= Density X_Center Y_Center Z_Center
cyl + 1.0000 5.00 0.00 -1.97 3.00 3.00 3.45 0.00 0.00 0.00
cyl + 1.1067 -5.00 0.00 0.28 3.00 3.00 1.52 0.00 0.00 0.00
To compute the apropriate noise power that should be added to a given volume (or volume family) to obtain in average a desired SNR, you must issue (in the following example the average will be computed over 1000 64x64 projections without CTF):
$ create_random_phantom -i volume.vol -stats 1000 -Xdim 64 -target_SNR 0.3333
The program will compute the standard deviation of the noise needed so that the given SNR is achieved in average. To know more about the computation of this standard deviation you may want to seeHttp://xmipp.cnb.uam.es/NewXmipp/Demo/Data_generation/index#Measuring%20noiseThis.
--Main.AlfredoSolano - 29 Jan 2007