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


Public Member Functions | |
| ConvolutionProcessor () | |
| string | get_name () const |
| Get the processor's name. | |
| void | process_inplace (EMData *image) |
| To process an image in-place. | |
| string | get_desc () const |
| Get the descrition of this specific processor. | |
| TypeDict | get_param_types () const |
| Get processor parameter information in a dictionary. | |
Static Public Member Functions | |
| Processor * | NEW () |
Static Public Attributes | |
| const string | NAME = "math.convolution" |
| with | The image that will convolute the other image |
Definition at line 491 of file processor.h.
|
|
Definition at line 494 of file processor.h. 00494 {}
|
|
|
Get the descrition of this specific processor. This function must be overwritten by a subclass.
Implements EMAN::Processor. Definition at line 508 of file processor.h. 00509 {
00510 return "Performs Fourier space convolution. Maintains the space that the image is in - i.e. if image is real, the result is real and vice versa.";
00511 }
|
|
|
Get the processor's name. Each processor is identified by a unique name.
Implements EMAN::Processor. Definition at line 496 of file processor.h. 00497 {
00498 return NAME;
00499 }
|
|
|
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. Definition at line 513 of file processor.h. References EMAN::TypeDict::put(). 00514 {
00515 TypeDict d;
00516 d.put("with", EMObject::EMDATA, "The image that will convolute the other image");
00517 return d;
00518 }
|
|
|
Definition at line 503 of file processor.h. 00504 {
00505 return new ConvolutionProcessor();
00506 }
|
|
|
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 9177 of file processor.cpp. References EMAN::CIRCULANT, EMAN::CONVOLUTION, EMAN::fourierproduct(), EMAN::EMData::get_data(), EMAN::EMData::get_xsize(), EMAN::EMData::get_ysize(), EMAN::EMData::get_zsize(), InvalidParameterException, nx, ny, EMAN::Dict::set_default(), and EMAN::EMData::update(). 09178 {
09179 //bool complexflag = false;
09180 EMData* null = 0;
09181 EMData* with = params.set_default("with", null);
09182 if ( with == NULL ) throw InvalidParameterException("Error - the image required for the convolution is null");
09183
09184 EMData* newimage = fourierproduct(image, with, CIRCULANT, CONVOLUTION, false);
09185
09186 float* orig = image->get_data();
09187 float* work = newimage->get_data();
09188 int nx = image->get_xsize();
09189 int ny = image->get_ysize();
09190 int nz = image->get_zsize();
09191 memcpy(orig,work,nx*ny*nz*sizeof(float));
09192 image->update();
09193
09194 delete newimage;
09195 }
|
|
|
Definition at line 64 of file processor.cpp. |
1.3.9.1