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

EMAN::CoordinateProcessor Class Reference

CoordinateProcessor applies processing based on a pixel's value and it coordinates. More...

#include <processor.h>

Inheritance diagram for EMAN::CoordinateProcessor:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 CoordinateProcessor ()
void process_inplace (EMData *image)
 To process an image in-place.

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 *pixel, int xi, int yi, int zi) const =0
virtual void calc_locals (EMData *)
virtual bool is_valid () const

Protected Attributes

int nx
int ny
int nz
float mean
float sigma
float maxval
bool is_complex

Detailed Description

CoordinateProcessor applies processing based on a pixel's value and it coordinates.

This is the base class. Specific coordinate processor should implement process_pixel().

Definition at line 2298 of file processor.h.


Constructor & Destructor Documentation

EMAN::CoordinateProcessor::CoordinateProcessor  )  [inline]
 

Definition at line 2301 of file processor.h.

02301                                      :nx(0), ny(0), nz(0), mean(0), sigma(0), maxval(0), is_complex(false)
02302                 {
02303                 }


Member Function Documentation

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

Reimplemented in EMAN::CircularMaskProcessor, EMAN::MaskEdgeMeanProcessor, and EMAN::MaskGaussInvProcessor.

Definition at line 2313 of file processor.h.

Referenced by process_inplace().

02314                 {
02315                 }

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

02307                 {
02308                         return "CoordinateProcessor applies processing based on a pixel's value and it coordinates. This is the base class. Specific coordinate processor should implement process_pixel().";
02309                 }

virtual bool EMAN::CoordinateProcessor::is_valid  )  const [inline, protected, virtual]
 

Reimplemented in EMAN::CircularMaskProcessor.

Definition at line 2316 of file processor.h.

Referenced by process_inplace().

02317                 {
02318                         return true;
02319                 }

void CoordinateProcessor::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 1341 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(), EMAN::EMData::is_complex(), is_complex, is_valid(), LOGWARN, maxval, mean, nx, ny, nz, process_pixel(), sigma, EMAN::EMData::update(), x, and y.

01342 {
01343         if (!image) {
01344                 LOGWARN("NULL Image");
01345                 return;
01346         }
01347 
01348         maxval = image->get_attr("maximum");
01349         mean = image->get_attr("mean");
01350         sigma = image->get_attr("sigma");
01351         nx = image->get_xsize();
01352         ny = image->get_ysize();
01353         nz = image->get_zsize();
01354         is_complex = image->is_complex();
01355 
01356         calc_locals(image);
01357 
01358 
01359         if (!is_valid()) {
01360                 return;
01361         }
01362 
01363         float *data = image->get_data();
01364         size_t i = 0;
01365 
01366         for (int z = 0; z < nz; z++) {
01367                 for (int y = 0; y < ny; y++) {
01368                         for (int x = 0; x < nx; x++) {
01369                                 process_pixel(&data[i], x, y, z);
01370                                 ++i;
01371                         }
01372                 }
01373         }
01374         image->update();
01375 }

virtual void EMAN::CoordinateProcessor::process_pixel float *  pixel,
int  xi,
int  yi,
int  zi
const [protected, pure virtual]
 

Implemented in EMAN::CircularMaskProcessor, and EMAN::MaskGaussNonuniformProcessor.

Referenced by process_inplace().


Member Data Documentation

bool EMAN::CoordinateProcessor::is_complex [protected]
 

Definition at line 2328 of file processor.h.

Referenced by EMAN::CircularMaskProcessor::is_valid(), and process_inplace().

float EMAN::CoordinateProcessor::maxval [protected]
 

Definition at line 2326 of file processor.h.

Referenced by process_inplace().

float EMAN::CoordinateProcessor::mean [protected]
 

Definition at line 2324 of file processor.h.

Referenced by EMAN::MaskNoiseProcessor::process_dist_pixel(), and process_inplace().

int EMAN::CoordinateProcessor::nx [protected]
 

Definition at line 2321 of file processor.h.

Referenced by EMAN::MaskEdgeMeanProcessor::calc_locals(), EMAN::CircularMaskProcessor::calc_locals(), process_inplace(), and EMAN::MaskGaussNonuniformProcessor::process_pixel().

int EMAN::CoordinateProcessor::ny [protected]
 

Definition at line 2322 of file processor.h.

Referenced by EMAN::MaskGaussInvProcessor::calc_locals(), EMAN::MaskEdgeMeanProcessor::calc_locals(), EMAN::CircularMaskProcessor::calc_locals(), process_inplace(), and EMAN::MaskGaussNonuniformProcessor::process_pixel().

int EMAN::CoordinateProcessor::nz [protected]
 

Definition at line 2323 of file processor.h.

Referenced by EMAN::MaskEdgeMeanProcessor::calc_locals(), EMAN::CircularMaskProcessor::calc_locals(), process_inplace(), and EMAN::MaskGaussNonuniformProcessor::process_pixel().

float EMAN::CoordinateProcessor::sigma [protected]
 

Definition at line 2325 of file processor.h.

Referenced by EMAN::MaskNoiseProcessor::process_dist_pixel(), and process_inplace().


The documentation for this class was generated from the following files:
Generated on Mon Jul 19 13:06:41 2010 for EMAN2 by  doxygen 1.4.4