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

Convert an image containing normalized correlation coefficients to SNR or a Wiener filter value used in conjunction with local resolution filtration. More...

#include <processor.h>

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

Public Member Functions

string get_name () const
 Get the processor's name. More...
 
TypeDict get_param_types () const
 Get processor parameter information in a dictionary. More...
 
string get_desc () const
 Get the descrition of this specific processor. More...
 
void process_inplace (EMData *image)
 To process an image in-place. 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 = "math.ccc_snr_wiener"
 

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

Convert an image containing normalized correlation coefficients to SNR or a Wiener filter value used in conjunction with local resolution filtration.

Definition at line 2218 of file processor.h.

Member Function Documentation

◆ get_desc()

string EMAN::CCCSNRProcessor::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 2238 of file processor.h.

2239 {
2240 return "Converts an image containing normalized CCC values to SNR or Wiener filter values. scalesnr defaults to 2, which\
2241 uses the SNR of the average of the two half-image volumes. ie - if scalesnr is 2: SNR = 2*FSC/(1-FSC)";
2242 }

◆ get_name()

string EMAN::CCCSNRProcessor::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 2221 of file processor.h.

2222 {
2223 return NAME;
2224 }
static const string NAME
Definition: processor.h:2246

References NAME.

◆ get_param_types()

TypeDict EMAN::CCCSNRProcessor::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 2230 of file processor.h.

2231 {
2232 TypeDict d;
2233 d.put("wiener", EMObject::INT, "If set, returns Wiener image, default returns SNR");
2234 d.put("scalesnr", EMObject::FLOAT, "Scales SSNR by provided value prior to return or use in Wiener calculation. Default 2 (compensates for FSC on 1/2 volumes)");
2235 return d;
2236 }
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::FLOAT, EMAN::EMObject::INT, and EMAN::TypeDict::put().

◆ NEW()

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

Definition at line 2225 of file processor.h.

2226 {
2227 return new CCCSNRProcessor();
2228 }
Convert an image containing normalized correlation coefficients to SNR or a Wiener filter value used ...
Definition: processor.h:2219

◆ process_inplace()

void CCCSNRProcessor::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 1203 of file processor.cpp.

1203 {
1204 size_t nxyz = image->get_size();
1205 int mode=params.set_default("wiener",0);
1206 float scale=params.set_default("scalesnr",2.0f);
1207
1208 for (size_t i=0; i<nxyz; i++) {
1209 float v=image->get_value_at_index(i);
1210 float snr=(v>=.9999)?10000.0f:scale*v/(1.0f-v);
1211 if (snr<0) snr=0.0f;
1212 if (mode) image->set_value_at_index(i,snr/(1.0f+snr));
1213 else image->set_value_at_index(i,snr);
1214 }
1215}
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

References EMAN::Processor::params, and EMAN::Dict::set_default().

Member Data Documentation

◆ NAME

const string CCCSNRProcessor::NAME = "math.ccc_snr_wiener"
static

Definition at line 2246 of file processor.h.

Referenced by get_name().


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