EMAN2
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
EMAN::IndexMaskFileProcessor Class Reference

Multiplies the image by the specified file using pixel indices. More...

#include <processor.h>

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

Public Member Functions

virtual void process_inplace (EMData *image)
 To process an image in-place. More...
 
virtual string get_name () const
 Get the processor's name. More...
 
virtual TypeDict get_param_types () const
 Get processor parameter information in a dictionary. More...
 
virtual string get_desc () const
 Get the descrition of this specific processor. More...
 
- Public Member Functions inherited from EMAN::Processor
virtual ~Processor ()
 
virtual EMDataprocess (const EMData *const image)
 To proccess an image out-of-place. More...
 
virtual void process_list_inplace (vector< EMData * > &images)
 To process multiple images using the same algorithm. More...
 
virtual Dict get_params () const
 Get the processor parameters in a key/value dictionary. More...
 
virtual void set_params (const Dict &new_params)
 Set the processor parameters using a key/value dictionary. More...
 

Static Public Member Functions

static ProcessorNEW ()
 
- Static Public Member Functions inherited from EMAN::Processor
static string get_group_desc ()
 Get the description of this group of processors. More...
 
static void EMFourierFilterInPlace (EMData *fimage, Dict params)
 Compute a Fourier-filter processed image in place. More...
 
static EMDataEMFourierFilter (EMData *fimage, Dict params)
 Compute a Fourier-processor processed image without altering the original image. More...
 

Static Public Attributes

static const string NAME = "mask.fromfile"
 

Additional Inherited Members

- Public Types inherited from EMAN::Processor
enum  fourier_filter_types {
  TOP_HAT_LOW_PASS , TOP_HAT_HIGH_PASS , TOP_HAT_BAND_PASS , TOP_HOMOMORPHIC ,
  GAUSS_LOW_PASS , GAUSS_HIGH_PASS , GAUSS_BAND_PASS , GAUSS_INVERSE ,
  GAUSS_HOMOMORPHIC , BUTTERWORTH_LOW_PASS , BUTTERWORTH_HIGH_PASS , BUTTERWORTH_HOMOMORPHIC ,
  KAISER_I0 , KAISER_SINH , KAISER_I0_INVERSE , KAISER_SINH_INVERSE ,
  SHIFT , TANH_LOW_PASS , TANH_HIGH_PASS , TANH_HOMOMORPHIC ,
  TANH_BAND_PASS , RADIAL_TABLE , CTF_
}
 Fourier filter Processor type enum. More...
 
- Protected Attributes inherited from EMAN::Processor
Dict params
 

Detailed Description

Multiplies the image by the specified file using pixel indices.

The images must be same size. If 'ismaskset=' is 1, it will take a file containing a set of masks and apply the first mask to the image.

Parameters
filenamemask image file name
ismasksetIf set to 1, it will take a file containing a set of masks and apply the first mask to the image

Definition at line 7506 of file processor.h.

Member Function Documentation

◆ get_desc()

virtual string EMAN::IndexMaskFileProcessor::get_desc ( ) const
inlinevirtual

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 7530 of file processor.h.

7531 {
7532 return "Multiplies the image by the specified filename or image object. Note that 'image' should be specified rather than filename for e2proc2d or e2proc3d, as these programs automatically read image filenames when specified as parameters. So-called multi-level masks are also supported via the 'maskset' option.";
7533 }

◆ get_name()

virtual string EMAN::IndexMaskFileProcessor::get_name ( ) const
inlinevirtual

Get the processor's name.

Each processor is identified by a unique name.

Returns
The processor's name.

Implements EMAN::Processor.

Definition at line 7511 of file processor.h.

7512 {
7513 return NAME;
7514 }
static const string NAME
Definition: processor.h:7535

References NAME.

◆ get_param_types()

virtual TypeDict EMAN::IndexMaskFileProcessor::get_param_types ( ) const
inlinevirtual

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 7521 of file processor.h.

7522 {
7523 TypeDict d;
7524 d.put("filename", EMObject::STRING, "mask image file name");
7525 d.put("image", EMObject::EMDATA, "The actual mask image (instead of the filename).");
7526 d.put("maskset", EMObject::INT, "One common way to store multiple masks in a single image is to assign a single integer value to each mask. For files of this type, will set values N-0.5<X<N+0.5 to 1, and other values to zero, before applying the mask.");
7527 return d;
7528 }
TypeDict is a dictionary to store <string, EMObject::ObjectType> pair.
Definition: emobject.h:305
void put(const string &key, EMObject::ObjectType o, const string &desc="")
Definition: emobject.h:330

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

◆ NEW()

static Processor * EMAN::IndexMaskFileProcessor::NEW ( )
inlinestatic

Definition at line 7516 of file processor.h.

7517 {
7518 return new IndexMaskFileProcessor();
7519 }
Multiplies the image by the specified file using pixel indices.
Definition: processor.h:7507

◆ process_inplace()

void IndexMaskFileProcessor::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 8118 of file processor.cpp.

8119{
8120 if (!image) {
8121 LOGWARN("NULL Image");
8122 return;
8123 }
8124 EMData* mask = params.set_default("image",(EMData*)0);
8125
8126 if (mask==0) {
8127 const char *filename = params["filename"];
8128 mask=new EMData(filename,0);
8129 if (!EMUtil::is_same_size(image, mask)) {
8130 delete mask;
8131 LOGERR("IndexMaskFileProcessor: Mask size different than image");
8132 return;
8133 }
8134 }
8135 else mask=mask->copy();
8136
8137 int maskset=params.set_default("maskset",-1);
8138 if (maskset>=0) {
8139 mask->process_inplace("threshold.binaryrange", Dict("low", (float)(maskset-0.5), "high", (float)(maskset+0.5)));
8140 }
8141
8142 image->mult(*mask);
8143 delete mask;
8144}
Dict is a dictionary to store <string, EMObject> pair.
Definition: emobject.h:385
type set_default(const string &key, type val)
Default setting behavior This can be achieved using a template - d.woolford Jan 2008 (before there wa...
Definition: emobject.h:569
EMData stores an image's data and defines core image processing routines.
Definition: emdata.h:82
static bool is_same_size(const EMData *image1, const EMData *image2)
Check whether two EMData images are of the same size.
Definition: emutil.cpp:1224
#define LOGWARN
Definition: log.h:53
#define LOGERR
Definition: log.h:51

References EMAN::EMUtil::is_same_size(), LOGERR, LOGWARN, EMAN::Processor::params, and EMAN::Dict::set_default().

Member Data Documentation

◆ NAME

const string IndexMaskFileProcessor::NAME = "mask.fromfile"
static

Definition at line 7535 of file processor.h.

Referenced by get_name().


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