EMAN2
|
FourierPixelInserter3D class defines a way a continuous pixel in 3D is inserted into the discrete 3D volume - there are various schemes for doing this including simply finding the nearest neighbor to more elaborate schemes that involve interpolation using the nearest 8 voxels and so on. More...
#include <reconstructor_tools.h>
Public Member Functions | |
FourierPixelInserter3D () | |
Construct a FourierPixelInserter3D. More... | |
virtual | ~FourierPixelInserter3D () |
Desctruct a FourierPixelInserter3D. More... | |
TypeDict | get_param_types () const |
virtual bool | insert_pixel (const float &xx, const float &yy, const float &zz, const std::complex< float > dt, const float &weight=1.0)=0 |
Insert a complex pixel [dt[0]+dt[1]i] at (float) coordinate [xx,yy,zz] with weighting into a discrete 3D volume. More... | |
virtual void | init () |
Public Member Functions inherited from EMAN::FactoryBase | |
FactoryBase () | |
virtual | ~FactoryBase () |
virtual string | get_name () const =0 |
Get the unique name of this class (especially for factory based instantiation access) More... | |
virtual string | get_desc () const =0 |
Get a clear, concise description of this class. More... | |
Dict | get_params () const |
get a copy of the parameters of this class More... | |
void | set_params (const Dict &new_params) |
Set new parameters. More... | |
void | set_param (const string key, const EMObject val) |
void | insert_params (const Dict &new_params) |
Insert parameters. More... | |
Dict | copy_relevant_params (const FactoryBase *const that) const |
Protected Attributes | |
float * | norm |
A pointer to the constructor argument normalize_values. More... | |
EMData * | data |
A pointer to the constructor argument real_data. More... | |
int | nx |
Image volume data sizes a convenience variable used here and there. More... | |
int | ny |
int | nz |
int | nxyz |
int | nx2 |
int | ny2 |
int | nz2 |
int | subx0 |
int | suby0 |
int | subz0 |
int | fullnx |
int | fullny |
int | fullnz |
Protected Attributes inherited from EMAN::FactoryBase | |
Dict | params |
This is the dictionary the stores the parameters of the object. More... | |
Private Member Functions | |
FourierPixelInserter3D (const FourierPixelInserter3D &) | |
FourierPixelInserter3D & | operator= (const FourierPixelInserter3D &) |
void | free_memory () |
FourierPixelInserter3D class defines a way a continuous pixel in 3D is inserted into the discrete 3D volume - there are various schemes for doing this including simply finding the nearest neighbor to more elaborate schemes that involve interpolation using the nearest 8 voxels and so on.
FourierPixelInserter3D class is the base class for all pixel inserters. Each specific pixel inserter class has a unique ID name. This name is used to create a FourierPixelInserter3D instance or do a pixel insertion. Currently these IDs are (strings) 1,2,3,4,5,6,7 - where mode 2 is currently the most popularly used pixel insertion mode as it generally performs well, and was the default mode in EMAN1 - it interpolates to the nearest 8 voxels using a gaussian weighting based on Euclidian distance
All FourierPixelInserter3D classes in EMAN2 are managed by a Factory pattern. So each FourierPixelInserter3D class must define:
Typical usages of FourierPixelInserter3D are as follows:
Definition at line 94 of file reconstructor_tools.h.
|
inline |
Construct a FourierPixelInserter3D.
Definition at line 99 of file reconstructor_tools.h.
|
inlinevirtual |
Desctruct a FourierPixelInserter3D.
Definition at line 104 of file reconstructor_tools.h.
References free_memory().
|
private |
|
inlineprivate |
Definition at line 151 of file reconstructor_tools.h.
Referenced by ~FourierPixelInserter3D().
|
inlinevirtual |
Implements EMAN::FactoryBase.
Definition at line 109 of file reconstructor_tools.h.
References EMAN::EMObject::EMDATA, EMAN::EMObject::FLOAT_POINTER, and EMAN::TypeDict::put().
|
virtual |
Reimplemented in EMAN::FourierInserter3DMode8.
Definition at line 74 of file reconstructor_tools.cpp.
References data, fullnx, fullny, fullnz, EMAN::Dict::has_key(), norm, NotExistingObjectException, nx, nx2, nxyz, ny, ny2, nz, nz2, EMAN::FactoryBase::params, subx0, suby0, and subz0.
Referenced by EMAN::FourierInserter3DMode8::init(), and EMAN::FourierReconstructor::load_inserter().
|
pure virtual |
Insert a complex pixel [dt[0]+dt[1]i] at (float) coordinate [xx,yy,zz] with weighting into a discrete 3D volume.
xx | the floating point x coordinate |
yy | the floating point y coordinate |
zz | the floating point z coordinate |
dt | the complex pixel value (dt[0] is real, dt[1] is imaginary) |
weight | the weight to given to this complex pixel |
Implemented in EMAN::FourierInserter3DMode1, EMAN::FourierInserter3DMode2, EMAN::FourierInserter3DMode2l, EMAN::FourierInserter3DMode3, EMAN::FourierInserter3DMode5, EMAN::FourierInserter3DMode6, EMAN::FourierInserter3DMode7, EMAN::FourierInserter3DMode8, EMAN::FourierInserter3DMode9, EMAN::FourierInserter3DMode10, and EMAN::FourierInserter3DMode11.
Referenced by EMAN::WienerFourierReconstructor::do_insert_slice_work(), and EMAN::FourierReconstructor::do_insert_slice_work().
|
private |
|
protected |
A pointer to the constructor argument real_data.
Definition at line 139 of file reconstructor_tools.h.
Referenced by init(), EMAN::FourierInserter3DMode1::insert_pixel(), EMAN::FourierInserter3DMode2::insert_pixel(), EMAN::FourierInserter3DMode2l::insert_pixel(), EMAN::FourierInserter3DMode3::insert_pixel(), EMAN::FourierInserter3DMode5::insert_pixel(), EMAN::FourierInserter3DMode6::insert_pixel(), EMAN::FourierInserter3DMode7::insert_pixel(), EMAN::FourierInserter3DMode8::insert_pixel(), EMAN::FourierInserter3DMode9::insert_pixel(), EMAN::FourierInserter3DMode10::insert_pixel(), and EMAN::FourierInserter3DMode11::insert_pixel().
|
protected |
Definition at line 144 of file reconstructor_tools.h.
Referenced by init(), EMAN::FourierInserter3DMode1::insert_pixel(), EMAN::FourierInserter3DMode2::insert_pixel(), EMAN::FourierInserter3DMode2l::insert_pixel(), and EMAN::FourierInserter3DMode8::insert_pixel().
|
protected |
Definition at line 144 of file reconstructor_tools.h.
Referenced by init(), EMAN::FourierInserter3DMode1::insert_pixel(), EMAN::FourierInserter3DMode2::insert_pixel(), EMAN::FourierInserter3DMode2l::insert_pixel(), and EMAN::FourierInserter3DMode8::insert_pixel().
|
protected |
Definition at line 144 of file reconstructor_tools.h.
Referenced by init(), EMAN::FourierInserter3DMode1::insert_pixel(), EMAN::FourierInserter3DMode2::insert_pixel(), EMAN::FourierInserter3DMode2l::insert_pixel(), and EMAN::FourierInserter3DMode8::insert_pixel().
|
protected |
A pointer to the constructor argument normalize_values.
Definition at line 137 of file reconstructor_tools.h.
Referenced by init(), EMAN::FourierInserter3DMode1::insert_pixel(), EMAN::FourierInserter3DMode2::insert_pixel(), EMAN::FourierInserter3DMode2l::insert_pixel(), EMAN::FourierInserter3DMode3::insert_pixel(), EMAN::FourierInserter3DMode5::insert_pixel(), EMAN::FourierInserter3DMode6::insert_pixel(), EMAN::FourierInserter3DMode7::insert_pixel(), EMAN::FourierInserter3DMode8::insert_pixel(), EMAN::FourierInserter3DMode9::insert_pixel(), EMAN::FourierInserter3DMode10::insert_pixel(), and EMAN::FourierInserter3DMode11::insert_pixel().
|
protected |
Image volume data sizes a convenience variable used here and there.
Definition at line 142 of file reconstructor_tools.h.
Referenced by init().
|
protected |
Definition at line 143 of file reconstructor_tools.h.
Referenced by init(), EMAN::FourierInserter3DMode2::insert_pixel(), EMAN::FourierInserter3DMode2l::insert_pixel(), EMAN::FourierInserter3DMode3::insert_pixel(), EMAN::FourierInserter3DMode5::insert_pixel(), EMAN::FourierInserter3DMode6::insert_pixel(), EMAN::FourierInserter3DMode7::insert_pixel(), EMAN::FourierInserter3DMode8::insert_pixel(), EMAN::FourierInserter3DMode9::insert_pixel(), EMAN::FourierInserter3DMode10::insert_pixel(), and EMAN::FourierInserter3DMode11::insert_pixel().
|
protected |
Definition at line 142 of file reconstructor_tools.h.
Referenced by init(), EMAN::FourierInserter3DMode1::insert_pixel(), EMAN::FourierInserter3DMode2::insert_pixel(), EMAN::FourierInserter3DMode2l::insert_pixel(), and EMAN::FourierInserter3DMode8::insert_pixel().
|
protected |
Definition at line 142 of file reconstructor_tools.h.
Referenced by init().
|
protected |
Definition at line 143 of file reconstructor_tools.h.
Referenced by init(), EMAN::FourierInserter3DMode2::insert_pixel(), EMAN::FourierInserter3DMode2l::insert_pixel(), EMAN::FourierInserter3DMode3::insert_pixel(), EMAN::FourierInserter3DMode5::insert_pixel(), EMAN::FourierInserter3DMode6::insert_pixel(), EMAN::FourierInserter3DMode7::insert_pixel(), EMAN::FourierInserter3DMode8::insert_pixel(), EMAN::FourierInserter3DMode9::insert_pixel(), EMAN::FourierInserter3DMode10::insert_pixel(), and EMAN::FourierInserter3DMode11::insert_pixel().
|
protected |
Definition at line 142 of file reconstructor_tools.h.
Referenced by init().
|
protected |
Definition at line 143 of file reconstructor_tools.h.
Referenced by init(), EMAN::FourierInserter3DMode2::insert_pixel(), EMAN::FourierInserter3DMode2l::insert_pixel(), EMAN::FourierInserter3DMode3::insert_pixel(), EMAN::FourierInserter3DMode5::insert_pixel(), EMAN::FourierInserter3DMode6::insert_pixel(), EMAN::FourierInserter3DMode7::insert_pixel(), EMAN::FourierInserter3DMode8::insert_pixel(), EMAN::FourierInserter3DMode9::insert_pixel(), EMAN::FourierInserter3DMode10::insert_pixel(), and EMAN::FourierInserter3DMode11::insert_pixel().
|
protected |
Definition at line 144 of file reconstructor_tools.h.
Referenced by init(), EMAN::FourierInserter3DMode1::insert_pixel(), EMAN::FourierInserter3DMode2::insert_pixel(), EMAN::FourierInserter3DMode2l::insert_pixel(), EMAN::FourierInserter3DMode3::insert_pixel(), EMAN::FourierInserter3DMode5::insert_pixel(), EMAN::FourierInserter3DMode6::insert_pixel(), EMAN::FourierInserter3DMode7::insert_pixel(), EMAN::FourierInserter3DMode8::insert_pixel(), EMAN::FourierInserter3DMode9::insert_pixel(), EMAN::FourierInserter3DMode10::insert_pixel(), and EMAN::FourierInserter3DMode11::insert_pixel().
|
protected |
Definition at line 144 of file reconstructor_tools.h.
Referenced by init(), EMAN::FourierInserter3DMode1::insert_pixel(), EMAN::FourierInserter3DMode2::insert_pixel(), EMAN::FourierInserter3DMode2l::insert_pixel(), and EMAN::FourierInserter3DMode8::insert_pixel().
|
protected |
Definition at line 144 of file reconstructor_tools.h.
Referenced by init(), EMAN::FourierInserter3DMode1::insert_pixel(), EMAN::FourierInserter3DMode2::insert_pixel(), EMAN::FourierInserter3DMode2l::insert_pixel(), and EMAN::FourierInserter3DMode8::insert_pixel().