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 3035 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 3062 of file processor.h.

03063                 {
03064                         return "peak processor -> if npeaks or more surrounding values >= value, value->0";
03065                 }

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 3038 of file processor.h.

References NAME.

03039                 {
03040                         return NAME;
03041                 }

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 3055 of file processor.h.

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

03056                 {
03057                         TypeDict d;
03058                         d.put("npeaks", EMObject::INT, "the number of surrounding peaks allow to >= pixel values");
03059                         return d;
03060                 }

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

Definition at line 3042 of file processor.h.

03043                 {
03044                         return new PeakOnlyProcessor();
03045                 }

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

Implements EMAN::BoxStatProcessor.

Definition at line 3070 of file processor.h.

References npeaks.

03071                 {
03072                         int r = 0;
03073 
03074                         for (int i = 0; i < n; i++)
03075                         {
03076                                 if (data[i] >= *pixel) {
03077                                         r++;
03078                                 }
03079                         }
03080 
03081                         if (r > npeaks)
03082                         {
03083                                 *pixel = 0;
03084                         }
03085                 }

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 3046 of file processor.h.

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

03047                 {
03048                         params = new_params;
03049                         npeaks = params["npeaks"];
03050                         if (npeaks == 0) {
03051                                 npeaks = 1;
03052                         }
03053                 }


Member Data Documentation

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

Definition at line 3067 of file processor.h.

Referenced by get_name().

int EMAN::PeakOnlyProcessor::npeaks [private]

Definition at line 3087 of file processor.h.

Referenced by process_pixel(), and set_params().


The documentation for this class was generated from the following files:
Generated on Thu Mar 10 23:00:25 2011 for EMAN2 by  doxygen 1.4.7