EMAN::PeakOnlyProcessor Class Reference

peak processor -> if npeaks or more surrounding values >= value, value->0 More...

#include <processor.h>

Inheritance diagram for EMAN::PeakOnlyProcessor:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

string get_name () const
 Get the processor's name.
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

static ProcessorNEW ()

Static Public Attributes

static const string NAME = "mask.onlypeaks"

Protected Member Functions

void process_pixel (float *pixel, const float *data, int n) const

Private Attributes

int npeaks

Detailed Description

peak processor -> if npeaks or more surrounding values >= value, value->0

Parameters:
npeaks the number of surrounding peaks allow to >= pixel values

Definition at line 3091 of file processor.h.


Member Function Documentation

string EMAN::PeakOnlyProcessor::get_desc (  )  const [inline, virtual]

Get the descrition of this specific processor.

This function must be overwritten by a subclass.

Returns:
The description of this processor.

Implements EMAN::Processor.

Definition at line 3118 of file processor.h.

03119                 {
03120                         return "peak processor -> if npeaks or more surrounding values >= value, value->0";
03121                 }

string EMAN::PeakOnlyProcessor::get_name (  )  const [inline, virtual]

Get the processor's name.

Each processor is identified by a unique name.

Returns:
The processor's name.

Implements EMAN::Processor.

Definition at line 3094 of file processor.h.

References NAME.

03095                 {
03096                         return NAME;
03097                 }

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

Definition at line 3111 of file processor.h.

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

03112                 {
03113                         TypeDict d;
03114                         d.put("npeaks", EMObject::INT, "the number of surrounding peaks allow to >= pixel values");
03115                         return d;
03116                 }

static Processor* EMAN::PeakOnlyProcessor::NEW (  )  [inline, static]

Definition at line 3098 of file processor.h.

03099                 {
03100                         return new PeakOnlyProcessor();
03101                 }

void EMAN::PeakOnlyProcessor::process_pixel ( float *  pixel,
const float *  data,
int  n 
) const [inline, protected, virtual]

Implements EMAN::BoxStatProcessor.

Definition at line 3126 of file processor.h.

References npeaks.

03127                 {
03128                         int r = 0;
03129 
03130                         for (int i = 0; i < n; i++)
03131                         {
03132                                 if (data[i] >= *pixel) {
03133                                         r++;
03134                                 }
03135                         }
03136 
03137                         if (r > npeaks)
03138                         {
03139                                 *pixel = 0;
03140                         }
03141                 }

void EMAN::PeakOnlyProcessor::set_params ( const Dict new_params  )  [inline, virtual]

Set the processor parameters using a key/value dictionary.

Parameters:
new_params A dictionary containing the new parameters.

Reimplemented from EMAN::Processor.

Definition at line 3102 of file processor.h.

References npeaks, and EMAN::Processor::params.

03103                 {
03104                         params = new_params;
03105                         npeaks = params["npeaks"];
03106                         if (npeaks == 0) {
03107                                 npeaks = 1;
03108                         }
03109                 }


Member Data Documentation

const string PeakOnlyProcessor::NAME = "mask.onlypeaks" [static]

Definition at line 3123 of file processor.h.

Referenced by get_name().

int EMAN::PeakOnlyProcessor::npeaks [private]

Definition at line 3143 of file processor.h.

Referenced by process_pixel(), and set_params().


The documentation for this class was generated from the following files:
Generated on Mon May 2 13:30:23 2011 for EMAN2 by  doxygen 1.4.7