EMAN2
Classes | Namespaces | Functions
processor.h File Reference
#include "emobject.h"
#include "util.h"
#include "geometry.h"
#include "transform.h"
#include "emdata.h"
#include "gorgon/skeletonizer.h"
#include <cfloat>
#include <climits>
#include <cstring>
Include dependency graph for processor.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  EMAN::Processor
 Typical usage of Processors are as follows: More...
class  EMAN::ImageProcessor
class  EMAN::FourierProcessor
 base class for Fourier filters More...
class  EMAN::FourierAnlProcessor
 Same as FourierProcessor, except first computes the current image radial power spectrum and passes it to the processor (no radial oversampling, number of elements = radius) More...
class  EMAN::SNREvalProcessor
 Evaluate individual particle images using a tenchique similar to that used for CTF evaluation. More...
class  EMAN::Axis0FourierProcessor
 Zeroes the values on the X=0 and y=0 Fourier axes (except x=y=0) More...
class  EMAN::AmpweightFourierProcessor
 Multiplies each Fourier pixel by its amplitude. More...
class  EMAN::ConvolutionProcessor
 This processor performs fast convolution in Fourier space. More...
class  EMAN::XGradientProcessor
 Determines the partial derivatives in the x direction Does this by constructing edge kernels in real space but convoluting in Fourier space. More...
class  EMAN::YGradientProcessor
class  EMAN::ZGradientProcessor
class  EMAN::Wiener2DAutoAreaProcessor
 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...
class  EMAN::DistanceSegmentProcessor
 Segment a volume about:homeinto subvolumes based on a center separation value. More...
class  EMAN::KmeansSegmentProcessor
 Segment a volume into ~n subvolumes using K-means classification. More...
class  EMAN::CtfSimProcessor
 CTF simulation processor. More...
class  EMAN::Wiener2DFourierProcessor
 Wiener filter based on a Ctf object either in the image header. More...
class  EMAN::LinearRampFourierProcessor
class  EMAN::LowpassRandomPhaseProcessor
 Lowpass Phase Randomization processor applied in Fourier space. More...
class  EMAN::LowpassAutoBProcessor
 processor radial function: if lowpass > 0, f(x) = exp(-x*x/(lowpass*lowpass)); else f(x) = exp(x*x/(lowpass*lowpass)) More...
class  EMAN::HighpassAutoPeakProcessor
 This processor attempts to remove the low resolution peak present in all cryoEM data. More...
class  EMAN::LinearRampProcessor
 processor radial function: f(x) = slope * x + intercept More...
class  EMAN::LoGFourierProcessor
 processor radial function: f(x) = ((x^2 - s^2)/s^4)e^-(x^2/2s^2) More...
class  EMAN::DoGFourierProcessor
 processor radial function: f(x) = 1/sqrt(2*pi)*[1/sigma1*exp-(x^2/2*sigma1^2) - 1/sigma2*exp-(x^2/2*sigma2^2)] More...
class  EMAN::RealPixelProcessor
 The base class for real space processor working on individual pixels. More...
class  EMAN::AbsoluateValueProcessor
 f(x) = |x| More...
class  EMAN::FloorValueProcessor
 f(x) = floor(x) More...
class  EMAN::BooleanProcessor
 f(x) = 0 if x = 0; f(x) = 1 if x != 0 More...
class  EMAN::RecipCarefullyProcessor
 Reciprocal image as if f(x) != 0: f(x) = 1/f(x) else: f(x) = zero_to. More...
class  EMAN::ValuePowProcessor
 Do a math power operation on image, f(x) = x ^ pow;. More...
class  EMAN::ValueSquaredProcessor
 Do a square operation on image, f(x) = x * x;. More...
class  EMAN::ValueSqrtProcessor
 f(x) = sqrt(x) More...
class  EMAN::ToZeroProcessor
 f(x) = x if x >= minval; f(x) = 0 if x < minval More...
class  EMAN::AboveToZeroProcessor
 f(x) = x if x <= maxval; f(x) = 0 if x > maxval More...
class  EMAN::AddShapeProcessor
 Rotate by 180 using pixel swapping, works for 2D only. More...
class  EMAN::Rotate180Processor
 Rotate by 180 using pixel swapping, works for 2D only. More...
class  EMAN::TransformProcessor
 Transform the image using a Transform object. More...
class  EMAN::IntTranslateProcessor
 Translate the image an integer amount Uses EMData::clip_inplace (inplace) and EMData::get_clip (out of place) to do the translation. More...
class  EMAN::ApplySymProcessor
 Applies a symmetry to a 3D model. More...
