#include <processor_sparx.h>
Inheritance diagram for EMAN::NewLowpassGaussProcessor:


Public Member Functions | |
| string | get_name () const |
| Get the processor's name. | |
| string | get_desc () const |
| Get the descrition of this specific processor. | |
| void | process_inplace (EMData *image) |
| To process an image in-place. | |
| 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.lowpass.gauss" |
| cutoff_abs | Gaussian sigma. |
Definition at line 304 of file processor_sparx.h.
|
|
Get the descrition of this specific processor. This function must be overwritten by a subclass.
Implements EMAN::Processor. Definition at line 311 of file processor_sparx.h. 00312 {
00313 return "Lowpass Gauss filter processor applied in Fourier space.";
00314 }
|
|
|
Get the processor's name. Each processor is identified by a unique name.
Implements EMAN::Processor. Definition at line 307 of file processor_sparx.h. 00308 { return NAME; }
|
|
|
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::NewFourierProcessor. Definition at line 332 of file processor_sparx.h. References EMAN::TypeDict::put(). 00333 {
00334 TypeDict d = NewFourierProcessor::get_param_types();
00335 d.put("cutoff_resolv", EMObject::FLOAT, "Resolvibility in 1/A, applied using filter.lowpass.gauss where cutoff_freq = sqrt(-4ln(0.36)/pi^2R^2) & R = 1/cf*apix");
00336 return d;
00337 }
|
|
|
Definition at line 309 of file processor_sparx.h. 00310 { return new NewLowpassGaussProcessor(); }
|
|
|
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 315 of file processor_sparx.h. References EMAN::EMData::get_attr_dict(), log(), R, and sqrt(). 00315 {
00316 params["filter_type"] = GAUSS_LOW_PASS;
00317 preprocessandconvertpars(image);
00318
00319 if(params.has_key("cutoff_resolv")){
00320
00321 const Dict dict = image->get_attr_dict();
00322
00323 // here I have added a little function to filter to a resolvability (John Flanagan 20/09/2010)
00324 float R = 1/((float)params["cutoff_resolv"]*(float)dict["apix_x"]); // convert to pixels
00325 float rsigma = sqrt((-4*log(0.36f))/(pow(M_PI,2)*pow(R,2))); // find optimal sigma
00326 params["cutoff_abs"] = rsigma / sqrt(2.0f); // patch to fix the 2s^2 problem
00327 params["sigma"] = rsigma / sqrt(2.0f); // patch to fix the 2s^2 problem
00328 }
00329
00330 EMFourierFilterInPlace(image, params);
00331 }
|
|
|
Definition at line 230 of file processor.cpp. |
1.3.9.1