EMAN2
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Attributes
EMAN::Wiener2DAutoAreaProcessor Class Reference

Automatically determines 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. More...

#include <processor.h>

Inheritance diagram for EMAN::Wiener2DAutoAreaProcessor:
Inheritance graph
[legend]
Collaboration diagram for EMAN::Wiener2DAutoAreaProcessor:
Collaboration graph
[legend]

List of all members.

Public Member Functions

string get_name () const
 Get the processor's name.
virtual EMDataprocess (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 ProcessorNEW ()

Static Public Attributes

static const string NAME = "filter.wiener2dauto"

Protected Attributes

int bgsize

Detailed Description

Automatically determines 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.

Parameters:
size[in]size in pixels of the boxes to chop the image into during processing
Author:
Steve Ludtke
Date:
2007/11/06

Definition at line 699 of file processor.h.


Member Function Documentation

string EMAN::Wiener2DAutoAreaProcessor::get_desc ( ) const [inline, virtual]

Get the descrition of this specific processor.

This function must be overwritten by a subclass.

Returns:
The description of this processor.

Implements EMAN::Processor.

Definition at line 730 of file processor.h.

                {
                        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";
                }
string EMAN::Wiener2DAutoAreaProcessor::get_name ( ) const [inline, virtual]

Get the processor's name.

Each processor is identified by a unique name.

Returns:
The processor's name.

Implements EMAN::Processor.

Definition at line 702 of file processor.h.

References NAME.

                {
                        return NAME;
                }
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.

Returns:
A dictionary containing the parameter info.

Reimplemented from EMAN::Processor.

Definition at line 718 of file processor.h.

References EMAN::EMObject::INT, and EMAN::TypeDict::put().

                {
                        TypeDict d;
                        d.put("size", EMObject::INT, "Size in pixels of the boxes to chop the image into");
                        return d;
                }
static Processor* EMAN::Wiener2DAutoAreaProcessor::NEW ( ) [inline, static]

Definition at line 725 of file processor.h.

                {
                        return new Wiener2DAutoAreaProcessor();
                }
EMData * Wiener2DAutoAreaProcessor::process ( const EMData *const  image) [virtual]

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.

Parameters:
imageThe image will be copied, actual process happen on copy of image.
Returns:
the image processing result, may or may not be the same size of the input image

Reimplemented from EMAN::Processor.

Definition at line 1209 of file processor.cpp.

References LOGWARN, and NullPointerException.

Referenced by process_inplace().

{
// TODO NOT IMPLEMENTED YET !!!
        EMData *ret = 0;
        const EMData *fft;
//      float *fftd;
//      int f=0;

        if (!image) {
                LOGWARN("NULL Image");
                return ret;
        }
        throw NullPointerException("Processor not yet implemented");

//      if (!image->is_complex()) {
//              fft = image->do_fft();
//              fftd = fft->get_data();
//              f=1;
//      }
//      else {
//              fft=image;
//              fftd=image->get_data();
//      }

        return ret;
}
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.

Parameters:
imageThe image to be processed.

Implements EMAN::Processor.

Definition at line 1236 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().

                                                             {
        EMData *tmp=process(image);
        memcpy(image->get_data(),tmp->get_data(),image->get_xsize()*image->get_ysize()*image->get_zsize()*sizeof(float));
        delete tmp;
        image->update();
        return;
}
void EMAN::Wiener2DAutoAreaProcessor::set_params ( const Dict new_params) [inline, virtual]

Set the processor parameters using a key/value dictionary.

Parameters:
new_paramsA dictionary containing the new parameters.

Reimplemented from EMAN::Processor.

Definition at line 711 of file processor.h.

References bgsize, and EMAN::Processor::params.

                {
                        params = new_params;
                        bgsize = params["size"];
//                      printf("%s %f\n",params.keys()[0].c_str(),lowpass);
                }

Member Data Documentation

Definition at line 738 of file processor.h.

Referenced by set_params().

const string Wiener2DAutoAreaProcessor::NAME = "filter.wiener2dauto" [static]

Definition at line 735 of file processor.h.

Referenced by get_name().


The documentation for this class was generated from the following files: