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

03198                 {
03199                         return "peak processor -> if npeaks or more surrounding values >= value, value->0";
03200                 }

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

References NAME.

03174                 {
03175                         return NAME;
03176                 }

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

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

03191                 {
03192                         TypeDict d;
03193                         d.put("npeaks", EMObject::INT, "the number of surrounding peaks allow to >= pixel values");
03194                         return d;
03195                 }

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

Definition at line 3177 of file processor.h.

03178                 {
03179                         return new PeakOnlyProcessor();
03180                 }

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

Implements EMAN::BoxStatProcessor.

Definition at line 3205 of file processor.h.

References npeaks.

03206                 {
03207                         int r = 0;
03208 
03209                         for (int i = 0; i < n; i++)
03210                         {
03211                                 if (data[i] >= *pixel) {
03212                                         r++;
03213                                 }
03214                         }
03215 
03216                         if (r > npeaks)
03217                         {
03218                                 *pixel = 0;
03219                         }
03220                 }

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

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

03182                 {
03183                         params = new_params;
03184                         npeaks = params["npeaks"];
03185                         if (npeaks == 0) {
03186                                 npeaks = 1;
03187                         }
03188                 }


Member Data Documentation

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

Definition at line 3202 of file processor.h.

Referenced by get_name().

int EMAN::PeakOnlyProcessor::npeaks [private]

Definition at line 3222 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 May 3 10:10:09 2012 for EMAN2 by  doxygen 1.4.7