#include <processor.h>
Inheritance diagram for EMAN::SNREvalProcessor:
Public Member Functions | |
string | get_name () const |
Get the processor's name. | |
void | process_inplace (EMData *image) |
To process an image in-place. | |
void | set_params (const Dict &new_params) |
Set the processor parameters using a key/value dictionary. | |
TypeDict | get_param_types () const |
Get processor parameter information in a dictionary. | |
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 = "eval.maskedsnr" |
Protected Attributes | |
EMData * | sum |
int | dosqrt |
Definition at line 395 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 426 of file processor.h. 00427 { 00428 return "Evaluates the SNR of the particle using a masking method similar to that used in the CTF analysis process. The image is not changed. The resulting value is placed in the particle dictionary as eval_maskedsnr"; 00429 }
|
|
Get the processor's name. Each processor is identified by a unique name.
Implements EMAN::Processor. Definition at line 398 of file processor.h. References NAME. 00399 { 00400 return NAME; 00401 }
|
|
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 413 of file processor.h. 00414 { 00415 TypeDict d; 00416 // d.put("sum", EMObject::EMDATA, "Adds the weights to sum for normalization"); 00417 // d.put("sqrt", EMObject::INT, "Weights using sqrt of the amplitude if set"); 00418 return d; 00419 }
|
|
Definition at line 421 of file processor.h. 00422 { 00423 return new SNREvalProcessor(); 00424 }
|
|
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 724 of file processor.cpp. References EMAN::EMData::add(), EMAN::EMData::copy(), EMAN::EMData::get_ysize(), EMAN::EMData::mult(), and EMAN::EMData::process_inplace(). 00725 { 00726 int ys=image->get_ysize(); 00727 00728 EMData *mask1=new EMData(ys,ys,1); 00729 mask1->process_inplace("mask.gaussian",Dict("outer_radius", ys/2.0)); 00730 EMData *mask2=mask1->copy(); 00731 mask2->mult(-1.0f); 00732 mask2->add(1.0); 00733 mask2->process_inplace("mask.decayedge2d",Dict("width",4)); 00734 00735 /* 00736 00737 00738 00739 mask1=EMData(ys2,ys2,1) 00740 mask1.to_one() 00741 mask1.process_inplace("mask.gaussian",{"outer_radius":radius}) 00742 mask2=mask1.copy()*-1+1 00743 # mask1.process_inplace("mask.decayedge2d",{"width":4}) 00744 mask2.process_inplace("mask.decayedge2d",{"width":4}) 00745 mask1.clip_inplace(Region(-(ys2*(oversamp-1)/2),-(ys2*(oversamp-1)/2),ys,ys)) 00746 mask2.clip_inplace(Region(-(ys2*(oversamp-1)/2),-(ys2*(oversamp-1)/2),ys,ys)) 00747 ratio1=mask1.get_attr("square_sum")/(ys*ys) #/1.035 00748 ratio2=mask2.get_attr("square_sum")/(ys*ys) 00749 masks[(ys,radius)]=(mask1,ratio1,mask2,ratio2) 00750 00751 00752 00753 */ 00754 }
|
|
Set the processor parameters using a key/value dictionary.
Reimplemented from EMAN::Processor. Definition at line 405 of file processor.h. References EMAN::Processor::params. 00406 { 00407 params = new_params; 00408 // sum = params["sum"]; 00409 // dosqrt = params["sqrt"]; 00410 // printf("%s %f\n",params.keys()[0].c_str(),lowpass); 00411 }
|
|
Definition at line 435 of file processor.h. |
|
Definition at line 431 of file processor.h. Referenced by get_name(). |
|
Definition at line 434 of file processor.h. |