class  EMAN::ScaleTransformProcessor
 Scale the image with control over the output dimensions. More...
class  EMAN::ClampingProcessor
 f(x) = maxval if f(x) > maxval; f(x) = minval if f(x) < minval More...
class  EMAN::NSigmaClampingProcessor
 This function clamps the min and max vals in the image at minval and maxval at mean-n*sigma and mean+n*sigma, respectively. More...
class  EMAN::ToMinvalProcessor
 f(x) = x if x >= minval; f(x) = minval if x < minval More...
class  EMAN::CutToZeroProcessor
 f(x) = x-minval if x >= minval; f(x) = 0 if x < minval More...
class  EMAN::BinarizeProcessor
 f(x) = 0 if x < value; f(x) = 1 if x >= value. More...
class  EMAN::BinarizeFourierProcessor
 A thresholding processor for Fourier images based on the amplitude component. More...
class  EMAN::CollapseProcessor
 f(x): if v-r<x<v+r -> v; if x>v+r -> x-r; if x<v-r -> x+r More...
class  EMAN::LinearXformProcessor
 linear transform processor: f(x) = x * scale + shift More...
class  EMAN::ExpProcessor
 f(x) = exp( x / low - high) More...
class  EMAN::FiniteProcessor
 f(x) = f(x) if f(x) is finite | to if f(x) is not finite More...
class  EMAN::RangeThresholdProcessor
 f(x) = 1 if (low <= x <= high); else f(x) = 0 More...
class  EMAN::SigmaProcessor
 f(x) = mean if x<(mean-v2*sigma) or x>(mean+v1*sigma); else f(x) = x; More...
class  EMAN::LogProcessor
 f(x) = log10(x) if x > 0; else f(x) = 0 More...
class  EMAN::CoordinateProcessor
 CoordinateProcessor applies processing based on a pixel's value and it coordinates. More...
class  EMAN::CircularMaskProcessor
 CircularMaskProcessor applies a circular mask to the data.This is the base class for specific circular mask processors.Its subclass must implement process_dist_pixel(). More...
class  EMAN::MaskSharpProcessor
 step cutoff to a user-given value in both inner and outer circles. More...
class  EMAN::MaskSoftProcessor
 step cutoff to a user-given value in both inner and outer circles. More...
class  EMAN::MaskEdgeMeanProcessor
 A step cutoff to the the mean value in a ring centered on the outer radius. More...
class  EMAN::MaskNoiseProcessor
 fills masked region More...
class  EMAN::MaskGaussProcessor
 a gaussian falloff to zero, radius is the 1/e of the width. More...
class  EMAN::MaskGaussNonuniformProcessor
 a gaussian falloff to zero, with nonisotropic widths along x,y,z More...
class  EMAN::MaskGaussInvProcessor
 f(x) = f(x) / exp(-radius*radius * gauss_width / (ny*ny)) More...
class  EMAN::LinearPyramidProcessor
 Multiplies image by a 'linear pyramid' 1-(|x-xsize/2|*|y-ysize/2|*4/(xsize*ysize)) This is useful in averaging together boxed out regions with 50% overlap. More...
class  EMAN::MakeRadiusSquaredProcessor
 overwrites input, f(x) = radius * radius More...
class  EMAN::MakeRadiusProcessor
 overwrites input, f(x) = radius More...
class  EMAN::ComplexPixelProcessor
 The base class for fourier space processor working on individual pixels. More...
class  EMAN::ComplexNormPixel
 Each Fourier pixel will be normalized. More...
class  EMAN::AreaProcessor
 AreaProcessor use pixel values and coordinates of a real-space square area. More...
class  EMAN::LaplacianProcessor
 Discrete approximation to Laplacian. More...
class  EMAN::ZeroConstantProcessor
 Contraction of data, if any nearest neighbor is 0, value -> 0, generally used iteratively. More...
class  EMAN::BoxStatProcessor
 BoxStatProcessor files are a kind of neighborhood processors. More...
class  EMAN::BoxMedianProcessor
 A processor for noise reduction. More...
class  EMAN::BoxSigmaProcessor
 pixel = standard deviation of values surrounding pixel. More...
class  EMAN::BoxMaxProcessor
 peak processor: pixel = max of values surrounding pixel. More...
class  EMAN::MinusPeakProcessor
 peak processor: pixel = pixel - max of values surrounding pixel. More...
class  EMAN::PeakOnlyProcessor
 peak processor -> if npeaks or more surrounding values >= value, value->0 More...
class  EMAN::DiffBlockProcessor
 averages over cal_half_width, then sets the value in a local block More...
