EMAN::RealPixelProcessor Class Reference

The base class for real space processor working on individual pixels. More...

#include <processor.h>

Inheritance diagram for EMAN::RealPixelProcessor:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 RealPixelProcessor ()
void process_inplace (EMData *image)
 To process an image in-place.
virtual void set_params (const Dict &new_params)
 Set the processor parameters using a key/value dictionary.

Static Public Member Functions

static string get_group_desc ()
 Get the description of this group of processors.

Protected Member Functions

virtual void process_pixel (float *x) const =0
virtual void calc_locals (EMData *)
virtual void normalize (EMData *) const

Protected Attributes

float value
float maxval
float mean
float sigma

Detailed Description

The base class for real space processor working on individual pixels.

The processor won't consider the pixel's coordinates and neighbors.

Definition at line 1067 of file processor.h.


Constructor & Destructor Documentation

EMAN::RealPixelProcessor::RealPixelProcessor (  )  [inline]

Definition at line 1070 of file processor.h.

01070                                     :value(0), maxval(1), mean(0), sigma(0)
01071                 {
01072                 }


Member Function Documentation

virtual void EMAN::RealPixelProcessor::calc_locals ( EMData  )  [inline, protected, virtual]

Definition at line 1091 of file processor.h.

Referenced by process_inplace().

01092                 {
01093                 }

static string EMAN::RealPixelProcessor::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 1084 of file processor.h.

01085                 {
01086                         return "The base class for real space processor working on individual pixels. The processor won't consider the pixel's coordinates and neighbors.";
01087                 }

virtual void EMAN::RealPixelProcessor::normalize ( EMData  )  const [inline, protected, virtual]

Definition at line 1094 of file processor.h.

01095                 {
01096                 }

void RealPixelProcessor::process_inplace ( EMData image  )  [virtual]

To process an image in-place.

For those processors which can only be processed out-of-place, override this function to just print out some error message to remind user call the out-of-place version.

Parameters:
image The image to be processed.

Implements EMAN::Processor.

Definition at line 1286 of file processor.cpp.

References calc_locals(), data, EMAN::EMData::get_attr(), EMAN::EMData::get_data(), EMAN::EMData::get_xsize(), EMAN::EMData::get_ysize(), EMAN::EMData::get_zsize(), LOGWARN, maxval, mean, process_pixel(), sigma, and EMAN::EMData::update().

01287 {
01288         if (!image) {
01289                 LOGWARN("NULL Image");
01290                 return;
01291         }
01292 
01293         maxval = image->get_attr("maximum");
01294         mean = image->get_attr("mean");
01295         sigma = image->get_attr("sigma");
01296 
01297         calc_locals(image);
01298 
01299         size_t size = (size_t)image->get_xsize() *
01300                           (size_t)image->get_ysize() *
01301                           (size_t)image->get_zsize();
01302         float *data = image->get_data();
01303 
01304         for (size_t i = 0; i < size; ++i) {
01305                 process_pixel(&data[i]);
01306         }
01307         image->update();
01308 }

virtual void EMAN::RealPixelProcessor::process_pixel ( float *  x  )  const [protected, pure virtual]

Implemented in EMAN::AbsoluateValueProcessor, EMAN::FloorValueProcessor, EMAN::BooleanProcessor, EMAN::InvertCarefullyProcessor, EMAN::ValuePowProcessor, EMAN::ValueSquaredProcessor, EMAN::ValueSqrtProcessor, EMAN::ToZeroProcessor, EMAN::CutToZeroProcessor, EMAN::BinarizeProcessor, EMAN::CollapseProcessor, EMAN::LinearXformProcessor, EMAN::ExpProcessor, EMAN::FiniteProcessor, EMAN::RangeThresholdProcessor, EMAN::SigmaProcessor, and EMAN::LogProcessor.

Referenced by process_inplace().

virtual void EMAN::RealPixelProcessor::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.

Reimplemented in EMAN::InvertCarefullyProcessor, EMAN::ValuePowProcessor, EMAN::CollapseProcessor, EMAN::LinearXformProcessor, EMAN::ExpProcessor, EMAN::FiniteProcessor, EMAN::RangeThresholdProcessor, and EMAN::SigmaProcessor.

Definition at line 1075 of file processor.h.

References EMAN::Processor::params, EMAN::Dict::size(), value, and EMAN::Dict::values().

01076                 {
01077                         params = new_params;
01078                         if (params.size() == 1) {
01079                                 vector < EMObject > dict_values = params.values();
01080                                 value = dict_values[0];
01081                         }
01082                 }


Member Data Documentation

float EMAN::RealPixelProcessor::maxval [protected]

Definition at line 1099 of file processor.h.

Referenced by process_inplace().

float EMAN::RealPixelProcessor::mean [protected]

Definition at line 1100 of file processor.h.

Referenced by process_inplace(), and EMAN::SigmaProcessor::process_pixel().

float EMAN::RealPixelProcessor::sigma [protected]

Definition at line 1101 of file processor.h.

Referenced by process_inplace(), and EMAN::SigmaProcessor::process_pixel().

float EMAN::RealPixelProcessor::value [protected]

Definition at line 1098 of file processor.h.

Referenced by EMAN::CollapseProcessor::process_pixel(), EMAN::BinarizeProcessor::process_pixel(), EMAN::CutToZeroProcessor::process_pixel(), EMAN::ToZeroProcessor::process_pixel(), EMAN::CollapseProcessor::set_params(), and set_params().


The documentation for this class was generated from the following files:
Generated on Tue Jul 12 13:48:41 2011 for EMAN2 by  doxygen 1.4.7