#include <processor.h>
Inheritance diagram for EMAN::ApplySymProcessor:
Public Member Functions | |
virtual string | get_name () const |
Get the processor's name. | |
virtual void | process_inplace (EMData *image) |
To process an image in-place. | |
virtual EMData * | process (const EMData *const image) |
To proccess an image out-of-place. | |
virtual TypeDict | get_param_types () const |
Get processor parameter information in a dictionary. | |
virtual string | get_desc () const |
Get the descrition of this specific processor. | |
Static Public Member Functions | |
static Processor * | NEW () |
Static Public Attributes | |
static const string | NAME = "xform.applysym" |
The model must be on aligned to its symmetry axis(via align3d or other mechanism)
sym | A string specifying the symmetry under which to do the alignment |
Definition at line 1623 of file processor.h.
virtual string EMAN::ApplySymProcessor::get_desc | ( | ) | const [inline, virtual] |
Get the descrition of this specific processor.
This function must be overwritten by a subclass.
Implements EMAN::Processor.
Definition at line 1647 of file processor.h.
virtual string EMAN::ApplySymProcessor::get_name | ( | ) | const [inline, virtual] |
Get the processor's name.
Each processor is identified by a unique name.
Implements EMAN::Processor.
Definition at line 1626 of file processor.h.
References NAME.
01627 { 01628 return NAME; 01629 }
virtual TypeDict EMAN::ApplySymProcessor::get_param_types | ( | ) | const [inline, virtual] |
Get processor parameter information in a dictionary.
Each parameter has one record in the dictionary. Each record contains its name, data-type, and description.
Reimplemented from EMAN::Processor.
Definition at line 1640 of file processor.h.
References EMAN::TypeDict::put(), and EMAN::EMObject::STRING.
01641 { 01642 TypeDict d; 01643 d.put("sym", EMObject::STRING, "The symmetry under which to do the alignment, Default=c1" ); 01644 return d; 01645 }
static Processor* EMAN::ApplySymProcessor::NEW | ( | ) | [inline, static] |
To proccess an image out-of-place.
For those processors which can only be processed out-of-place, override this function to give the right behavior.
image | The image will be copied, actual process happen on copy of image. |
Reimplemented from EMAN::Processor.
Definition at line 887 of file processor.cpp.
References EMAN::Averager::add_image(), EMAN::Averager::finish(), EMAN::Symmetry3D::get_syms(), EMAN::Processor::params, EMAN::EMData::process(), EMAN::Dict::set_default(), and t.
00888 { 00889 Symmetry3D* sym = Factory<Symmetry3D>::get((string)params.set_default("sym","c1")); 00890 vector<Transform> transforms = sym->get_syms(); 00891 00892 Averager* imgavg = Factory<Averager>::get((string)params.set_default("avger","mean")); 00893 for(vector<Transform>::const_iterator trans_it = transforms.begin(); trans_it != transforms.end(); trans_it++) { 00894 Transform t = *trans_it; 00895 EMData* transformed = image->process("xform",Dict("transform",&t)); 00896 imgavg->add_image(transformed); 00897 delete transformed; 00898 } 00899 return imgavg->finish(); 00900 }
void ApplySymProcessor::process_inplace | ( | EMData * | image | ) | [virtual] |
To process an image in-place.
For those processors which can only be processed out-of-place, override this function to just print out some error message to remind user call the out-of-place version.
image | The image to be processed. |
Implements EMAN::Processor.
Definition at line 902 of file processor.cpp.
const string ApplySymProcessor::NAME = "xform.applysym" [static] |