#include <processor.h>
Inheritance diagram for EMAN::Wiener2DAutoAreaProcessor:
Public Member Functions | |
string | get_name () const |
Get the processor's name. | |
virtual EMData * | process (const EMData *const image) |
To proccess an image out-of-place. | |
void | process_inplace (EMData *image) |
To process an image in-place. | |
void | set_params (const Dict &new_params) |
Set the processor parameters using a key/value dictionary. | |
TypeDict | get_param_types () const |
Get processor parameter information in a dictionary. | |
string | get_desc () const |
Get the descrition of this specific processor. | |
Static Public Member Functions | |
static Processor * | NEW () |
Static Public Attributes | |
static const string | NAME = "filter.wiener2dauto" |
Protected Attributes | |
int | bgsize |
size[in] | size in pixels of the boxes to chop the image into during processing |
Definition at line 631 of file processor.h.
string EMAN::Wiener2DAutoAreaProcessor::get_desc | ( | ) | const [inline, virtual] |
Get the descrition of this specific processor.
This function must be overwritten by a subclass.
Implements EMAN::Processor.
Definition at line 662 of file processor.h.
00663 { 00664 return "Automatically detrmines the background for the image then uses this to perform Wiener filters on overlapping subregions of the image, which are then combined using linear interpolation"; 00665 }
string EMAN::Wiener2DAutoAreaProcessor::get_name | ( | ) | const [inline, virtual] |
Get the processor's name.
Each processor is identified by a unique name.
Implements EMAN::Processor.
Definition at line 634 of file processor.h.
References NAME.
00635 { 00636 return NAME; 00637 }
TypeDict EMAN::Wiener2DAutoAreaProcessor::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.
Definition at line 650 of file processor.h.
References EMAN::EMObject::INT, and EMAN::TypeDict::put().
00651 { 00652 TypeDict d; 00653 d.put("size", EMObject::INT, "Size in pixels of the boxes to chop the image into"); 00654 return d; 00655 }
static Processor* EMAN::Wiener2DAutoAreaProcessor::NEW | ( | ) | [inline, static] |
Definition at line 657 of file processor.h.
00658 { 00659 return new Wiener2DAutoAreaProcessor(); 00660 }
To proccess an image out-of-place.
For those processors which can only be processed out-of-place, override this function to give the right behavior.
image | The image will be copied, actual process happen on copy of image. |
Reimplemented from EMAN::Processor.
Definition at line 1107 of file processor.cpp.
References EMAN::EMData::do_fft(), EMAN::EMData::get_data(), EMAN::EMData::is_complex(), LOGWARN, and NullPointerException.
Referenced by process_inplace().
01108 { 01109 // TODO NOT IMPLEMENTED YET !!! 01110 EMData *ret = 0; 01111 const EMData *fft; 01112 float *fftd; 01113 int f=0; 01114 01115 if (!image) { 01116 LOGWARN("NULL Image"); 01117 return ret; 01118 } 01119 throw NullPointerException("Processor not yet implemented"); 01120 01121 if (!image->is_complex()) { 01122 fft = image->do_fft(); 01123 fftd = fft->get_data(); 01124 f=1; 01125 } 01126 else { 01127 fft=image; 01128 fftd=image->get_data(); 01129 } 01130 01131 return ret; 01132 }
void Wiener2DAutoAreaProcessor::process_inplace | ( | EMData * | image | ) | [virtual] |
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.
image | The image to be processed. |
Implements EMAN::Processor.
Definition at line 1134 of file processor.cpp.
References EMAN::EMData::get_data(), EMAN::EMData::get_xsize(), EMAN::EMData::get_ysize(), EMAN::EMData::get_zsize(), process(), and EMAN::EMData::update().
01134 { 01135 EMData *tmp=process(image); 01136 memcpy(image->get_data(),tmp->get_data(),image->get_xsize()*image->get_ysize()*image->get_zsize()*sizeof(float)); 01137 delete tmp; 01138 image->update(); 01139 return; 01140 }
void EMAN::Wiener2DAutoAreaProcessor::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.
Definition at line 643 of file processor.h.
References bgsize, and EMAN::Processor::params.
00644 { 00645 params = new_params; 00646 bgsize = params["size"]; 00647 // printf("%s %f\n",params.keys()[0].c_str(),lowpass); 00648 }
int EMAN::Wiener2DAutoAreaProcessor::bgsize [protected] |
const string Wiener2DAutoAreaProcessor::NAME = "filter.wiener2dauto" [static] |