#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 | |
Processor * | NEW () |
Static Public Attributes | |
const string | NAME = "eval.maskedsnr" |
Protected Attributes | |
EMData * | sum |
int | dosqrt |
Definition at line 420 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 451 of file processor.h. 00452 { 00453 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"; 00454 }
|
|
Get the processor's name. Each processor is identified by a unique name.
Implements EMAN::Processor. Definition at line 423 of file processor.h. 00424 {
00425 return NAME;
00426 }
|
|
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 438 of file processor.h. 00439 { 00440 TypeDict d; 00441 // d.put("sum", EMObject::EMDATA, "Adds the weights to sum for normalization"); 00442 // d.put("sqrt", EMObject::INT, "Weights using sqrt of the amplitude if set"); 00443 return d; 00444 }
|
|
Definition at line 446 of file processor.h. 00447 { 00448 return new SNREvalProcessor(); 00449 }
|
|
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 686 of file processor.cpp. References EMAN::EMData::add(), EMAN::EMData::copy(), EMAN::EMData::get_ysize(), EMAN::EMData::mult(), and EMAN::EMData::process_inplace(). 00687 { 00688 int ys=image->get_ysize(); 00689 00690 EMData *mask1=new EMData(ys,ys,1); 00691 mask1->process_inplace("mask.gaussian",Dict("outer_radius", ys/2.0)); 00692 EMData *mask2=mask1->copy(); 00693 mask2->mult(-1.0f); 00694 mask2->add(1.0); 00695 mask2->process_inplace("mask.decayedge2d",Dict("width",4)); 00696 00697 /* 00698 00699 00700 00701 mask1=EMData(ys2,ys2,1) 00702 mask1.to_one() 00703 mask1.process_inplace("mask.gaussian",{"outer_radius":radius}) 00704 mask2=mask1.copy()*-1+1 00705 # mask1.process_inplace("mask.decayedge2d",{"width":4}) 00706 mask2.process_inplace("mask.decayedge2d",{"width":4}) 00707 mask1.clip_inplace(Region(-(ys2*(oversamp-1)/2),-(ys2*(oversamp-1)/2),ys,ys)) 00708 mask2.clip_inplace(Region(-(ys2*(oversamp-1)/2),-(ys2*(oversamp-1)/2),ys,ys)) 00709 ratio1=mask1.get_attr("square_sum")/(ys*ys) #/1.035 00710 ratio2=mask2.get_attr("square_sum")/(ys*ys) 00711 masks[(ys,radius)]=(mask1,ratio1,mask2,ratio2) 00712 00713 00714 00715 */ 00716 }
|
|
Set the processor parameters using a key/value dictionary.
Reimplemented from EMAN::Processor. Definition at line 430 of file processor.h. 00431 { 00432 params = new_params; 00433 // sum = params["sum"]; 00434 // dosqrt = params["sqrt"]; 00435 // printf("%s %f\n",params.keys()[0].c_str(),lowpass); 00436 }
|
|
Definition at line 460 of file processor.h. |
|
Definition at line 60 of file processor.cpp. |
|
Definition at line 459 of file processor.h. |