#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.
string EMAN::SNREvalProcessor::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 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 }
string EMAN::SNREvalProcessor::get_name | ( | ) | const [inline, virtual] |
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 }
TypeDict EMAN::SNREvalProcessor::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 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 }
static Processor* EMAN::SNREvalProcessor::NEW | ( | ) | [inline, static] |
void SNREvalProcessor::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 722 of file processor.cpp.
References EMAN::EMData::add(), EMAN::EMData::copy(), EMAN::EMData::get_ysize(), EMAN::EMData::mult(), and EMAN::EMData::process_inplace().
00723 { 00724 int ys=image->get_ysize(); 00725 00726 EMData *mask1=new EMData(ys,ys,1); 00727 mask1->process_inplace("mask.gaussian",Dict("outer_radius", ys/2.0)); 00728 EMData *mask2=mask1->copy(); 00729 mask2->mult(-1.0f); 00730 mask2->add(1.0); 00731 mask2->process_inplace("mask.decayedge2d",Dict("width",4)); 00732 00733 /* 00734 00735 00736 00737 mask1=EMData(ys2,ys2,1) 00738 mask1.to_one() 00739 mask1.process_inplace("mask.gaussian",{"outer_radius":radius}) 00740 mask2=mask1.copy()*-1+1 00741 # mask1.process_inplace("mask.decayedge2d",{"width":4}) 00742 mask2.process_inplace("mask.decayedge2d",{"width":4}) 00743 mask1.clip_inplace(Region(-(ys2*(oversamp-1)/2),-(ys2*(oversamp-1)/2),ys,ys)) 00744 mask2.clip_inplace(Region(-(ys2*(oversamp-1)/2),-(ys2*(oversamp-1)/2),ys,ys)) 00745 ratio1=mask1.get_attr("square_sum")/(ys*ys) #/1.035 00746 ratio2=mask2.get_attr("square_sum")/(ys*ys) 00747 masks[(ys,radius)]=(mask1,ratio1,mask2,ratio2) 00748 00749 00750 00751 */ 00752 }
void EMAN::SNREvalProcessor::set_params | ( | const Dict & | new_params | ) | [inline, virtual] |
Set the processor parameters using a key/value dictionary.
new_params | A dictionary containing the new parameters. |
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 }
int EMAN::SNREvalProcessor::dosqrt [protected] |
Definition at line 435 of file processor.h.
const string SNREvalProcessor::NAME = "eval.maskedsnr" [static] |
EMData* EMAN::SNREvalProcessor::sum [protected] |
Definition at line 434 of file processor.h.