EMAN2
|
Classes | |
class | EMAN::TranslationalAligner |
Translational 2D Alignment using cross correlation. More... | |
class | EMAN::RotationalAligner |
rotational alignment using angular correlation More... | |
class | EMAN::RotateTranslateAligner |
rotational, translational alignment More... | |
class | EMAN::RotateFlipAligner |
rotational and flip alignment More... | |
class | EMAN::Refine3DAlignerGrid |
Refine alignment. More... | |
class | EMAN::Refine3DAlignerQuaternion |
Refine alignment. More... | |
class | EMAN::RT3DGridAligner |
rotational and translational alignment using a square qrid of Altitude and Azimuth values (the phi range is specifiable) This aligner is ported from the original tomohunter.py - it is less efficient than searching on the sphere (RT3DSphereAligner). More... | |
class | EMAN::RT3DSphereAligner |
3D rotational and translational alignment using spherical sampling, can reduce the search space based on symmetry. More... | |
class | EMAN::RT3DSymmetryAligner |
3D rotational symmetry aligner. More... | |
class | EMAN::CccCmp |
Compute the cross-correlation coefficient between two images. More... | |
class | EMAN::DotCmp |
Use dot product of 2 same-size images to do the comparison. More... | |
class | EMAN::TomoCccCmp |
This implements the technique of Mike Schmid where by the cross correlation is normalized in an effort to remove the effects of the missing wedge. More... | |
class | EMAN::TomoFscCmp |
This is a FSC comparitor for tomography. More... | |
class | EMAN::Rotate180Processor |
Rotate by 180 using pixel swapping, works for 2D only. More... | |
class | EMAN::TransformProcessor |
Transform the image using a Transform object. More... | |
class | EMAN::IntTranslateProcessor |
Translate the image an integer amount Uses EMData::clip_inplace (inplace) and EMData::get_clip (out of place) to do the translation. More... | |
class | EMAN::StandardProjector |
Fast real-space 3D projection. More... | |
class | EMAN::FourierReconstructor |
Fourier space 3D reconstruction The Fourier reconstructor is designed to work in an iterative fashion, where similarity ("quality") metrics are used to determine if a slice should be inserted into the 3D in each subsequent iteration. More... | |
Functions | |
EMAN::EMData::EMData (int nx, int ny, int nz=1, bool is_real=true) | |
EMAN::EMData::EMData (float *data, float *cudadata, const int nx, const int ny, const int nz, const Dict &attr_dict=Dict()) | |
Construction from a data pointer for usage in cuda, dimensions must be supplied. More... | |
EMAN::EMData::EMData (const EMData &that) | |
Construct from an EMData (copy constructor). More... | |
EMData & | EMAN::EMData::operator= (const EMData &that) |
EMData assignment operator Performs a deep copy. More... | |
EMData * | EMAN::EMData::calc_ccf (EMData *with=0, fp_flag fpflag=CIRCULANT, bool center=false) |
Calculate Cross-Correlation Function (CCF). More... | |
EMData * | EMAN::EMData::calc_ccfx (EMData *const with, int y0=0, int y1=-1, bool nosum=false, bool flip=false, bool usez=false) |
Calculate Cross-Correlation Function (CCF) in the x-direction and adds them up, result in 1D. More... | |
EMData * | EMAN::EMData::make_rotational_footprint (bool unwrap=true) |
Makes a 'rotational footprint', which is an 'unwound' autocorrelation function. More... | |
EMData * | EMAN::EMData::unwrap (int r1=-1, int r2=-1, int xs=-1, int dx=0, int dy=0, bool do360=false, bool weight_radial=true) const |
Maps to polar coordinates from Cartesian coordinates. More... | |
void | insert_clip (const EMData *const block, const IntPoint &origin) |
Insert a clip into this image. More... | |
Calculate Cross-Correlation Function (CCF).
Calculate the correlation of two 1-, 2-, or 3-dimensional images. Note: this method internally just calls the correlation function from fundamentals.h.
[in] | with | The image used to calculate the CCF. If 'with' is NULL, the autocorrelation function is computed instead. |
[in] | fpflag | Specify how periodicity (or normalization) should be handled. See fundamentals.h The default is "CIRCULANT". for specific flags. |
center | whether or not to center the image (bring bottom left corner to center) |
ImageDimensionException | if nx > 1 and nx < 2*radius + 1 |
Definition at line 1499 of file emdata.cpp.
References calc_ccf_cuda(), calc_conv_cuda(), EMAN::EMData::clip_inplace(), ENTERFUNC, EXITFUNC, is_complex(), EMAN::EMData::nx, EMAN::EMData::ny, and EMAN::EMData::nz.
Referenced by EMAN::EMData::calc_ccf_masked(), EMAN::EMData::calc_flcf(), EMAN::TomoCccCmp::cmp(), EMAN::EMData::make_rotational_footprint(), EMAN::RT2Dto3DTreeAligner::testort(), EMAN::RT3DTreeAligner::testort(), EMAN::RT3DGridAligner::xform_align_nbest(), EMAN::RT3DSphereAligner::xform_align_nbest(), EMAN::RT2DTreeAligner::xform_align_nbest(), EMAN::RT2Dto3DTreeAligner::xform_align_nbest(), and EMAN::RT3DTreeAligner::xform_align_nbest().
EMData * EMData::calc_ccfx | ( | EMData *const | with, |
int | y0 = 0 , |
||
int | y1 = -1 , |
||
bool | nosum = false , |
||
bool | flip = false , |
||
bool | usez = false |
||
) |
Calculate Cross-Correlation Function (CCF) in the x-direction and adds them up, result in 1D.
WARNING: this routine will modify the 'this' and 'with' to contain 1D fft's without setting some flags. This is an optimization for rotational alignment.
with | The image used to calculate CCF. |
y0 | Starting position in x-direction. |
y1 | Ending position in x-direction. '-1' means the end of the row. |
nosum | If true, returns an image y1-y0+1 pixels high. |
usez | If true, will convert each line in the CCF stack to a Z value, indicating its relative strength as a predictor of alignment |
NullPointerException | If input image 'with' is NULL. |
ImageFormatException | If 'with' and 'this' are not same size. |
ImageDimensionException | If 'this' image is 3D. |
Definition at line 1628 of file emdata.cpp.
References calc_ccf_cuda(), cuda_dd_fft_complex_to_real_nd(), cuda_dd_fft_real_to_complex_nd(), EMAN::EMData::EMData(), emdata_column_sum(), ENTERFUNC, EXITFUNC, get_data(), get_ndim(), ImageDimensionException, ImageFormatException, is_complex_x(), EMAN::EMUtil::is_same_size(), LOGERR, NullPointerException, EMAN::EMData::nx, EMAN::EMData::ny, EMAN::EMData::nz, sqrt(), x, and y.
Referenced by EMAN::RotationalAligner::align_180_ambiguous(), and EMAN::EMData::make_footprint().
EMData::EMData | ( | const EMData & | that | ) |
Construct from an EMData (copy constructor).
Performs a deep copy
that | the EMData to copy |
Definition at line 134 of file emdata.cpp.
References EMAN::EMUtil::em_malloc(), EMAN::EMUtil::em_memcpy(), EMAN::EMData::EMData(), ENTERFUNC, EMAN::EMData::nx, EMAN::EMData::ny, EMAN::EMData::nz, EMAN::EMData::rdata, EMAN::EMData::rot_fp, EMAN::EMData::totalalloc, and UnexpectedBehaviorException.
EMAN::EMData::EMData | ( | float * | data, |
float * | cudadata, | ||
const int | nx, | ||
const int | ny, | ||
const int | nz, | ||
const Dict & | attr_dict = Dict() |
||
) |
Construction from a data pointer for usage in cuda, dimensions must be supplied.
Takes possession of the pointer. data pointer must be allocated using malloc!
data | a pointer to the pixel data which is stored in memory. Takes possession |
cudadata | a pointer to the pixel data which is stored in cudamemory. Takes possession |
nx | the number of pixels in the x direction |
ny | the number of pixels in the y direction |
nz | the number of pixels in the z direction |
EMData::EMData | ( | int | nx, |
int | ny, | ||
int | nz = 1 , |
||
bool | is_real = true |
||
) |
For complex image, the user would specify the real-space dimensions.
nx | size for x dimension |
ny | size for y dimension |
nz | size for z dimension, default 1 |
is_real | boolean to specify real(true) or complex(false) image, default real |
Definition at line 221 of file emdata.cpp.
References EMAN::EMData::attr_dict, ENTERFUNC, EXITFUNC, is_real(), EMAN::EMData::nx, EMAN::EMData::ny, EMAN::EMData::nz, set_size(), to_zero(), EMAN::EMData::totalalloc, and update().
void insert_clip | ( | const EMData *const | block, |
const IntPoint & | origin | ||
) |
Insert a clip into this image.
Very robust clip insertion code works in all way you might think possible
block | An image block. |
origin | The origin location to insert the clip. ( ) |
EMData * EMData::make_rotational_footprint | ( | bool | unwrap = true | ) |
Makes a 'rotational footprint', which is an 'unwound' autocorrelation function.
generally the image should be edge-normalized and masked before using this.
unwrap | RFP undergoes polar->cartesian x-form |
ImageFormatException | If image size is not even. |
Definition at line 1862 of file emdata.cpp.
References EMAN::EMData::calc_ccf(), EMAN::EMData::EMData(), ENTERFUNC, EXITFUNC, EMAN::EMData::rot_fp, EMAN::EMData::unwrap(), and EMAN::EMData::update_stat().
Referenced by EMAN::RotationalAligner::align_180_ambiguous().
EMData assignment operator Performs a deep copy.
that | the EMData to copy |
Definition at line 173 of file emdata.cpp.
References EMAN::EMData::all_translation, EMAN::EMData::attr_dict, EMAN::EMData::changecount, EMAN::EMUtil::em_memcpy(), EMAN::EMData::EMData(), ENTERFUNC, EXITFUNC, EMAN::EMData::flags, free_memory(), EMAN::EMData::nx, EMAN::EMData::ny, EMAN::EMData::nz, EMAN::EMData::path, EMAN::EMData::pathnum, EMAN::EMData::rdata, EMAN::EMData::rot_fp, set_size(), UnexpectedBehaviorException, EMAN::EMData::xoff, EMAN::EMData::yoff, and EMAN::EMData::zoff.
EMData * EMData::unwrap | ( | int | r1 = -1 , |
int | r2 = -1 , |
||
int | xs = -1 , |
||
int | dx = 0 , |
||
int | dy = 0 , |
||
bool | do360 = false , |
||
bool | weight_radial = true |
||
) | const |
Maps to polar coordinates from Cartesian coordinates.
Optionaly radially weighted. When used with RFP, this provides roughly 1 pixel accuracy at 50% radius. 2D only.
r1 | inner ring (all rings less than r1 are discarded) Default = 4 |
r2 | outer ring (all rings > r2 are discarded) Default = ny/2 - 2 - floor(hyp(dx,dy)) |
xs | Number of angular bins. Default = (2 if do360) PI * ny/4 - xs % 8 |
dx | origin offset in x |
dy | origin offest in y |
do360 | If true, do 0-360 degree mapping. Otherwise, do 0-180 degree mapping. |
weight_radial | if true (default) reights the pixel value by its radius |
ImageDimensionException | If 'this' image is not 2D. |
UnexpectedBehaviorException | if the dimension of this image and the function arguments are incompatibale - i.e. the return image is less than 0 in some dimension. |
Definition at line 2596 of file emdata.cpp.
References EMAN::Util::bilinear_interpolate(), EMAN::Util::calc_best_fft_size(), EMAN::EMData::EMData(), emdata_unwrap(), ENTERFUNC, EXITFUNC, EMAN::Util::fast_floor(), get_const_data(), get_ndim(), ImageDimensionException, EMAN::EMData::nx, EMAN::EMData::ny, UnexpectedBehaviorException, x, and y.
Referenced by EMAN::EMData::make_rotational_footprint(), EMAN::EMData::make_rotational_footprint_cmc(), and EMAN::EMData::make_rotational_footprint_e1().