#include <processor.h>


Public Member Functions | |
| CircularMaskProcessor () | |
| void | set_params (const Dict &new_params) |
| Set the processor parameters using a key/value dictionary. | |
| string | get_desc () const |
| Get the descrition of this specific processor. | |
| TypeDict | get_param_types () const |
| Get processor parameter information in a dictionary. | |
Protected Member Functions | |
| void | calc_locals (EMData *image) |
| bool | is_valid () const |
| void | process_pixel (float *pixel, int xi, int yi, int zi) const |
| virtual void | process_dist_pixel (float *pixel, float dist) const =0 |
Protected Attributes | |
| int | inner_radius |
| int | outer_radius |
| int | inner_radius_square |
| int | outer_radius_square |
| float | dx |
| float | dy |
| float | dz |
| float | xc |
| float | yc |
| float | zc |
| inner_radius | inner mask radius. optional, default=-1 | |
| outer_radius | outer mask radius | |
| dx | Modify mask center by dx relative to the default center nx/2 | |
| dy | Modify mask center by dy relative to the default center ny/2 | |
| dz | Modify mask center by dz relative to the default center nz/2 |
Definition at line 2106 of file processor.h.
| EMAN::CircularMaskProcessor::CircularMaskProcessor | ( | ) | [inline] |
Definition at line 2109 of file processor.h.
02109 :inner_radius(0), outer_radius(0), inner_radius_square(0), 02110 outer_radius_square(0), dx(0), dy(0), dz(0), xc(0), yc(0), zc(0) 02111 { 02112 }
| void EMAN::CircularMaskProcessor::set_params | ( | const Dict & | new_params | ) | [inline, virtual] |
Set the processor parameters using a key/value dictionary.
| new_params | A dictionary containing the new parameters. |
Reimplemented from EMAN::Processor.
Reimplemented in EMAN::MaskSharpProcessor, EMAN::MaskEdgeMeanProcessor, and EMAN::MaskGaussProcessor.
Definition at line 2114 of file processor.h.
References dx, dy, dz, EMAN::Dict::has_key(), inner_radius, inner_radius_square, outer_radius, outer_radius_square, EMAN::Processor::params, xc, yc, and zc.
Referenced by EMAN::MaskGaussProcessor::set_params(), EMAN::MaskEdgeMeanProcessor::set_params(), and EMAN::MaskSharpProcessor::set_params().
02115 { 02116 params = new_params; 02117 02118 if (params.has_key("inner_radius")) { 02119 inner_radius = params["inner_radius"]; 02120 inner_radius_square = inner_radius * inner_radius; 02121 } 02122 else { 02123 inner_radius = -1; 02124 inner_radius_square = -1; 02125 } 02126 02127 if (params.has_key("outer_radius")) { 02128 outer_radius = params["outer_radius"]; 02129 outer_radius_square = outer_radius * outer_radius; 02130 } 02131 else { 02132 outer_radius = INT_MAX; 02133 outer_radius_square = INT_MAX; 02134 } 02135 02136 if (params.has_key("xc")) xc = params["xc"]; 02137 if (params.has_key("yc")) yc = params["yc"]; 02138 if (params.has_key("zc")) zc = params["zc"]; 02139 if (params.has_key("dx")) dx = params["dx"]; 02140 if (params.has_key("dy")) dy = params["dy"]; 02141 if (params.has_key("dz")) dz = params["dz"]; 02142 }
| string EMAN::CircularMaskProcessor::get_desc | ( | ) | const [inline, virtual] |
Get the descrition of this specific processor.
This function must be overwritten by a subclass.
Implements EMAN::Processor.
Reimplemented in EMAN::MaskSharpProcessor, EMAN::MaskEdgeMeanProcessor, EMAN::MaskNoiseProcessor, EMAN::MaskGaussProcessor, EMAN::MaskGaussInvProcessor, EMAN::MakeRadiusSquaredProcessor, and EMAN::MakeRadiusProcessor.
Definition at line 2144 of file processor.h.
02145 { 02146 return "CircularMaskProcessor applies a circular mask to the data.This is the base class for specific circular mask processors.Its subclass must implement process_dist_pixel()."; 02147 }
| TypeDict EMAN::CircularMaskProcessor::get_param_types | ( | ) | const [inline, virtual] |
Get processor parameter information in a dictionary.
Each parameter has one record in the dictionary. Each record contains its name, data-type, and description.
Reimplemented from EMAN::Processor.
Reimplemented in EMAN::MaskSharpProcessor, EMAN::MaskEdgeMeanProcessor, EMAN::MaskGaussProcessor, and EMAN::MaskGaussInvProcessor.
Definition at line 2149 of file processor.h.
References EMAN::EMObject::FLOAT, EMAN::EMObject::INT, and EMAN::TypeDict::put().
Referenced by EMAN::MaskGaussInvProcessor::get_param_types(), EMAN::MaskGaussProcessor::get_param_types(), EMAN::MaskEdgeMeanProcessor::get_param_types(), and EMAN::MaskSharpProcessor::get_param_types().
02150 { 02151 TypeDict d; 02152 02153 d.put("inner_radius", EMObject::INT, "inner mask radius. optional, default=-1"); 02154 d.put("outer_radius", EMObject::INT, "outer mask radius"); 02155 02156 d.put("dx", EMObject::FLOAT, 02157 "Modify mask center by dx relative to the default center nx/2"); 02158 d.put("dy", EMObject::FLOAT, 02159 "Modify mask center by dy relative to the default center ny/2"); 02160 d.put("dz", EMObject::FLOAT, 02161 "Modify mask center by dz relative to the default center nz/2"); 02162 02163 return d; 02164 }
| void CircularMaskProcessor::calc_locals | ( | EMData * | image | ) | [protected, virtual] |
Reimplemented from EMAN::CoordinateProcessor.
Reimplemented in EMAN::MaskEdgeMeanProcessor, and EMAN::MaskGaussInvProcessor.
Definition at line 1067 of file processor.cpp.
References dx, dy, dz, inner_radius, inner_radius_square, EMAN::CoordinateProcessor::nx, EMAN::CoordinateProcessor::ny, EMAN::CoordinateProcessor::nz, outer_radius, outer_radius_square, xc, yc, and zc.
01068 { 01069 xc = nx / 2.0f + dx; 01070 yc = ny / 2.0f + dy; 01071 zc = nz / 2.0f + dz; 01072 01073 01074 if (outer_radius <= 0) { 01075 outer_radius = nx / 2; 01076 outer_radius_square = outer_radius * outer_radius; 01077 } 01078 01079 if (inner_radius <= 0) { 01080 inner_radius_square = 0; 01081 } 01082 }
| bool EMAN::CircularMaskProcessor::is_valid | ( | ) | const [inline, protected, virtual] |
Reimplemented from EMAN::CoordinateProcessor.
Definition at line 2168 of file processor.h.
References EMAN::CoordinateProcessor::is_complex.
02169 { 02170 return (!is_complex); 02171 }
| void EMAN::CircularMaskProcessor::process_pixel | ( | float * | pixel, | |
| int | xi, | |||
| int | yi, | |||
| int | zi | |||
| ) | const [inline, protected, virtual] |
Implements EMAN::CoordinateProcessor.
Definition at line 2173 of file processor.h.
References dist(), process_dist_pixel(), xc, yc, and zc.
02174 { 02175 float dist = (xi - xc) * (xi - xc) + (yi - yc) * (yi - yc) + (zi - zc) * (zi - zc); 02176 process_dist_pixel(pixel, dist); 02177 }
| virtual void EMAN::CircularMaskProcessor::process_dist_pixel | ( | float * | pixel, | |
| float | dist | |||
| ) | const [protected, pure virtual] |
int EMAN::CircularMaskProcessor::inner_radius [protected] |
Definition at line 2181 of file processor.h.
Referenced by calc_locals(), EMAN::MaskGaussProcessor::process_dist_pixel(), and set_params().
int EMAN::CircularMaskProcessor::outer_radius [protected] |
Definition at line 2182 of file processor.h.
Referenced by EMAN::MaskEdgeMeanProcessor::calc_locals(), calc_locals(), and set_params().
int EMAN::CircularMaskProcessor::inner_radius_square [protected] |
Definition at line 2183 of file processor.h.
Referenced by calc_locals(), EMAN::MaskGaussProcessor::process_dist_pixel(), EMAN::MaskNoiseProcessor::process_dist_pixel(), EMAN::MaskEdgeMeanProcessor::process_dist_pixel(), EMAN::MaskSharpProcessor::process_dist_pixel(), and set_params().
int EMAN::CircularMaskProcessor::outer_radius_square [protected] |
Definition at line 2184 of file processor.h.
Referenced by calc_locals(), EMAN::MaskGaussProcessor::process_dist_pixel(), EMAN::MaskNoiseProcessor::process_dist_pixel(), EMAN::MaskEdgeMeanProcessor::process_dist_pixel(), EMAN::MaskSharpProcessor::process_dist_pixel(), and set_params().
float EMAN::CircularMaskProcessor::dx [protected] |
float EMAN::CircularMaskProcessor::dy [protected] |
float EMAN::CircularMaskProcessor::dz [protected] |
float EMAN::CircularMaskProcessor::xc [protected] |
Definition at line 2186 of file processor.h.
Referenced by EMAN::MaskEdgeMeanProcessor::calc_locals(), calc_locals(), process_pixel(), and set_params().
float EMAN::CircularMaskProcessor::yc [protected] |
Definition at line 2186 of file processor.h.
Referenced by EMAN::MaskEdgeMeanProcessor::calc_locals(), calc_locals(), process_pixel(), and set_params().
float EMAN::CircularMaskProcessor::zc [protected] |
Definition at line 2186 of file processor.h.
Referenced by EMAN::MaskEdgeMeanProcessor::calc_locals(), calc_locals(), process_pixel(), and set_params().
1.5.6