Xmipp
v3.23.11-Nereus
|
#include <phantom.h>
Public Member Functions | |
void | prepare () |
void | assign (const Blob &F) |
int | point_inside (const Matrix1D< double > &r, Matrix1D< double > &aux) const |
double | density_inside (const Matrix1D< double > &r, Matrix1D< double > &aux) const |
Feature * | scale (double factor) const |
__attribute__ ((deprecated)) void scale(double factor | |
double | intersection (const Matrix1D< double > &direction, const Matrix1D< double > &passing_point, Matrix1D< double > &r, Matrix1D< double > &u) const |
double | volume () const |
void | read_specific (char *line) |
void | read_specific (const std::vector< double > &vect) |
void | feat_printf (FILE *fh) const |
void | feat_printm (MetaData &MD, size_t id) |
void | init_rnd (double minradius, double maxradius, double minalpha, double maxalpha, double minorder, double maxorder, double minden=1.0, double maxden=1.0, double minx0=0, double maxx0=0, double miny0=0, double maxy0=0, double minz0=0, double maxz0=0) |
Public Member Functions inherited from Feature | |
void | assign (const Feature &F) |
virtual void | rotate (const Matrix2D< double > &E) |
virtual void | rotate_center (const Matrix2D< double > &E) |
int | point_inside (const Matrix1D< double > &r) const |
int | voxel_inside (const Matrix1D< double > &r, Matrix1D< double > &aux1, Matrix1D< double > &aux2) const |
int | voxel_inside (const Matrix1D< double > &r) const |
double | voxel_inside_by_normalized_density (const Matrix1D< double > &r, Matrix1D< double > &aux1, Matrix1D< double > &aux2) const |
int | intersects_sphere (const Matrix1D< double > &r, double radius, Matrix1D< double > &aux1, Matrix1D< double > &aux2, Matrix1D< double > &aux3) const |
int | intersects_sphere (const Matrix1D< double > &r, double radius) const |
Feature * | encircle (double radius=0) const |
Feature * | background (int back_mode, double back_param) const |
double | intersection (const Matrix1D< double > &direction, const Matrix1D< double > &passing_point) const |
void | mean_variance_in_plane (Image< double > *V, double z, double &mean, double &var) |
void | project_to (Projection &P, const Matrix2D< double > &VP, const Matrix2D< double > &PV) const |
void | corners (const MultidimArray< double > &V, Matrix1D< double > &corner1, Matrix1D< double > &corner2) |
void | draw_in (MultidimArray< double > &V, int color_mode=INTERNAL, double colour=-1) |
void | sketch_in (MultidimArray< double > &V, double colour=2) |
void | shift (double shiftX, double shiftY, double shiftZ) |
void | selfApplyGeometry (const Matrix2D< double > &A) |
void | readCommon (char *line) |
void | readCommon (MDRow &row) |
void | read (MDRow &row) |
Public Attributes | |
double | radius |
Blob radius. More... | |
double | alpha |
Blob alpha. More... | |
int | m |
Feature **_f | const |
Public Attributes inherited from Feature | |
std::string | type |
char | add_assign |
double | density |
Matrix1D< double > | center |
double | max_distance |
Friends | |
std::ostream & | operator<< (std::ostream &o, const Blob &f) |
Blobs. The blobs are defined by its center, radius, alpha and m (bessel function order). The label is "blo".
A point (r) in the universal coordinate system, where blobs are defined in general, can be expressed (rp) with respect to a system where the blob is centered at the origin and its radius is unity by
Directions (free vectors) are transformed in the same fashion except that for the first vector subtraction (referring to the origin).
Blob::__attribute__ | ( | (deprecated) | ) |
Another function for return a scaled Blob.
Another function for assignment.
Definition at line 113 of file phantom.cpp.
|
virtual |
Density inside a blob. This function tells you the density of the blob at point r
Implements Feature.
Definition at line 708 of file phantom.cpp.
|
virtual |
Print blob in the standard feature format. \ See {Feature::feat_printf}, Phantoms
Implements Feature.
Definition at line 421 of file phantom.cpp.
|
virtual |
Implements Feature.
Definition at line 430 of file phantom.cpp.
void Blob::init_rnd | ( | double | minradius, |
double | maxradius, | ||
double | minalpha, | ||
double | maxalpha, | ||
double | minorder, | ||
double | maxorder, | ||
double | minden = 1.0 , |
||
double | maxden = 1.0 , |
||
double | minx0 = 0 , |
||
double | maxx0 = 0 , |
||
double | miny0 = 0 , |
||
double | maxy0 = 0 , |
||
double | minz0 = 0 , |
||
double | maxz0 = 0 |
||
) |
Generate a random blob. A sphere is generated randomly within the range of the parameters given. Notice that most of them are set by default. The exact parameters are picked uniformly from the range. The maximum distance is adjusted properly according to the randomly generated feature. 'den' stands for density and (x0,y0,z0) is the center of the feature. The behaviour of the new sphere is always Add
Definition at line 1702 of file phantom.cpp.
|
virtual |
Intersection of a ray with a blob. See Feature::intersection to know more about the parameters meaning.
Implements Feature.
Definition at line 1121 of file phantom.cpp.
Speeded up point inside a blob. This function tells you if a point is inside the blob or not. See Feature::point_inside
Implements Feature.
Definition at line 701 of file phantom.cpp.
|
virtual |
Prepare blob for work. Computes the maximum distance, in this case, equal to "radius"
Implements Feature.
Definition at line 49 of file phantom.cpp.
void Blob::read_specific | ( | char * | line | ) |
Read specific description for a blob. An exception is thrown if the line doesn't conform the standard specification. See Feature::read_specific
Definition at line 239 of file phantom.cpp.
|
virtual |
Read a feature from a file, VIRTUAL!!!. The format must be the one given in Phantoms, and each subclass must implement its own I/O routines. These routines must fill only the non common part of the feature description, but they receive the whole line with the description.
Implements Feature.
Definition at line 248 of file phantom.cpp.
|
virtual |
Return a scaled Blob. The center, density, and behaviour of the new blob is exactly the same as the actual one. The radius is multiplied by the scale factor and the maximum distance is recalculated for the new sphere. Alpha is kept constant
Implements Feature.
Definition at line 1502 of file phantom.cpp.
|
virtual |
Mass of a Blob. This function returns mass inside a blob. 3 is the dimension See Feature::volume
Implements Feature.
Definition at line 258 of file phantom.cpp.
Show feature not in the standard format but more informatively. This function only shows the non common part of the feature. Use the << operator of Feature to show the whole feature.
Definition at line 606 of file phantom.cpp.