#include <processor.h>
Inheritance diagram for EMAN::HighpassFourierProcessor:
Public Member Functions | |
HighpassFourierProcessor () | |
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 | |
static string | get_group_desc () |
Get the description of this group of processors. | |
Protected Member Functions | |
virtual void | preprocess (EMData *image) |
Protected Attributes | |
float | highpass |
It attenuates amplitudes at low spatial frequencies, and increases amplitudes for high spatial frequencies. It has the result of enhancing the edges in the image while suppressing all slow-moving variations.
HighpassFourierProcessor class is the base class for all high pass fourier processors.
highpass | Processor radius in terms of Nyquist (0-.5) |
Definition at line 830 of file processor.h.
EMAN::HighpassFourierProcessor::HighpassFourierProcessor | ( | ) | [inline] |
static string EMAN::HighpassFourierProcessor::get_group_desc | ( | ) | [inline, static] |
Get the description of this group of processors.
This function is defined in a parent class. It gives a introduction to a group of processors.
Reimplemented from EMAN::FourierProcessor.
Definition at line 852 of file processor.h.
00853 { 00854 return "High-pass processor is rotationally symmetric 2D function. It attenuates amplitudes at low spatial frequencies, and increases amplitudes for high spatial frequencies. It has the result of enhancing the edges in the image while suppressing all slow-moving variations. <br> HighpassFourierProcessor class is the base class for all high pass fourier processors."; 00855 }
TypeDict EMAN::HighpassFourierProcessor::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::FourierProcessor.
Definition at line 845 of file processor.h.
References EMAN::EMObject::FLOAT, EMAN::FourierProcessor::get_param_types(), and EMAN::TypeDict::put().
00846 { 00847 TypeDict d = FourierProcessor::get_param_types(); 00848 d.put("highpass", EMObject::FLOAT, "Processor radius in terms of Nyquist (0-.5)"); 00849 return d; 00850 }
void HighpassFourierProcessor::preprocess | ( | EMData * | image | ) | [protected, virtual] |
Reimplemented from EMAN::FourierProcessor.
Definition at line 701 of file processor.cpp.
References EMAN::EMData::get_attr_dict(), EMAN::Dict::has_key(), highpass, EMAN::Processor::params, and EMAN::EMData::set_attr().
00702 { 00703 if(params.has_key("apix")) { 00704 image->set_attr("apix_x", (float)params["apix"]); 00705 image->set_attr("apix_y", (float)params["apix"]); 00706 image->set_attr("apix_z", (float)params["apix"]); 00707 } 00708 00709 const Dict dict = image->get_attr_dict(); 00710 00711 if( params.has_key("cutoff_abs") ) { 00712 highpass = params["cutoff_abs"]; 00713 } 00714 else if( params.has_key("cutoff_freq") ) { 00715 highpass = (float)params["cutoff_freq"] * (float)dict["apix_x"] * (float)dict["nx"] / 2.0f; 00716 } 00717 else if( params.has_key("cutoff_pixels") ) { 00718 highpass = (float)params["cutoff_pixels"] / (float)dict["nx"]; 00719 } 00720 }
void EMAN::HighpassFourierProcessor::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 837 of file processor.h.
References EMAN::Dict::has_key(), highpass, and EMAN::Processor::params.
00838 { 00839 params = new_params; 00840 if( params.has_key("highpass") ) { 00841 highpass = params["highpass"]; 00842 } 00843 }
float EMAN::HighpassFourierProcessor::highpass [protected] |
Definition at line 859 of file processor.h.
Referenced by EMAN::HighpassButterworthProcessor::create_radial_func(), EMAN::HighpassTanhProcessor::create_radial_func(), EMAN::HighpassGaussProcessor::create_radial_func(), EMAN::HighpassSharpCutoffProcessor::create_radial_func(), preprocess(), and set_params().