Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

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

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


Constructor & Destructor Documentation

EMAN::RealPixelProcessor::RealPixelProcessor  )  [inline]
 

Definition at line 974 of file processor.h.

00974                                     :value(0), maxval(1), mean(0), sigma(0)
00975                 {
00976                 }


Member Function Documentation

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

Definition at line 995 of file processor.h.

Referenced by process_inplace().

00996                 {
00997                 }

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

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

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

Definition at line 998 of file processor.h.

00999                 {
01000                 }

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 1165 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().

01166 {
01167         if (!image) {
01168                 LOGWARN("NULL Image");
01169                 return;
01170         }
01171 
01172         maxval = image->get_attr("maximum");
01173         mean = image->get_attr("mean");
01174         sigma = image->get_attr("sigma");
01175 
01176         calc_locals(image);
01177 
01178         size_t size = (size_t)image->get_xsize() *
01179                           (size_t)image->get_ysize() *
01180                           (size_t)image->get_zsize();
01181         float *data = image->get_data();
01182 
01183         for (size_t i = 0; i < size; i++) {
01184                 process_pixel(&data[i]);
01185         }
01186         image->update();
01187 }

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

Implemented in EMAN::AbsoluateValueProcessor, 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 979 of file processor.h.

References EMAN::Dict::values().

00980                 {
00981                         params = new_params;
00982                         if (params.size() == 1) {
00983                                 vector < EMObject > dict_values = params.values();
00984                                 value = dict_values[0];
00985                         }
00986                 }


Member Data Documentation

float EMAN::RealPixelProcessor::maxval [protected]
 

Definition at line 1003 of file processor.h.

Referenced by process_inplace().

float EMAN::RealPixelProcessor::mean [protected]
 

Definition at line 1004 of file processor.h.

Referenced by process_inplace().

float EMAN::RealPixelProcessor::sigma [protected]
 

Definition at line 1005 of file processor.h.

Referenced by process_inplace().

float EMAN::RealPixelProcessor::value [protected]
 

Definition at line 1002 of file processor.h.


The documentation for this class was generated from the following files:
Generated on Thu Dec 9 13:47:41 2010 for EMAN2 by  doxygen 1.3.9.1