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

Replace a source image as a uniform random noise, random number generated from gsl_rng_mt19937, the pixel value is from 0 to 1, [0, 1) More...

#include <processor.h>

Inheritance diagram for EMAN::TestImageNoiseUniformRand:
Inheritance graph
[legend]
Collaboration diagram for EMAN::TestImageNoiseUniformRand:
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 string get_desc () const
 Get the descrition of this specific processor. More...
 
virtual TypeDict get_param_types () const
 Get processor parameter information in a dictionary. 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::TestImageProcessor
static string get_group_desc ()
 
- 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 = "testimage.noise.uniform.rand"
 

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 Member Functions inherited from EMAN::TestImageProcessor
void preprocess (EMData *image)
 
- Protected Attributes inherited from EMAN::TestImageProcessor
int nx
 
int ny
 
int nz
 
- Protected Attributes inherited from EMAN::Processor
Dict params
 

Detailed Description

Replace a source image as a uniform random noise, random number generated from gsl_rng_mt19937, the pixel value is from 0 to 1, [0, 1)

Parameters
seedseed for random number generator

Definition at line 8770 of file processor.h.

Member Function Documentation

◆ get_desc()

virtual string EMAN::TestImageNoiseUniformRand::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 8780 of file processor.h.

8781 {
8782 return "Replace a source image as a uniform random noise, random number generated from gsl_rng_mt19937, the pixel value is [0, 1)";
8783 }

◆ get_name()

virtual string EMAN::TestImageNoiseUniformRand::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 8775 of file processor.h.

8776 {
8777 return NAME;
8778 }
static const string NAME
Definition: processor.h:8797

References NAME.

◆ get_param_types()

virtual TypeDict EMAN::TestImageNoiseUniformRand::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 8790 of file processor.h.

8791 {
8792 TypeDict d;
8793 d.put("seed", EMObject::INT, "seed for random number generator");
8794 return d;
8795 }
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::INT, and EMAN::TypeDict::put().

◆ NEW()

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

Definition at line 8785 of file processor.h.

8786 {
8787 return new TestImageNoiseUniformRand();
8788 }
Replace a source image as a uniform random noise, random number generated from gsl_rng_mt19937,...
Definition: processor.h:8771

◆ process_inplace()

void TestImageNoiseUniformRand::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 10038 of file processor.cpp.

10039{
10040 preprocess(image);
10041
10042 Randnum * r = Randnum::Instance();
10043 if(params.has_key("seed")) {
10044 r->set_seed((int)params["seed"]);
10045 }
10046
10047 float *dat = image->get_data();
10048 size_t size = (size_t)nx*ny*nz;
10049 for (size_t i=0; i<size; ++i) {
10050 dat[i] = r->get_frand();
10051 }
10052
10053 image->update();
10054}
bool has_key(const string &key) const
Ask the Dictionary if it as a particular key.
Definition: emobject.h:511
The wrapper class for gsl's random number generater.
Definition: randnum.h:86
void set_seed(unsigned long long seed)
Set the seed for the random number generator.
Definition: randnum.cpp:142
static Randnum * Instance()
Definition: randnum.cpp:104
float get_frand(double lo=0.0, double hi=1.0) const
This function returns a random float from lo inclusive to hi.
Definition: randnum.cpp:158
void preprocess(EMData *image)
Definition: processor.cpp:8923

References EMAN::Randnum::get_frand(), EMAN::Dict::has_key(), EMAN::Randnum::Instance(), EMAN::TestImageProcessor::nx, EMAN::TestImageProcessor::ny, EMAN::TestImageProcessor::nz, EMAN::Processor::params, EMAN::TestImageProcessor::preprocess(), and EMAN::Randnum::set_seed().

Member Data Documentation

◆ NAME

const string TestImageNoiseUniformRand::NAME = "testimage.noise.uniform.rand"
static

Definition at line 8797 of file processor.h.

Referenced by get_name().


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