#include <processor.h>
Inheritance diagram for EMAN::CircularMaskProcessor:
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 2338 of file processor.h.
|
Definition at line 2341 of file processor.h. 02341 :inner_radius(0), outer_radius(0), inner_radius_square(0), 02342 outer_radius_square(0), dx(0), dy(0), dz(0), xc(0), yc(0), zc(0) 02343 { 02344 }
|
|
Reimplemented from EMAN::CoordinateProcessor. Reimplemented in EMAN::MaskEdgeMeanProcessor, and EMAN::MaskGaussInvProcessor. Definition at line 1558 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. 01559 { 01560 xc = nx / 2.0f + dx; 01561 yc = ny / 2.0f + dy; 01562 zc = nz / 2.0f + dz; 01563 01564 01565 if (outer_radius <= 0) { 01566 outer_radius = nx / 2; 01567 outer_radius_square = outer_radius * outer_radius; 01568 } 01569 01570 if (inner_radius <= 0) { 01571 inner_radius_square = 0; 01572 } 01573 }
|
|
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 2376 of file processor.h. 02377 { 02378 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()."; 02379 }
|
|
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 2381 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(). 02382 { 02383 TypeDict d; 02384 02385 d.put("inner_radius", EMObject::INT, "inner mask radius. optional, default=-1"); 02386 d.put("outer_radius", EMObject::INT, "outer mask radius"); 02387 02388 d.put("dx", EMObject::FLOAT, 02389 "Modify mask center by dx relative to the default center nx/2"); 02390 d.put("dy", EMObject::FLOAT, 02391 "Modify mask center by dy relative to the default center ny/2"); 02392 d.put("dz", EMObject::FLOAT, 02393 "Modify mask center by dz relative to the default center nz/2"); 02394 02395 return d; 02396 }
|
|
Reimplemented from EMAN::CoordinateProcessor. Definition at line 2400 of file processor.h. References EMAN::CoordinateProcessor::is_complex. 02401 { 02402 return (!is_complex); 02403 }
|
|
|
Implements EMAN::CoordinateProcessor. Definition at line 2405 of file processor.h. References dist(), process_dist_pixel(), xc, yc, and zc. 02406 { 02407 float dist = (xi - xc) * (xi - xc) + (yi - yc) * (yi - yc) + (zi - zc) * (zi - zc); 02408 process_dist_pixel(pixel, dist); 02409 }
|
|
Set the processor parameters using a key/value dictionary.
Reimplemented from EMAN::Processor. Reimplemented in EMAN::MaskSharpProcessor, EMAN::MaskEdgeMeanProcessor, and EMAN::MaskGaussProcessor. Definition at line 2346 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(). 02347 { 02348 params = new_params; 02349 02350 if (params.has_key("inner_radius")) { 02351 inner_radius = params["inner_radius"]; 02352 inner_radius_square = inner_radius * inner_radius; 02353 } 02354 else { 02355 inner_radius = -1; 02356 inner_radius_square = -1; 02357 } 02358 02359 if (params.has_key("outer_radius")) { 02360 outer_radius = params["outer_radius"]; 02361 outer_radius_square = outer_radius * outer_radius; 02362 } 02363 else { 02364 outer_radius = INT_MAX; 02365 outer_radius_square = INT_MAX; 02366 } 02367 02368 if (params.has_key("xc")) xc = params["xc"]; 02369 if (params.has_key("yc")) yc = params["yc"]; 02370 if (params.has_key("zc")) zc = params["zc"]; 02371 if (params.has_key("dx")) dx = params["dx"]; 02372 if (params.has_key("dy")) dy = params["dy"]; 02373 if (params.has_key("dz")) dz = params["dz"]; 02374 }
|
|
Definition at line 2417 of file processor.h. Referenced by calc_locals(), and set_params(). |
|
Definition at line 2417 of file processor.h. Referenced by calc_locals(), and set_params(). |
|
Definition at line 2417 of file processor.h. Referenced by calc_locals(), and set_params(). |
|
Definition at line 2413 of file processor.h. Referenced by calc_locals(), EMAN::MaskGaussProcessor::process_dist_pixel(), and set_params(). |
|
Definition at line 2415 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(). |
|
Definition at line 2414 of file processor.h. Referenced by EMAN::MaskEdgeMeanProcessor::calc_locals(), calc_locals(), and set_params(). |
|
Definition at line 2416 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(). |
|
Definition at line 2418 of file processor.h. Referenced by EMAN::MaskEdgeMeanProcessor::calc_locals(), calc_locals(), process_pixel(), and set_params(). |
|
Definition at line 2418 of file processor.h. Referenced by EMAN::MaskEdgeMeanProcessor::calc_locals(), calc_locals(), process_pixel(), and set_params(). |
|
Definition at line 2418 of file processor.h. Referenced by EMAN::MaskEdgeMeanProcessor::calc_locals(), calc_locals(), process_pixel(), and set_params(). |