#include <processor.h>
Inheritance diagram for EMAN::AverageXProcessor:


Public Member Functions | |
| void | process_inplace (EMData *image) |
| To process an image in-place. | |
| string | get_name () const |
| Get the processor's name. | |
| string | get_desc () const |
| Get the descrition of this specific processor. | |
Static Public Member Functions | |
| Processor * | NEW () |
Static Public Attributes | |
| const string | NAME = "math.averageovery" |
Definition at line 3854 of file processor.h.
|
|
Get the descrition of this specific processor. This function must be overwritten by a subclass.
Implements EMAN::Processor. Definition at line 3869 of file processor.h. 03870 {
03871 return "Average along Y and replace with average";
03872 }
|
|
|
Get the processor's name. Each processor is identified by a unique name.
Implements EMAN::Processor. Definition at line 3859 of file processor.h. 03860 {
03861 return NAME;
03862 }
|
|
|
Definition at line 3864 of file processor.h. 03865 {
03866 return new AverageXProcessor();
03867 }
|
|
|
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.
Implements EMAN::Processor. Definition at line 3304 of file processor.cpp. References data, EMAN::EMData::get_data(), EMAN::EMData::get_xsize(), EMAN::EMData::get_ysize(), EMAN::EMData::get_zsize(), LOGWARN, nx, ny, EMAN::EMData::update(), x, and y. 03305 {
03306 if (!image) {
03307 LOGWARN("NULL Image");
03308 return;
03309 }
03310
03311 float *data = image->get_data();
03312 int nx = image->get_xsize();
03313 int ny = image->get_ysize();
03314 int nz = image->get_zsize();
03315 size_t nxy = (size_t)nx * ny;
03316
03317 size_t idx;
03318 for (int z = 0; z < nz; z++) {
03319 for (int x = 0; x < nx; x++) {
03320 double sum = 0;
03321 for (int y = 0; y < ny; y++) {
03322 idx = x + y * nx + z * nxy;
03323 sum += data[idx];
03324 }
03325 float mean = (float) sum / ny;
03326
03327 for (int y = 0; y < ny; y++) {
03328 idx = x + y * nx + z * nxy;
03329 data[idx] = mean;
03330 }
03331 }
03332 }
03333
03334 image->update();
03335 }
|
|
|
Definition at line 143 of file processor.cpp. |
1.3.9.1