Skip to content

Random_phantom

Adrian Quintana edited this page Dec 11, 2017 · 1 revision

create_random_phantom

Purpose

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.

Usage


$ 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_volume0] = 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 thatdistance
  • `` The feature centers are placed at a distance non greater thanradius 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.
  • ``
  • ``

Examples and notes

  • 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

Clone this wiki locally