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

EMAN::ComplexPixelProcessor Class Reference

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

#include <processor.h>

Inheritance diagram for EMAN::ComplexPixelProcessor:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

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

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

Detailed Description

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

ri2ap() is called before processing, so individual pixels will be A/P rather than R/I. The processor won't consider the pixel's coordinates and neighbors.

Definition at line 2822 of file processor.h.


Member Function Documentation

string EMAN::ComplexPixelProcessor::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 2827 of file processor.h.

02828                 {
02829                         return "The base class for fourier space processor working on individual pixels. ri2ap() is called before processing, so individual pixels will be A/P rather than R/I. The processor won't consider the pixel's coordinates and neighbors.";
02830                 }

void ComplexPixelProcessor::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 1607 of file processor.cpp.

References EMAN::EMData::ap2ri(), data, EMAN::EMData::get_data(), EMAN::EMData::get_xsize(), EMAN::EMData::get_ysize(), EMAN::EMData::get_zsize(), EMAN::EMData::is_complex(), LOGWARN, process_pixel(), EMAN::EMData::ri2ap(), and EMAN::EMData::update().

01608 {
01609         if (!image) {
01610                 LOGWARN("NULL image");
01611                 return;
01612         }
01613         if (!image->is_complex()) {
01614                 LOGWARN("cannot apply complex processor on a real image. Nothing is done.");
01615                 return;
01616         }
01617 
01618         size_t size = (size_t)image->get_xsize() *
01619                           (size_t)image->get_ysize() *
01620                           (size_t)image->get_zsize();
01621         float *data = image->get_data();
01622 
01623         image->ri2ap();
01624 
01625         for (size_t i = 0; i < size; i += 2) {
01626                 process_pixel(data);
01627                 data += 2;
01628         }
01629 
01630         image->update();
01631         image->ap2ri();
01632 }

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

Implemented in EMAN::ComplexNormPixel.

Referenced by process_inplace().


The documentation for this class was generated from the following files:
Generated on Tue Jun 11 13:42:24 2013 for EMAN2 by  doxygen 1.3.9.1