EMAN2
|
Real space 3D reconstruction using back projection. More...
#include <reconstructor.h>
Public Member Functions | |
BackProjectionReconstructor () | |
virtual | ~BackProjectionReconstructor () |
virtual void | setup () |
Initialize the reconstructor. More... | |
virtual int | insert_slice (const EMData *const slice, const Transform &euler, const float weight) |
Insert an image slice to the reconstructor. More... | |
virtual int | determine_slice_agreement (EMData *slice, const Transform &euler, const float weight=1.0, bool sub=true) |
Dummy function which always returns the same values. More... | |
virtual EMData * | finish (bool doift=true) |
Finish reconstruction and return the complete model. More... | |
virtual string | get_name () const |
Get the unique name of this class (especially for factory based instantiation access) More... | |
virtual string | get_desc () const |
Get a clear, concise description of this class. More... | |
virtual TypeDict | get_param_types () const |
Public Member Functions inherited from EMAN::Reconstructor | |
Reconstructor () | |
virtual | ~Reconstructor () |
virtual void | setup_seed (EMData *seed, float seed_weight) |
Initialize the reconstructor with a seed volume. More... | |
virtual void | setup_seedandweights (EMData *seed, EMData *weight) |
Initialize the reconstructor with a seed volume, as above. More... | |
int | insert_slice (const EMData *const slice, const Transform &euler) |
virtual EMData * | projection (const Transform &euler, int ret_fourier=1) |
This will create a projection from the current reconstruction. More... | |
virtual void | clear () |
set the volume and tmp_volume data to zero, for use in Monte Carlo reconstructors More... | |
void | print_params () const |
Print the current parameters to std::out. More... | |
EMObject & | operator[] (const string &key) |
Public Member Functions inherited from EMAN::FactoryBase | |
FactoryBase () | |
virtual | ~FactoryBase () |
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 |
Public Member Functions inherited from EMAN::ReconstructorVolumeData | |
ReconstructorVolumeData () | |
Only constructor All member variables are zeroed. More... | |
virtual | ~ReconstructorVolumeData () |
Destructor safely frees memory. More... | |
const EMData * | get_emdata () |
Get the main image pointer, probably redundant (not used) More... | |
Static Public Member Functions | |
static Reconstructor * | NEW () |
Static Public Attributes | |
static const string | NAME = "back_projection" |
Private Member Functions | |
BackProjectionReconstructor (const BackProjectionReconstructor &that) | |
BackProjectionReconstructor & | operator= (const BackProjectionReconstructor &) |
void | load_default_settings () |
EMData * | preprocess_slice (const EMData *const slice, const Transform &t) |
While you can just insert unprocessed slices, if you call preprocess_slice yourself, and insert the returned slice instead, repeatedly, it can save a fair bit of computation. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from EMAN::ReconstructorVolumeData | |
void | free_memory () |
Free allocated memorys The inherited class may have allocated image of tmp_data In either case you can safely call this function to delete either of those pointers, even if they bdb:refine_03::threed_00are NULL. More... | |
virtual void | normalize_threed (const bool sqrt_damp=false, const bool wiener=false) |
Normalize on the assumption that image is a Fourier volume and that tmp_data is a volume of weights corresponding in size to this Fourier volume. More... | |
virtual void | zero_memory () |
Sends the pixels in tmp_data and image to zero Convenience only. More... | |
Protected Attributes inherited from EMAN::FactoryBase | |
Dict | params |
This is the dictionary the stores the parameters of the object. More... | |
Protected Attributes inherited from EMAN::ReconstructorVolumeData | |
EMData * | image |
Inheriting class allocates this, probably in setup(). More... | |
EMData * | tmp_data |
Inheriting class may allocate this, probably in setup() More... | |
int | nx |
int | nx2 |
int | ny |
int | ny2 |
int | nz |
int | nz2 |
int | subnx |
int | subny |
int | subnz |
int | subx0 |
int | suby0 |
int | subz0 |
Real space 3D reconstruction using back projection.
Back-projection is a method of 3D reconstruction from 2D projections. It is based on superposing 3D functions ("back-projection bodies") obtained by translating the 2D projections along the directions of projection.
Definition at line 841 of file reconstructor.h.
|
inline |
Definition at line 844 of file reconstructor.h.
References load_default_settings().
Referenced by NEW().
|
inlinevirtual |
Definition at line 846 of file reconstructor.h.
|
private |
|
virtual |
Dummy function which always returns the same values.
It could be implemented, but isn't, as this reconstructor is really just for testing.
input_slice | The EMData slice to be compared |
euler | The orientation of the slice as a Transform object |
weight | A weighting factor for this slice, generally the number of particles in a class-average. May be ignored by some reconstructors |
sub | Flag indicating whether to subtract the slice from the volume before comparing. May be ignored by some reconstructors |
NullPointerException | if the input EMData pointer is null |
ImageFormatException | if the image is complex as opposed to real |
Reimplemented from EMAN::Reconstructor.
Definition at line 2884 of file reconstructor.cpp.
References NullPointerException.
|
virtual |
Finish reconstruction and return the complete model.
doift | A flag indicating whether the returned object should be guaranteed to be in real-space (true) or should be left in whatever space the reconstructor generated |
Reimplemented from EMAN::Reconstructor.
Definition at line 2897 of file reconstructor.cpp.
References EMAN::Factory< T >::get(), EMAN::Symmetry3D::get_nsym(), EMAN::Symmetry3D::get_syms(), EMAN::ReconstructorVolumeData::image, and EMAN::FactoryBase::params.
|
inlinevirtual |
Get a clear, concise description of this class.
Implements EMAN::FactoryBase.
Definition at line 878 of file reconstructor.h.
|
inlinevirtual |
Get the unique name of this class (especially for factory based instantiation access)
Implements EMAN::FactoryBase.
Definition at line 873 of file reconstructor.h.
References NAME.
|
inlinevirtual |
Implements EMAN::FactoryBase.
Definition at line 888 of file reconstructor.h.
References EMAN::EMObject::BOOL, EMAN::EMObject::FLOAT, EMAN::EMObject::INTARRAY, EMAN::TypeDict::put(), and EMAN::EMObject::STRING.
|
virtual |
Insert an image slice to the reconstructor.
To insert multiple image slices, call this function multiple times.
slice | Image slice. |
euler | Euler angle of this image slice. |
weight | A weighting factor for this slice, generally the number of particles in a class-average. May be ignored by some reconstructors |
Reimplemented from EMAN::Reconstructor.
Definition at line 2832 of file reconstructor.cpp.
References EMAN::ReconstructorVolumeData::image, EMAN::Transform::inverse(), LOGERR, EMAN::ReconstructorVolumeData::nx, EMAN::ReconstructorVolumeData::ny, EMAN::ReconstructorVolumeData::nz, preprocess_slice(), EMAN::ReconstructorVolumeData::tmp_data, and EMAN::EMData::transform().
|
inlineprivate |
Definition at line 906 of file reconstructor.h.
References EMAN::FactoryBase::params.
Referenced by BackProjectionReconstructor().
|
inlinestatic |
Definition at line 883 of file reconstructor.h.
References BackProjectionReconstructor().
|
private |
|
privatevirtual |
While you can just insert unprocessed slices, if you call preprocess_slice yourself, and insert the returned slice instead, repeatedly, it can save a fair bit of computation.
The default operation just returns a copy of the image, as the preprocessing is reconstructor-specific.
slice | the slice to be prepocessed |
t | transform |
InvalidValueException | when the specified padding value is less than the size of the images |
Reimplemented from EMAN::Reconstructor.
Definition at line 2806 of file reconstructor.cpp.
Referenced by insert_slice().
|
virtual |
Initialize the reconstructor.
Implements EMAN::Reconstructor.
Definition at line 2796 of file reconstructor.cpp.
References EMAN::ReconstructorVolumeData::image, EMAN::ReconstructorVolumeData::nx, EMAN::ReconstructorVolumeData::ny, EMAN::ReconstructorVolumeData::nz, and EMAN::FactoryBase::params.
|
static |
Definition at line 898 of file reconstructor.h.
Referenced by get_name().