#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::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::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::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::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::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 |
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 |