#include <processor.h>
Inheritance diagram for EMAN::DoGFourierProcessor:
Public Member Functions | |
DoGFourierProcessor () | |
string | get_name () const |
Get the processor's name. | |
string | get_desc () const |
Get the descrition of this specific processor. | |
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. | |
Static Public Member Functions | |
Processor * | NEW () |
Static Public Attributes | |
const string | NAME = "filter.DoG" |
Protected Member Functions | |
void | create_radial_func (vector< float > &radial_mask) const |
Private Attributes | |
float | sigma1 |
float | sigma2 |
sigma1 | DoG sigma1 | |
sigma1 | DoG sigma2 |
Definition at line 1019 of file processor.h.
|
Definition at line 1022 of file processor.h.
|
|
Implements EMAN::FourierProcessor. Definition at line 1273 of file processor.cpp. References Assert, norm(), sigma1, sigma2, EMAN::Dict::size(), sqrt(), and x. 01274 { 01275 01276 Assert(radial_mask.size() > 0); 01277 float x = 0.0f , nqstep = 0.5f/radial_mask.size(); 01278 size_t size=radial_mask.size(); 01279 float norm = 1.0f/sqrt(2*M_PI); 01280 for (size_t i = 0; i < size; i++) { 01281 radial_mask[i] = norm*((1.0f/sigma1*exp(-x*x/(2.0f*sigma1*sigma1))) - (1.0f/sigma2*exp(-x*x/(2.0f*sigma2*sigma2)))); 01282 x += nqstep; 01283 } 01284 }
|
|
Get the descrition of this specific processor. This function must be overwritten by a subclass.
Implements EMAN::Processor. Definition at line 1035 of file processor.h. 01036 { 01037 return "processor radial function: f(x) = 1/sqrt(2*pi)*[1/sigma1*exp-(x^2/2*sigma1^2) - 1/sigma2*exp-(x^2/2*sigma2^2)]"; 01038 }
|
|
Get the processor's name. Each processor is identified by a unique name.
Implements EMAN::Processor. Definition at line 1026 of file processor.h. 01027 {
01028 return NAME;
01029 }
|
|
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::FourierProcessor. Definition at line 1047 of file processor.h. References EMAN::TypeDict::put(). 01048 { 01049 TypeDict d; 01050 d.put("sigma1", EMObject::FLOAT, "DoG sigma1"); 01051 d.put("sigma2", EMObject::FLOAT, "DoG sigma2"); 01052 return d; 01053 }
|
|
Definition at line 1030 of file processor.h. 01031 { 01032 return new DoGFourierProcessor(); 01033 }
|
|
Set the processor parameters using a key/value dictionary.
Reimplemented from EMAN::Processor. Definition at line 1040 of file processor.h. 01041 { 01042 params = new_params; 01043 sigma1 = params["sigma1"]; 01044 sigma2 = params["sigma2"]; 01045 }
|
|
Definition at line 76 of file processor.cpp. |
|
Definition at line 1061 of file processor.h. Referenced by create_radial_func(). |
|
Definition at line 1062 of file processor.h. Referenced by create_radial_func(). |