class  EMAN::CutoffBlockProcessor
 Block processor, val1 is dx/dy, val2 is lp freq cutoff in pixels. More...
class  EMAN::BooleanShrinkProcessor
 BooleanShrinkProcessor encapsulates code common to MaxShrinkProcessor and MinShrinkProcessor - the processors use more or less identical code, the main difference being the logical operator. More...
class  EMAN::MaxShrinkProcessor
 MaxShrinkProcessors shrinks an image by in an integer amount, keeping the maximum pixel value - useful when constructing binary search trees in the marching cubes algorithm. More...
struct  EMAN::MaxShrinkProcessor::GreaterThan
class  EMAN::MinShrinkProcessor
 MinShrinkProcessor shrinks an image by in an integer amount, keeping the minimum pixel value - useful when constructing binary search trees in the marching cubes algorithm. More...
struct  EMAN::MinShrinkProcessor::LessThan
class  EMAN::MeanShrinkProcessor
 MeanShrinkProcessor shrinks an image by in an integer amount (and optionally by 1.5) taking the mean of the pixel neighbourhood. More...
class  EMAN::MedianShrinkProcessor
 MeanShrinkProcessor shrinks an image by in an integer amount taking the median of the pixel neighbourhood. More...
class  EMAN::FFTResampleProcessor
 FFTResampleProcessor resamples an image by clipping the Fourier Transform This is the same as multipyling the FT by a box window, in real space this is a convolution that will induce rippling. More...
class  EMAN::GradientRemoverProcessor
 Gradient remover, does a rough plane fit to find linear gradients. More...
class  EMAN::GradientPlaneRemoverProcessor
 Gradient removed by least square plane fit. More...
class  EMAN::NonConvexProcessor
 Make a curve or surface non-convex (planar or concave), iteratively. More...
class  EMAN::FlattenBackgroundProcessor
 Flattens the background by subtracting the local mean. More...
class  EMAN::RampProcessor
 Ramp processor -- Fits a least-squares plane to the picture, and subtracts the plane from the picture. More...
class  EMAN::VerticalStripeProcessor
 Tries to fix images scanned on the zeiss for poor ccd normalization. More...
class  EMAN::RealToFFTProcessor
 This will replace the image with a full-circle 2D fft amplitude rendering. More...
class  EMAN::SigmaZeroEdgeProcessor
 Fill zeroes at edges with nearest horizontal/vertical value. More...
class  EMAN::BeamstopProcessor
 Try to eliminate beamstop in electron diffraction patterns. More...
class  EMAN::MeanZeroEdgeProcessor
 Fill zeroes at edges with nearest horizontal/vertical value damped towards Mean2. More...
class  EMAN::AverageXProcessor
 Average along Y and replace with average. More...
class  EMAN::DecayEdgeProcessor
 Decay edges of image to zero. More...
class  EMAN::ZeroEdgeRowProcessor
 zero edges of image on top and bottom, and on left and right. More...
class  EMAN::ZeroEdgePlaneProcessor
 zero edges of volume on all sides More...
class  EMAN::BilateralProcessor
 Bilateral processing on 2D or 3D volume data. More...
class  EMAN::NormalizeProcessor
 Base class for normalization processors. More...
class  EMAN::NormalizeUnitProcessor
 Normalize an image so its vector length is 1.0. More...
class  EMAN::NormalizeUnitSumProcessor
 Normalize an image so its elements sum to 1.0 (fails if mean=0) More...
class  EMAN::NormalizeStdProcessor
 do a standard normalization on an image. More...
class  EMAN::NormalizeMaskProcessor
 Uses a 1/0 mask defining a region to use for the zero-normalization.if no_sigma is 1, standard deviation not modified. More...
class  EMAN::NormalizeRampNormVar
 Normalize the image whilst also removing any ramps. More...
class  EMAN::NormalizeByMassProcessor
 Normalize the mass of the image assuming a density of 1.35 g/ml (0.81 Da/A^3). More...
class  EMAN::NormalizeEdgeMeanProcessor
 normalizes an image, mean value equals to edge mean. More...
class  EMAN::NormalizeCircleMeanProcessor
 normalizes an image, mean value equals to mean of 2 pixel circular border. More...
class  EMAN::NormalizeLREdgeMeanProcessor
 normalizes an image, uses 2 pixels on left and right edge More...
class  EMAN::NormalizeMaxMinProcessor
 normalizes an image. More...
class  EMAN::NormalizeRowProcessor
 normalizes each row in the image individually More...
class  EMAN::SubtractOptProcessor
 Sorry for the pun. More...
