#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 1623 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 1647 of file processor.h. 01648 { 01649 return "Symmetry is applied to the 3D EM object"; 01650 }
|
|
Get the processor's name. Each processor is identified by a unique name.
Implements EMAN::Processor. Definition at line 1626 of file processor.h. 01627 {
01628 return NAME;
01629 }
|
|
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(). 01641 { 01642 TypeDict d; 01643 d.put("sym", EMObject::STRING, "The symmetry under which to do the alignment, Default=c1" ); 01644 return d; 01645 }
|
|
Definition at line 1631 of file processor.h. 01632 { 01633 return new ApplySymProcessor(); 01634 }
|
|
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 887 of file processor.cpp. References EMAN::Averager::add_image(), EMAN::Averager::finish(), EMAN::Factory< T >::get(), EMAN::Symmetry3D::get_syms(), 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 }
|
|
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 902 of file processor.cpp. 00903 {
00904 cout << "Not implemented yet" << endl;
00905 }
|
|
Definition at line 89 of file processor.cpp. |