EMAN2
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
EMAN::XYZProcessor Class Reference

XYZProcessor is a processor template for defining new processors. More...

#include <processor_template.h>

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

Public Member Functions

void process_inplace (EMData *image)
 define your Processor operation More...
 
string get_name () const
 Get the processor's name. More...
 
string get_desc () const
 Get the descrition of this specific processor. More...
 
TypeDict get_param_types () const
 Add your processor parameter names and types in get_param_types(). 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 Dict get_params () const
 Get the processor parameters in a key/value dictionary. More...
 
virtual void set_params (const Dict &new_params)
 Set the processor parameters using a key/value dictionary. More...
 

Static Public Member Functions

static ProcessorNEW ()
 
- 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...
 

Static Public Attributes

static const string NAME = "xyz"
 

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

Detailed Description

XYZProcessor is a processor template for defining new processors.

Please add your own code at the proper place.

1) Replace all 'XYZ' with your new processor name. 2) Define the processor parameter names and types in get_param_types(). 3) Implement the processor in XYZProcessor::process_inplace().

Definition at line 48 of file processor_template.h.

Member Function Documentation

◆ get_desc()

string EMAN::XYZProcessor::get_desc ( ) const
inlinevirtual

Get the descrition of this specific processor.

This function must be overwritten by a subclass.

Returns
The description of this processor.

Implements EMAN::Processor.

Definition at line 63 of file processor_template.h.

64 {
65 return "add your documentation here.";
66 }

◆ get_name()

string EMAN::XYZProcessor::get_name ( ) const
inlinevirtual

Get the processor's name.

Each processor is identified by a unique name.

Returns
The processor's name.

Implements EMAN::Processor.

Definition at line 53 of file processor_template.h.

54 {
55 return NAME;
56 }
static const string NAME

References NAME.

◆ get_param_types()

TypeDict EMAN::XYZProcessor::get_param_types ( ) const
inlinevirtual

Add your processor parameter names and types in get_param_types().

For available parameter types, please refer class EMObject.

As an example, XYZProcessor has 2 parameters: int value1; float value2;

Reimplemented from EMAN::Processor.

Definition at line 76 of file processor_template.h.

77 {
78 TypeDict d;
79 d.put("value1", EMObject::INT);
80 d.put("value2", EMObject::FLOAT);
81 return d;
82 }
TypeDict is a dictionary to store <string, EMObject::ObjectType> pair.
Definition: emobject.h:305
void put(const string &key, EMObject::ObjectType o, const string &desc="")
Definition: emobject.h:330

References EMAN::EMObject::FLOAT, EMAN::EMObject::INT, and EMAN::TypeDict::put().

◆ NEW()

static Processor * EMAN::XYZProcessor::NEW ( )
inlinestatic

Definition at line 58 of file processor_template.h.

59 {
60 return new XYZProcessor();
61 }
XYZProcessor is a processor template for defining new processors.

◆ process_inplace()

void XYZProcessor::process_inplace ( EMData image)
virtual

define your Processor operation

Implements EMAN::Processor.

Definition at line 41 of file processor_template.cpp.

42{
43 if (!image) {
44 return;
45 }
46
47
48 // The following are the sample code to get your parameters. Then
49 // go through the image data pixel.
50#if 0
51 int value1 = params["value1"];
52 float value2 = params["value2"];
53
54 float *data = image->get_data();
55 int size = image->get_xsize() * image->get_ysize() * image->get_zsize();
56 for (int i = 0; i < size; i++) {
57 if (data[i] <= value1 && data[i] >= value2) {
58 data[i] = 0;
59 }
60 }
61#endif
62
63}

References EMAN::Processor::params.

Member Data Documentation

◆ NAME

const string XYZProcessor::NAME = "xyz"
static

Definition at line 84 of file processor_template.h.

Referenced by get_name().


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