|
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().