class  EMAN::NormalizeToLeastSquareProcessor
 use least square method to normalize More...
class  EMAN::RotationalAverageProcessor
 makes image circularly symmetric. More...
class  EMAN::RotationalSubstractProcessor
 subtracts circularly symmetric part of an image. More...
class  EMAN::TransposeProcessor
 Transpose a 2D image. More...
class  EMAN::FlipProcessor
 flip an image around an axis More...
class  EMAN::AddNoiseProcessor
 add noise to an image More...
class  EMAN::AddSigmaNoiseProcessor
 add sigma noise, multiply image's sigma value to noise More...
class  EMAN::AddRandomNoiseProcessor
 add spectral noise to a complex image More...
class  EMAN::FourierToCornerProcessor
 Undo the effects of the FourierToCenterProcessor. More...
class  EMAN::FourierToCenterProcessor
 Translates the origin in Fourier space from the corner to the center in y and z Handles 2D and 3D, and handles all combinations of even and oddness Typically you call this function after Fourier transforming a real space image. More...
class  EMAN::Phase180Processor
 This class is abstract. More...
class  EMAN::PhaseToCenterProcessor
 Translates a cornered image to the center Undoes the PhaseToCornerProcessor. More...
class  EMAN::PhaseToCornerProcessor
 Translates a centered image to the corner works for 1D, 2D and 3D images, for all combinations of even and oddness. More...
class  EMAN::AutoMask2DProcessor
 Attempts to automatically mask out the particle, excluding other particles in the box, etc. More...
class  EMAN::AutoMaskAsymUnit
 Tries to mask out only interesting density. More...
class  EMAN::AutoMaskDustProcessor
 A "dust removal" filter which will remove above threshold densities smaller than a given size. More...
class  EMAN::AutoMask3DProcessor
 Tries to mask out only interesting density. More...
class  EMAN::AutoMask3D2Processor
 Tries to mask out only interesting density. More...
class  EMAN::IterMultiMaskProcessor
 This expands a multilevel mask volume so inter-mask boundaries are preserved. More...
class  EMAN::AddMaskShellProcessor
 Add additional shells/rings to an existing 1/0 mask image. More...
class  EMAN::PhaseToMassCenterProcessor
 ToMassCenterProcessor centers image at center of mass, ignores old dx, dy. More...
class  EMAN::ToMassCenterProcessor
 ToMassCenterProcessor centers image at center of mass, ignores old dx, dy. More...
class  EMAN::ACFCenterProcessor
 Center image using auto convolution with 180 degree rotation. More...
class  EMAN::FSCFourierProcessor
 This processor will apply a Wiener filter to a volume based on a provided FSC curve. More...
class  EMAN::SNRProcessor
 Processor the images by the estimated SNR in each image.if parameter 'wiener' is 1, then wiener processor the images using the estimated SNR with CTF amplitude correction. More...
class  EMAN::FileFourierProcessor
 A fourier processor specified in a 2 column text file. More...
class  EMAN::SymSearchProcessor
 Identifiy the best symmetry in the given symmetry list for each pixel and then apply the best symmetry to each pixel. More...
class  EMAN::StripeXYProcessor
 This processor will remove localized 'striping' along the x/y axes, caused by issues with CCD/CMOS readout. More...
class  EMAN::LocalNormProcessor
 This processor attempts to perform a 'local normalization' so low density and high density features will be on a more even playing field in an isosurface display. More...
class  EMAN::IndexMaskFileProcessor
 Multiplies the image by the specified file using pixel indices. More...
class  EMAN::CoordinateMaskFileProcessor
 Multiplies the image by the specified file using pixel coordinates instead of pixel indices. More...
class  EMAN::PaintProcessor
 'paints' a circle into the image at x,y,z with values inside r1 set to v1, values between r1 and r2 will be set to a value between v1 and v2, and values outside r2 will be unchanged More...
class  EMAN::DirectionalSumProcessor
 Does a projection in one the axial directions Doesn't support process_inplace (because the output has potentially been compressed in one dimension) More...
class  EMAN::WatershedProcessor
 'paints' a circle into the image at x,y,z with values inside r1 set to v1, values between r1 and r2 will be set to a value between v1 and v2, and values outside r2 will be unchanged More...
class  EMAN::BinaryOperateProcessor< Type >
 Operates on two images, returning an image containing the maximum/minimum/multiplied pixel (etc, you choose) at each location The actual operation depends on what template argument you use. More...
class  EMAN::MaxPixelOperator
class  EMAN::MinPixelOperator
class  EMAN::MatchSFProcessor
 Sets the structure factor To match a second provided image/volume. More...
