#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.
Namespaces | |
| namespace | EMAN |
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::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::Wiener2DFourierProcessor |
| Wiener filter based on a Ctf object either in the image header. More... | |
| class | EMAN::LinearRampFourierProcessor |
| 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::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::InvertCarefullyProcessor |
| Invert 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::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::SymAlignProcessor |
| Aligns a particle with the specified symmetry into the standard orientation for that symmetry. 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::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::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::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::AutoMask3DProcessor |
| Tries to mask out only interesting density. More... | |
| class | EMAN::AutoMask3D2Processor |
| Tries to mask out only interesting density. 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::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::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 |
Defines | |
| #define | eman_processor_h__ 1 |
| |
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 () |
| #define eman_processor_h__ 1 |
1.4.7