#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 | |
Processor * | NEW () |
Static Public Attributes | |
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 1524 of file processor.h.
|
Get the descrition of this specific processor. This function must be overwritten by a subclass.
Implements EMAN::Processor. Definition at line 1548 of file processor.h. 01549 { 01550 return "Symmetry is applied to the 3D EM object"; 01551 }
|
|
Get the processor's name. Each processor is identified by a unique name.
Implements EMAN::Processor. Definition at line 1527 of file processor.h. 01528 {
01529 return NAME;
01530 }
|
|
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 1541 of file processor.h. References EMAN::TypeDict::put(). 01542 { 01543 TypeDict d; 01544 d.put("sym", EMObject::STRING, "The symmetry under which to do the alignment, Default=c1" ); 01545 return d; 01546 }
|
|
Definition at line 1532 of file processor.h. 01533 { 01534 return new ApplySymProcessor(); 01535 }
|
|
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.
Reimplemented from EMAN::Processor. Definition at line 886 of file processor.cpp. References EMAN::Averager::add_image(), EMAN::Averager::finish(), EMAN::Factory< T >::get(), EMAN::FactoryBase::get_params(), EMAN::Symmetry3D::get_syms(), EMAN::EMData::process(), EMAN::Dict::set_default(), and t. 00887 { 00888 Symmetry3D* sym = Factory<Symmetry3D>::get((string)params.set_default("sym","c1")); 00889 vector<Transform> transforms = sym->get_syms(); 00890 //vector<Transform> transforms = sym->gen_orientations((string)params.set_default("orientgen","eman"),d); 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 Dict tparams = trans_it->get_params("eman"); 00895 Transform t(tparams); 00896 EMData* transformed = image->process("xform",Dict("transform",&t)); 00897 imgavg->add_image(transformed); 00898 delete transformed; 00899 } 00900 return imgavg->finish(); 00901 }
|
|
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.
Implements EMAN::Processor. Definition at line 903 of file processor.cpp. 00904 {
00905 cout << "Not implemented yet" << endl;
00906 }
|
|
Definition at line 94 of file processor.cpp. |