EMAN::NewFourierProcessor Class Reference

#include <processor_sparx.h>

Inheritance diagram for EMAN::NewFourierProcessor:

Inheritance graph
[legend]
Collaboration diagram for EMAN::NewFourierProcessor:

Collaboration graph
[legend]
List of all members.

Public Member Functions

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)

Detailed Description

Definition at line 81 of file processor_sparx.h.


Member Function Documentation

static string EMAN::NewFourierProcessor::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.

Returns:
The description of this group of processors.

Reimplemented from EMAN::Processor.

Definition at line 86 of file processor_sparx.h.

00087                 {
00088                         return "Fourier Filter Processors are frequency domain processors. The input image can be either real or Fourier, and the output processed image format corresponds to that of the input file. FourierFilter class is the base class of fourier space processors. The processors can be either low-pass, high-pass, band-pass, or homomorphic. The processor parameters are in absolute frequency units, valid range is ]0,0.5], where 0.5 is Nyquist freqeuncy. ";
00089                 }

TypeDict EMAN::NewFourierProcessor::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.

Returns:
A dictionary containing the parameter info.

Reimplemented from EMAN::Processor.

Reimplemented in EMAN::NewBandpassTopHatProcessor, EMAN::NewHomomorphicTopHatProcessor, EMAN::NewBandpassGaussProcessor, EMAN::NewHomomorphicGaussProcessor, EMAN::SHIFTProcessor, EMAN::InverseKaiserI0Processor, EMAN::InverseKaiserSinhProcessor, EMAN::NewRadialTableProcessor, EMAN::NewLowpassButterworthProcessor, EMAN::NewHighpassButterworthProcessor, EMAN::NewHomomorphicButterworthProcessor, EMAN::NewLowpassTanhProcessor, EMAN::NewHighpassTanhProcessor, EMAN::NewHomomorphicTanhProcessor, EMAN::NewBandpassTanhProcessor, and EMAN::CTF_Processor.

Definition at line 91 of file processor_sparx.h.

References EMAN::EMObject::FLOAT, and EMAN::TypeDict::put().

Referenced by EMAN::CTF_Processor::get_param_types(), EMAN::NewBandpassTanhProcessor::get_param_types(), EMAN::NewHomomorphicTanhProcessor::get_param_types(), EMAN::NewHighpassTanhProcessor::get_param_types(), EMAN::NewLowpassTanhProcessor::get_param_types(), EMAN::NewHomomorphicButterworthProcessor::get_param_types(), EMAN::NewHighpassButterworthProcessor::get_param_types(), EMAN::NewLowpassButterworthProcessor::get_param_types(), EMAN::InverseKaiserSinhProcessor::get_param_types(), EMAN::InverseKaiserI0Processor::get_param_types(), EMAN::SHIFTProcessor::get_param_types(), EMAN::NewHomomorphicGaussProcessor::get_param_types(), EMAN::NewBandpassGaussProcessor::get_param_types(), EMAN::NewHomomorphicTopHatProcessor::get_param_types(), and EMAN::NewBandpassTopHatProcessor::get_param_types().

00092                 {
00093                         TypeDict d;
00094 //                      d.put("cutoff_frequency", EMObject::FLOAT, "Absolute [0,0.5] cut-off frequency.");      //use cutoff_abs
00095                         d.put("sigma", EMObject::FLOAT, "Gaussian sigma (0-.5)");                                                       //use cutoff_abs
00096                         d.put("cutoff_abs", EMObject::FLOAT, "Processor radius in terms of Nyquist (0-.5)");
00097                         d.put("cutoff_pixels", EMObject::FLOAT, "Width in Fourier pixels (0 - size()/2");
00098                         d.put("cutoff_freq", EMObject::FLOAT, "Resolution in 1/A (0 - 1 / size*apix)");
00099                         d.put("apix", EMObject::FLOAT, " Override A/pix in the image header (changes x,y and z)");
00100                         return d;
00101                 }

virtual void EMAN::NewFourierProcessor::preprocess ( EMData image  )  [inline, protected, virtual]

Definition at line 104 of file processor_sparx.h.

References EMAN::EMData::get_attr_dict(), EMAN::Dict::has_key(), EMAN::Processor::params, and EMAN::EMData::set_attr().

Referenced by EMAN::NewHomomorphicTanhProcessor::process_inplace(), EMAN::NewHighpassTanhProcessor::process_inplace(), EMAN::NewLowpassTanhProcessor::process_inplace(), EMAN::NewInverseGaussProcessor::process_inplace(), EMAN::NewHomomorphicGaussProcessor::process_inplace(), EMAN::NewBandpassGaussProcessor::process_inplace(), EMAN::NewHighpassGaussProcessor::process_inplace(), EMAN::NewLowpassGaussProcessor::process_inplace(), EMAN::NewHighpassTopHatProcessor::process_inplace(), and EMAN::NewLowpassTopHatProcessor::process_inplace().

00104                                                         {
00105                         if(params.has_key("apix")) {
00106                                 image->set_attr("apix_x", (float)params["apix"]);
00107                                 image->set_attr("apix_y", (float)params["apix"]);
00108                                 image->set_attr("apix_z", (float)params["apix"]);
00109                         }
00110 
00111                         const Dict dict = image->get_attr_dict();
00112                         if( params.has_key("sigma")) {
00113                                 params["cutoff_abs"] = params["sigma"];
00114                         }
00115                         else if( params.has_key("cutoff_abs") ) {
00116                                 params["sigma"] = params["cutoff_abs"];
00117                         }
00118                         else if( params.has_key("cutoff_freq") ) {
00119                                 float val =  (float)params["cutoff_freq"] * (float)dict["apix_x"];
00120                                 params["cutoff_abs"] = val;
00121                                 params["sigma"] = val;
00122                         }
00123                         else if( params.has_key("cutoff_pixels") ) {
00124                                 float val = 0.5f*(float)params["cutoff_pixels"] / (float)dict["nx"];
00125                                 params["cutoff_abs"] = val;
00126                                 params["sigma"] = val;
00127                         }
00128                 }


The documentation for this class was generated from the following file:
Generated on Mon Jul 19 12:44:36 2010 for EMAN2 by  doxygen 1.4.7