32#ifndef eman_averager_h__
33#define eman_averager_h__ 1
142 virtual void mult(
const float& s);
181 return "Simple mean average of images";
193 d.
put(
"normimage",
EMObject::EMDATA,
"In conjunction with ignore0, the number of non zero values for each pixel will be stored in this image.");
198 virtual void mult(
const float&) { }
229 return "Average of images weighted by local similarity to unweighted average";
241 d.
put(
"normimage",
EMObject::EMDATA,
"After finish() will contain the sum of the weights in real-space");
242 d.
put(
"dampnoise",
EMObject::FLOAT,
"Will set a minimum mean*x for the norm image, damping regions with poor information. Default = 0.5, 0 disables. ");
243 d.
put(
"fourier",
EMObject::INT,
"If set does local weighting in Fourier rather than real space ");
275 return "EXPERIMENTAL! Not suggested for normal use. An iterative averager making use of local correlations for noise reduction";
316 return "Weighted mean of images in Fourier space. Each image must have weighting curve in its header, an XYData object called 'avg_weight'.";
328 d.
put(
"normimage",
EMObject::EMDATA,
"After finish() will contain the sum of the weights in each Fourier location. Size must be ((nx+1)/2,y)");
365 return "Average of volumes in Fourier space, excluding any pixels with near 0 intensity.";
376 d.
put(
"thresh_sigma",
EMObject::FLOAT,
"multiplied by the standard deviation of the image, below-which values are considered zero. Default = .01");
377 d.
put(
"save_norm",
EMObject::INT,
"If set, will save the normalization volume as norm.hdf. Mainly for debugging purposes.");
378 d.
put(
"normout",
EMObject::EMDATA,
"If set, will save the normalization volume in the given EMData object.");
384 virtual void mult(
const float&) { }
415 return "Finds the minimum or maximum value in each pixel";
426 d.
put(
"max",
EMObject::INT,
"If set, will find the max value, otherwise finds min");
427 d.
put(
"abs",
EMObject::INT,
"If set, will find the value with the min or max absolute value. The actual value is preserved.");
428 d.
put(
"owner",
EMObject::EMDATA,
"Contains the number of the input image which 'owns' the max/min value. Value will be insertion sequence number unless 'ortid' is set in each image being averaged.");
432 virtual void mult(
const float&) { }
461 return "Computes the median value instead of the mean. If even number of images, averages the middle two.";
501 return "Average without CTF correction but with CTF weighting. Smoothed SNR can still have large uncertainty, so weighting by envelope-free CTF may provide more uniform results.";
539 return "Average without CTF correction but with CTF weighting and automatic filter estimated from the data. Smoothed SNR can still have large uncertainty, so weighting by envelope-free CTF may provide more uniform results.";
580 return "Averaging with automatic CTF correction and SNR weight. No B-factor correction (as this is best done in 3-D). Bases estimated SSNR on CTF parameters, so requires EMAN2 CTF parameters.";
619 return "Averaging with autmatic CTF correction. Does not require a structure factor, but only works with EMAN2's CTF model";
661 return "Computes the standard deviation of images";
673 d.
put(
"normimage",
EMObject::EMDATA,
"In conjunction with ignore0, the number of non zero values for each pixel will be stored in this image.");
678 virtual void mult(
const float&) { }
Averager class defines a way to do averaging on a set of images.
virtual EMData * finish()=0
Finish up the averaging and return the result.
virtual void add_image_list(const vector< EMData * > &images)
To add multiple images to the Averager.
virtual string get_name() const =0
Get the Averager's name.
virtual string get_desc() const =0
virtual TypeDict get_param_types() const
Get Averager parameter information in a dictionary.
virtual void add_image(EMData *image)
To add an image to the Averager.
virtual void mult(const float &s)
Multiply the result image by some floating point constant This is useful when weighting the input ima...
virtual void set_params(const Dict &new_params)
Set the Averager parameters using a key/value dictionary.
CtfCWautoAverager averages the images with CTF correction with a Wiener filter.
string get_name() const
Get the Averager's name.
EMData * finish()
Finish up the averaging and return the result.
void set_params(const Dict &new_params)
Set the Averager parameters using a key/value dictionary.
void add_image(EMData *image)
To add an image to the Averager.
CtfCWautoAverager averages the images with CTF correction with a Wiener filter.
EMData * finish()
Finish up the averaging and return the result.
void add_image(EMData *image)
To add an image to the Averager.
string get_name() const
Get the Averager's name.
void set_params(const Dict &new_params)
Set the Averager parameters using a key/value dictionary.
void set_params(const Dict &new_params)
Set the Averager parameters using a key/value dictionary.
string get_name() const
Get the Averager's name.
EMData * finish()
Finish up the averaging and return the result.
void add_image(EMData *image)
To add an image to the Averager.
void add_image(EMData *image)
To add an image to the Averager.
void set_params(const Dict &new_params)
Set the Averager parameters using a key/value dictionary.
EMData * finish()
Finish up the averaging and return the result.
string get_name() const
Get the Averager's name.
Dict is a dictionary to store <string, EMObject> pair.
EMData stores an image's data and defines core image processing routines.
Factory is used to store objects to create new instances.
FourierWeightAverager makes an average of a set of images in Fourier space using a per-image radial w...
TypeDict get_param_types() const
Get Averager parameter information in a dictionary.
EMData * finish()
Finish up the averaging and return the result.
string get_name() const
Get the Averager's name.
void add_image(EMData *image)
To add an image to the Averager.
ImageAverager averages a list of images.
virtual void mult(const float &)
Multiply the result image by some floating point constant This is useful when weighting the input ima...
EMData * finish()
Finish up the averaging and return the result.
void add_image(EMData *image)
To add an image to the Averager.
TypeDict get_param_types() const
Get Averager parameter information in a dictionary.
string get_name() const
Get the Averager's name.
IterAverager performs iterative averaging of 3x3 pixel zones around each pixel, computing the mean of...
std::vector< EMData * > images
EMData * finish()
Finish up the averaging and return the result.
TypeDict get_param_types() const
Get Averager parameter information in a dictionary.
string get_name() const
Get the Averager's name.
void add_image(EMData *image)
To add an image to the Averager.
LocalWeightAverager makes an average of a set of images in Fourier space using a per-image radial wei...
string get_name() const
Get the Averager's name.
void add_image(EMData *image)
To add an image to the Averager.
EMData * finish()
Finish up the averaging and return the result.
std::vector< EMData * > images
TypeDict get_param_types() const
Get Averager parameter information in a dictionary.
ImageAverager averages a list of images.
EMData * finish()
Finish up the averaging and return the result.
virtual void mult(const float &)
Multiply the result image by some floating point constant This is useful when weighting the input ima...
void add_image(EMData *image)
To add an image to the Averager.
string get_name() const
Get the Averager's name.
TypeDict get_param_types() const
Get Averager parameter information in a dictionary.
SigmaAverager averages a list of images.
virtual void mult(const float &)
Multiply the result image by some floating point constant This is useful when weighting the input ima...
void add_image(EMData *image)
To add an image to the Averager.
string get_name() const
Get the Averager's name.
EMData * finish()
Finish up the averaging and return the result.
TypeDict get_param_types() const
Get Averager parameter information in a dictionary.
TomoAverager averages a list of volumes in Fourier space.
virtual void mult(const float &)
Multiply the result image by some floating point constant This is useful when weighting the input ima...
EMData * finish()
Finish up the averaging and return the result.
string get_name() const
Get the Averager's name.
void add_image(EMData *image)
To add an image to the Averager.
TypeDict get_param_types() const
Get Averager parameter information in a dictionary.
TypeDict is a dictionary to store <string, EMObject::ObjectType> pair.
void put(const string &key, EMObject::ObjectType o, const string &desc="")
map< string, vector< string > > dump_averagers_list()