class  EMAN::SetSFProcessor
 Sets the structure factor based on a 1D s/intensity curve as an XYData object. More...
class  EMAN::SmartMaskProcessor
 Smart mask processor. More...
class  EMAN::IterBinMaskProcessor
 Iterative expansion of a binary mask, val1 is number of pixels to expand, if val2!=0 will make a soft Gaussian edge starting after val2 pixels. More...
class  EMAN::TestImageProcessor
 Base class for a group of 'processor' used to create test image. More...
class  EMAN::TestImagePureGaussian
 Replace a source image as a strict Gaussian. More...
class  EMAN::TestImageFourierNoiseGaussian
 Replace a source image as a strict Gaussian. More...
class  EMAN::TestImageFourierNoiseProfile
class  EMAN::CTFSNRWeightProcessor
class  EMAN::TestImageLineWave
 Treats the pixels as though they are 1D (even if the image is 2D or 3D), inserting a sine wave of pixel period extracted from the parameters (default is 10) More...
class  EMAN::TestTomoImage
 Make an image useful for tomographic reconstruction testing this is a 3D phantom image based on the 2D phantom described in Delaney and Bresler, "Globally convergent edge-preserving regularized reconstruction: An application to limited-angle tomography". More...
class  EMAN::TestImageGradient
 Put a gradient in the image of the form y = mx+b : "x" is a string indicating any of the image axes, i.e., x,y or z. More...
class  EMAN::TestImageAxes
 Make an image consisting of a single cross, with lines going in the axial directions, intersecting at the origin. More...
class  EMAN::TestImageGaussian
 Replace a source image as a Gaussian Blob. More...
class  EMAN::TestImageScurve
 Replace a source image with a lumpy S-curve used for alignment testing. More...
class  EMAN::TestImageSphericalWave
 Replace a source image as a sine wave in specified wave length. More...
class  EMAN::TestImageSinewave
 Replace a source image as a sine wave in specified wave length. More...
class  EMAN::TestImageSinewaveCircular
 Replace a source image as a circular sine wave in specified wave length. More...
class  EMAN::TestImageSquarecube
 Replace a source image as a square or cube depends on 2D or 3D of the source image. More...
class  EMAN::TestImageEllipse
 Generate an ellipse or ellipsoid image. More...
class  EMAN::TestImageHollowEllipse
 Generate an ellipse/ellipsoid image with an inner hollow ellipse/ellipsoid. More...
class  EMAN::TestImageCirclesphere
 Replace a source image as a circle or sphere depends on 2D or 3D of the source image. More...
class  EMAN::TestImageNoiseUniformRand
 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...
class  EMAN::TestImageNoiseGauss
 Replace a source image with gaussian distributed random noise If you don't provide a seed at all, it should be seeded using the best available source of randomness( time(0) in this implementation). More...
class  EMAN::TestImageCylinder
 Replace a source image with a cylinder. More...
class  EMAN::CCDNormProcessor
 Try to normalize the 4 quadrants of a CCD image. More...
class  EMAN::WaveletProcessor
 Perform a Wavelet transform using GSL. More...
class  EMAN::TomoTiltEdgeMaskProcessor
 A processor designed specifically for tomographic tilt series data. More...
class  EMAN::TomoTiltEdgeMaskProcessor::GaussianFunctoid
class  EMAN::TomoTiltAngleWeightProcessor
 A processor that can be used to weight an image by 1/cos(angle) This processor evolved originally as an experimental tool for weighting tomographic data by the width of its cross section relative to the electron beam. More...
class  EMAN::FFTProcessor
 Perform a FFT transform by calling EMData::do_fft() and EMData::do_ift() More...
class  EMAN::RadialProcessor
 Perform a multiplication of real image with a radial table. More...
class  EMAN::HistogramBin
 Bins pixel values, similar to calculating a histogram. More...
class  EMAN::ModelHelixProcessor
class  EMAN::ModelEMCylinderProcessor
class  EMAN::ApplyPolynomialProfileToHelix
class  EMAN::BinarySkeletonizerProcessor
class  EMAN::ConvolutionKernelProcessor
class  EMAN::RotateInFSProcessor

Namespaces

namespace  EMAN
 

df3 file format (http://www.povray.org/documentation/view/3.6.1/374) Header: The df3 format consists of a 6 byte header of three 16-bit integers with high order byte first.


Functions

int EMAN::multi_processors (EMData *image, vector< string > processornames)
void EMAN::dump_processors ()
map< string, vector< string > > EMAN::dump_processors_list ()
map< string, vector< string > > EMAN::group_processors ()