EMAN2
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
EMAN::RealPixelProcessor Class Referenceabstract

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]

Public Member Functions

 RealPixelProcessor ()
 
void process_inplace (EMData *image)
 To process an image in-place. More...
 
virtual void set_params (const Dict &new_params)
 Set the processor parameters using a key/value dictionary. More...
 
- Public Member Functions inherited from EMAN::Processor
virtual ~Processor ()
 
virtual EMDataprocess (const EMData *const image)
 To proccess an image out-of-place. More...
 
virtual void process_list_inplace (vector< EMData * > &images)
 To process multiple images using the same algorithm. More...
 
virtual string get_name () const =0
 Get the processor's name. More...
 
virtual Dict get_params () const
 Get the processor parameters in a key/value dictionary. More...
 
virtual TypeDict get_param_types () const
 Get processor parameter information in a dictionary. More...
 
virtual string get_desc () const =0
 Get the descrition of this specific processor. More...
 

Static Public Member Functions

static string get_group_desc ()
 
- Static Public Member Functions inherited from EMAN::Processor
static string get_group_desc ()
 Get the description of this group of processors. More...
 
static void EMFourierFilterInPlace (EMData *fimage, Dict params)
 Compute a Fourier-filter processed image in place. More...
 
static EMDataEMFourierFilter (EMData *fimage, Dict params)
 Compute a Fourier-processor processed image without altering the original image. More...
 

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
 
- Protected Attributes inherited from EMAN::Processor
Dict params
 

Additional Inherited Members

- Public Types inherited from EMAN::Processor
enum  fourier_filter_types {
  TOP_HAT_LOW_PASS , TOP_HAT_HIGH_PASS , TOP_HAT_BAND_PASS , TOP_HOMOMORPHIC ,
  GAUSS_LOW_PASS , GAUSS_HIGH_PASS , GAUSS_BAND_PASS , GAUSS_INVERSE ,
  GAUSS_HOMOMORPHIC , BUTTERWORTH_LOW_PASS , BUTTERWORTH_HIGH_PASS , BUTTERWORTH_HOMOMORPHIC ,
  KAISER_I0 , KAISER_SINH , KAISER_I0_INVERSE , KAISER_SINH_INVERSE ,
  SHIFT , TANH_LOW_PASS , TANH_HIGH_PASS , TANH_HOMOMORPHIC ,
  TANH_BAND_PASS , RADIAL_TABLE , CTF_
}
 Fourier filter Processor type enum. More...
 

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

Constructor & Destructor Documentation

◆ RealPixelProcessor()

EMAN::RealPixelProcessor::RealPixelProcessor ( )
inline

Definition at line 2181 of file processor.h.

Member Function Documentation

◆ calc_locals()

virtual void EMAN::RealPixelProcessor::calc_locals ( EMData )
inlineprotectedvirtual

Definition at line 2202 of file processor.h.

2203 {
2204 }

Referenced by process_inplace().

◆ get_group_desc()

static string EMAN::RealPixelProcessor::get_group_desc ( )
inlinestatic

Definition at line 2195 of file processor.h.

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

◆ normalize()

virtual void EMAN::RealPixelProcessor::normalize ( EMData ) const
inlineprotectedvirtual

Definition at line 2205 of file processor.h.

2206 {
2207 }

◆ process_inplace()

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
imageThe image to be processed.

Implements EMAN::Processor.

Definition at line 2243 of file processor.cpp.

2244{
2245 if (!image) {
2246 LOGWARN("NULL Image");
2247 return;
2248 }
2249
2250 maxval = image->get_attr("maximum");
2251 mean = image->get_attr("mean");
2252 sigma = image->get_attr("sigma");
2253
2254 calc_locals(image);
2255
2256 size_t size = (size_t)image->get_xsize() *
2257 (size_t)image->get_ysize() *
2258 (size_t)image->get_zsize();
2259 float *data = image->get_data();
2260
2261 for (size_t i = 0; i < size; ++i) {
2262 process_pixel(&data[i]);
2263 }
2264 image->update();
2265}
virtual void calc_locals(EMData *)
Definition: processor.h:2202
virtual void process_pixel(float *x) const =0
#define LOGWARN
Definition: log.h:53

References calc_locals(), LOGWARN, maxval, mean, process_pixel(), and sigma.

◆ process_pixel()

virtual void EMAN::RealPixelProcessor::process_pixel ( float *  x) const
protectedpure virtual

◆ set_params()

virtual void EMAN::RealPixelProcessor::set_params ( const Dict new_params)
inlinevirtual

Set the processor parameters using a key/value dictionary.

Parameters
new_paramsA dictionary containing the new parameters.

Reimplemented from EMAN::Processor.

Reimplemented in EMAN::FixSignProcessor, EMAN::RecipCarefullyProcessor, EMAN::ValuePowProcessor, EMAN::DiscritizeProcessor, EMAN::CollapseProcessor, EMAN::LinearXformProcessor, EMAN::ExpProcessor, EMAN::FiniteProcessor, EMAN::RangeThresholdProcessor, and EMAN::SigmaProcessor.

Definition at line 2186 of file processor.h.

2187 {
2188 params = new_params;
2189 if (params.size() == 1) {
2190 vector < EMObject > dict_values = params.values();
2191 value = dict_values[0];
2192 }
2193 }
vector< EMObject > values() const
Get a vector containing copies of each of the EMObjects in this dictionary.
Definition: emobject.h:487
size_t size() const
Ask the Dictionary for its size.
Definition: emobject.h:519

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

Member Data Documentation

◆ maxval

float EMAN::RealPixelProcessor::maxval
protected

Definition at line 2210 of file processor.h.

Referenced by process_inplace().

◆ mean

float EMAN::RealPixelProcessor::mean
protected

Definition at line 2211 of file processor.h.

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

◆ sigma

float EMAN::RealPixelProcessor::sigma
protected

◆ value

float EMAN::RealPixelProcessor::value
protected

The documentation for this class was generated from the following files: