Functions | |
template<class ImageType> | |
void | Addition (const ImageType &im1, const ImageType &im2, ImageType &imDest) |
template<class ImageType> | |
void | AdditionWithConstant (const ImageType &im1, const typename ImageType::value_type &scalarValue, ImageType &imDest) |
template<class ImageType> | |
void | Difference (const ImageType &im1, const ImageType &im2, ImageType &imDest) |
template<class ImageType> | |
void | DifferenceWithConstant (const ImageType &im1, const typename ImageType::value_type &scalarValue, ImageType &imDest) |
template<class ImageType> | |
void | Multiplication (const ImageType &im1, const ImageType &im2, ImageType &imDest) |
template<class ImageType> | |
void | MultiplicationWithConstant (const ImageType &im1, double scalarValue, ImageType &imDest) |
template<class ImageType> | |
void | Division (const ImageType &im1, const ImageType &im2, ImageType &imDest) |
template<class ImageType> | |
void | MaxImage (const ImageType &im1, const ImageType &im2, ImageType &imDest) |
template<class ImageType> | |
void | Abs (const ImageType &im1, ImageType &imDest) |
template<class ImageType1, class ImageType2> | |
void | ImageTypeConversion (const ImageType1 &src, ImageType2 &res) |
template<class ImageType> | |
void | Crop (const ImageType &src, const RectZone3Di &zone, ImageType &res0) |
template<class ImageType> | |
void | FindFirstDifference (const ImageType &src1, const ImageType &src2, bool &found, Vect3Di &pos) |
template<class ImageType> | |
void | FindMinMax (const ImageType &src, typename ImageType::value_type &vmin, typename ImageType::value_type &vmax, Vect3Di *posMin=NULL, Vect3Di *posMax=NULL) |
template<class ImageType> | |
void | L2Norm (const ImageType &src, double &energy) |
template<class ImageType> | |
void | SetAllVoxels (const ImageType &src, const typename ImageType::value_type &v, ImageType &res) |
template<class ImageType> | |
void | AddMask (const ImageType &src, ImageType &res, const Mask3D *mask=NULL) |
template<class ImageType> | |
void | GetMask (const ImageType &src, Mask3D &res) |
template<class ImageType> | |
void | ApplyMask (const ImageType &src, ImageType &res, byte maskvalue=0, const Mask3D *optmask=NULL) |
template<class ImageType> | |
void | SetDefaultInterpolator (const ImageType &src, const string &name, ImageType &res) |
template<class ComplexImageType> | |
void | ExtractFromComplexImage (const ComplexImageType &src, const string &type, Image3Df &res) |
template<class ImageType> | |
void | SetProperty (const ImageType &src, const string &name, const string &typeName, string value, ImageType &res) |
template<class ImageType> | |
void | RemoveProperty (const ImageType &src, const string &name, ImageType &res) |
template<class ImageType> | |
void | Pad (const ImageType &src, Vect3Di paddingV, ImageType &res, bool padLinear=false) |
template<class ImageType> | |
void | Convolution (const ImageType &imToConvolve, const Filter &imFilter, ImageType &imResult) |
template<class ImageType> | |
void | SeparableConvolution (const ImageType &imToConvolve, const SeparableFilter &filter, ImageType &imResult) |
template<class ImageType> | |
void | ConvolutionFFT (const ImageType &imToConvolve, const Filter &imFilter, ImageType &imResult) |
template<class ImageType> | |
void | PartialSum (const ImageType &cumSum, const RectZone3Di &r0, typename ImageType::value_type &res) |
template<class ImageType> | |
void | CumulativeSum (const ImageType &src, ImageType &res0) |
template<class ImageType> | |
void | BoxFilter (const ImageType &src, int size, ImageType &res0) |
template<class ImageType> | |
void | GaussianApproxFilter (const ImageType &src, int order, int size, ImageType &res) |
template<class ImageType> | |
void | BorderCorrectedGaussianApproxFilter (const ImageType &src, int size, int nbFilterIter, ImageType &res) |
template<class ImageType> | |
void | SymmetricBinomialFilter (const ImageType &src, int order, ImageType &res) |
void | FFTLowPassFilterApodizedIdeal (const Image3Df &src, float cutoffFreq, Image3Df &res, float rolloffFactor=0) |
void | FFTLowPassFilterButterworth (const Image3Df &src, float cutoffFreq, float order, Image3Df &res) |
void | FFTLowPassFilterChebyscheff (const Image3Df &src, float cutoffFreq, float order, Image3Df &res) |
template<> | |
void | Convolution< Image3Dcomplex > (const Image3Dcomplex &imToConvolute, const Filter &imFilter, Image3Dcomplex &imResult) |
template<class ImageType> | |
void | DrawSegment3D (const ImageType &src, const Segment3D &segment, const Pen< typename ImageType::value_type > &pen, ImageType &res) |
void | FFT (const Image3Df &src, Image3Dcomplexf &res, bool resultFullSize=true) |
void | FFT (const Image3Dd &src, Image3Dcomplexd &res, bool resultFullSize=true) |
void | FFT (const Image3Dcomplexf &src, Image3Dcomplexf &res, bool resultFullSize=true) |
void | FFT (const Image3Dcomplexd &src, Image3Dcomplexd &res, bool resultFullSize=true) |
void | FFTInverse (const Image3Dcomplexf &src, Image3Dcomplexf &res, int resultWidth=0, bool overwriteSrc=false) |
void | FFTInverse (const Image3Dcomplexd &src, Image3Dcomplexd &res, int resultWidth=0, bool overwriteSrc=false) |
void | FFTInverse (const Image3Dcomplexf &src, Image3Df &res, int resultWidth=0, bool overwriteSrc=false) |
void | FFTInverse (const Image3Dcomplexd &src, Image3Dd &res, int resultWidth=0, bool overwriteSrc=false) |
template<class ImageType> | |
void | ImageFromRawData (const typename ImageType::value_type *data, const Size3D &size, string order, ImageType &res, bool reverseEndian=false) |
template<class ImageType> | |
void | RawDataFromImage (const ImageType &src, string order, typename ImageType::value_type **pres, bool reverseEndian=false) |
template<class ImageType> | |
void | WriteToFileAVW (const ImageType &src, const string &fname) |
template<class ImageType> | |
void | ReadFromFileAVW (const string &fname, ImageType &res) |
void | ReadFromFileBruker (const string &fname, int imageNumber, Image3Dlinear< short int > &res) |
template<class ImageType> | |
void | ExportImageSlice (const ImageType &src, int direction, int position, const string &fname, float rescale=1) |
template<class ImageType> | |
void | ScalarProduct (const ImageType &im1, const ImageType &im2, double &retValue) |
void | RobustAverageAndVariance (const Image3Df &src, double &average, double &variance) |
template<class ImageType> | |
void | Average (const ImageType &src, typename ImageType::value_type &average) |
template<class ImageType> | |
void | AverageAndVariance (const ImageType &src, double &average, double &variance) |
template<class ImageType> | |
void | Median (const ImageType &src, double &res, double part=.5, double precision=-.1) |
template<class ImageType> | |
void | InsertImage (const ImageType &src, const ImageType &insert, const Vect3Di &pos, ImageType &res) |
template<class ImageType> | |
void | ResizeImageSupport (const ImageType &src, const Size3D &newSize, ImageType &res0, const typename ImageType::value_type *fillValue=NULL) |
template<class ImageType> | |
void | MedianFilter (const ImageType &src, const StructureElement &mask, ImageType &res) |
template<class ImageType> | |
void | SharpeningFilter (const ImageType &src, const StructureElement &mask, ImageType &res) |
template<class ImageType> | |
void | Erosion (const ImageType &src, const StructureElement &mask, ImageType &res) |
template<class ImageType> | |
void | Dilation (const ImageType &src, const StructureElement &mask, ImageType &res) |
template<class ImageType> | |
void | Opening (const ImageType &src, const StructureElement &mask, ImageType &res) |
template<class ImageType> | |
void | Closing (const ImageType &src, const StructureElement &mask, ImageType &res) |
void | DistanceTransform (const Mask3D &src, const StructureElement &mask, Image3Df &res, bool borderExtend=false) |
template<class ImageType> | |
void | ConnectedComponentLabelling (const ImageType &src, const StructureElement &mask0, LabelImage3D &res, typename ImageType::value_type *background0=NULL) |
void | FillHoles (const Mask3D &src, const StructureElement &mask, Mask3D &res) |
template<class ImageType> | |
void | MakeValueList (const ImageType &src, ImageValues< typename ImageType::value_type > &res) |
void | LargestConnectedComponent (const Mask3D &src, Mask3D &res) |
void | NoiseVarianceEstimation (const Image3Df &_image, double &variance) |
void | NormalizeAverage (const Image3Df &src, const Image3Df &ref, Image3Df &res) |
void | NormalizeAverageAndVariance (const Image3Df &src, const Image3Df &ref, Image3Df &res) |
void | ComputeJointHistogramImage (const Image3Df &src, const Image3Df &ref, Image3Df &res, int drawTransferFunction=0, int nbSrcBins=100, int nbRefBins=200) |
void | NormalizeJointHistogram (const Image3Df &src, const Image3Df &ref, Image3Df &res, int nbSrcBins=100, int nbRefBins=200) |
template<class ImageType> | |
void | CenterOfGravity (const ImageType &src, double &mass, Vect3Df ¢erOfGravity) |
template<class ImageType> | |
void | PrincipalAxes (const ImageType &src, vector< Vect3Df > &pprincipalAxes, double *_mass=NULL, Vect3Df *_centerOfGravity=NULL) |
void | BoundingBox (const Mask3D &mask, RectZone3Di &bbox) |
void | Sphere (const Size3D &size, const Vect3Df &C, float r, Image3Df &ima) |
void | Explode (const Size3D &size, const Vect3Df &C, Field3Df &ima) |
void | Cone (const Size3D &size, const Vect3Df &P0, const Vect3Df &P1, float r, Image3Df &ima, float ar=4.0) |
void | NoiseUniform (const Size3D &size, Image3Df &ima, float v0=0, float v1=1) |
void | NoiseGaussian (const Size3D &size, Image3Df &ima, float v0=0, float v1=1) |
void | Target (const Size3D &size, Image3Df &ima) |
void | Bump (const Size3D &size, const Vect3Df ¢er, float height, float gsize, Image3Df &ima) |
void | Ramp (const Size3D &size, int direction, float v0, float v1, Image3Df &res, int pos0=-1, int pos1=-1) |
void | Parallellogram (const Size3D &size, const RectZone3Di &rect, Image3Df &ima) |
void | RectangularGrid (const Size3D &size, const Size3D &masksize, Image3Df &ima, const Vect3Di *pintersection=NULL) |
void | ColoredGrid (const Size3D &size, const Size3D &masksize, Mask3D &ima, StructureElementType neighborhoodtype=MORPHO_Cross7) |
template<class ImageType> | |
void | SimpleThreshold (const ImageType &src, const typename ImageType::value_type &t, Mask3D &res) |
template<class ImageType> | |
void | SimpleThresholds2 (const ImageType &src, const typename ImageType::value_type &t1, const typename ImageType::value_type &t2, Mask3D &res) |
template<class ImageType> | |
void | LimitThreshold (const ImageType &src, const typename ImageType::value_type &t1, const typename ImageType::value_type &t2, ImageType &res) |
template<class ImageType> | |
void | OtsuThresholds (const ImageType &src, Mask3D &res, int nbClasses=2, vector< double > *pthresholds=NULL, int nbBins=1000) |
void | UniModalThreshold (const Image3Df &src, double &threshold, Mask3D *res=NULL) |
template<class ImageType> | |
void | TransformWithInverseField (const ImageType &imOrig, const Field3Df &field, ImageType &imRes) |
template<class ImageType> | |
void | TransformAffine (const ImageType &imOrig, const Affine3DTransform &transfo, ImageType &imDest, const Size3D *resSize=NULL) |
template<class ImageType> | |
void | Scale (const ImageType &src, const Size3D &newSize, ImageType &res) |
template<class ImageType> | |
void | WrapTranslate (const ImageType &src, const Vect3Di &t0, ImageType &res0) |
template<class ImageType> | |
void | Flip (const ImageType &src, const string &axes, ImageType &res0) |
template<class ImageType> | |
void | SwapAxes (const ImageType &src, const string &axes, ImageType &res0) |
template<> | |
void | TransformWithInverseField< Mask3D > (const Mask3D &imOrig, const Field3Df &field, Mask3D &_imRes) |
Transforming a mask is more complex than for a normal image. | |
void | TransformRectangularGrid (Image3Df &image, const Field3Df &field, const Size3D masksize, bool bAverageField=true) |
template<class ImageType> | |
void | AnimateField (const ImageType &imSrc, const Field3Df &field, Image3DSet< ImageType > &resImages, int nSteps=5) |
void | VoxelCode (const Mask3D &shape, const Mask3D &seeds, int m0, int m1, int m2, LabelImage3D &res, const Vect3Di *stopPoint=NULL) |
void | SSCode (const Mask3D &shape, const Vect3Di &sourcePoint, int m0, int m1, int m2, LabelImage3D &res, const Vect3Di *stopPoint=NULL) |
void | BSCode (const Mask3D &shape, int m0, int m1, int m2, LabelImage3D &res) |
void | ShortestPathExtraction (const Mask3D &shape, const Vect3Di &start, const Vect3Di &end, vector< Vect3Di > &path, Mask3D *pres=NULL, StructureElement *psel=NULL, const LabelImage3D *pssCode0=NULL, ShortestPathExtractionHelpers::StopCBType stopCB=ShortestPathExtractionHelpers::StopCBType(NULL, NULL)) |
void | Skeleton (const Mask3D &shape, Mask3D &res) |
template<class ImageType> | |
void | MyTestThreshold (const ImageType &src, const typename ImageType::value_type &t, Mask3D &res, int optional=0) |
Simple Threshold : Result=1 if value>threshold. |
Result=1 if value>threshold
|
#&Addition&# Adds 2 images Ignores masks. |
|
#&AdditionWithConstant&# Adds an image with a constant scalar value Ignores masks. Referenced by BitImage3D< FieldType, bitsPerValue, ValueType >::operator+=(), and Image3Dlinear< Im3DValue >::operator+=(). |
|
#&Difference&# Substracts two images. Ignores masks. |
|
#&DifferenceWithConstant&# Substracts a constant scalar value from an image. Ignores masks. Referenced by BitImage3D< FieldType, bitsPerValue, ValueType >::operator-=(), and Image3Dlinear< Im3DValue >::operator-=(). |
|
#&Multiplication&# Multiplies two images. Ignores masks. |
|
#&MultiplicationWithConstant&# Multiplies an image by a constant floating point value. The constant is double-precision. Ignores masks. Referenced by BitImage3D< FieldType, bitsPerValue, ValueType >::operator *=(), and Image3Dlinear< Im3DValue >::operator *=(). |
|
#&Division&# Divides two images. Ignores masks. |
|
#&MaxImage&# Maximum of two images. Ignores masks. |
|
#&Abs&# Absolute value of an image. Ignores masks. Referenced by RobustAverageAndVariance(). |
|
#&ImageTypeConversion&# Converts one image type to another. The conversion must be valid (ie. a conversion operator must exist for the contaned types). Examples use: converting a mask into a floating point image. Definition at line 40 of file ConvenienceProcessors.hpp. |
|
#&Crop&# Extract part of an image. (x0,y0,z0) and (x1,y1,z1) Are the bounding boints of the subimage. Both are included. Properties are copied and mask is croped too. |
|
#&FindFirstDifference&# Compares two images til it finds a difference, and returns position. Images must have same size. Ignores masks. Definition at line 71 of file ConvenienceProcessors.hpp. |
|
#&FindMinMax&# Finds minimum and maximum values of an image. Optionally resturns position of those values Ignores masks. Definition at line 95 of file ConvenienceProcessors.hpp. Referenced by ProbabilityDistribution::SetWithImage3Dlinear3(). |
|
#&L2Norm&# ~ Definition at line 121 of file ConvenienceProcessors.hpp. |
|
#&SetAllVoxels&# Sets all voxels of image to a specified value. Value is constructed from string argument using the FromString overloaded template. Definition at line 139 of file ConvenienceProcessors.hpp. |
|
#&AddMask&# Adds a mask to an image. Mask image can be specified by an optional third argument. Otherwise mask is intialized to 1. If image already contains a mask, this mask will be assigned the optional argument or will be left untouched. Definition at line 159 of file ConvenienceProcessors.hpp. |
|
#&GetMask&# Gets the mask of an image. Definition at line 180 of file ConvenienceProcessors.hpp. References Image3D::Mask(). |
|
#&ApplyMask&# Applies a mask on an image. For maskvalue=0, image will be masked for all non-zero mask values. For maskvalues > 0, the mask will be first thresholded so that a mask corresponding to the label maskvalue will be used for masking. If no mask is provided the mask of the source will be used. |
|
#&SetDefaultInterpolator&# Sets the default interpolator type name. By default spline degree 5 interpolation is used (this can be slow). Definition at line 216 of file ConvenienceProcessors.hpp. |
|
#&ExtractFromComplexImage&# Extracts Imag, Real, Norm2 or Module from a complex valued image into a Image3Df. No masks |
|
#&SetProperty&# Set a named image property. Image properties are referenced by name, have a type (float,int, string etc.). Definition at line 252 of file ConvenienceProcessors.hpp. |
|
#&RemoveProperty&# Sets the default interpolator type name. By default spline degree 5 interpolation is used (this can be slow). Definition at line 276 of file ConvenienceProcessors.hpp. |
|
#&Pad&# Add space around an image. If padLinear is true, the border will be filled with linearly decreasing values. The padding argument gives the amount of space to be added in each 6 directions. Definition at line 298 of file ConvenienceProcessors.hpp. References InsertImage(), Vect3D< Value, Real >::Norm(), Vect3D< Value, Real >::x, Vect3D< Value, Real >::y, and Vect3D< Value, Real >::z. |
|
#&Convolution&# Convolution of an image by a user defined filter. The filter class is just like a float valued image, with a center point added. Ignores masks. |
|
#&SeparableConvolution&# Convolution of an image by a user defined filter. The filter class is just like a float valued image, with a center point added. Ignores masks. Referenced by SymmetricBinomialFilter(). |
|
#&ConvolutionFFT&# Convolution of an image by a user defined filter using FFT. It uses multiplication in fourier domain with forward and inverse fft. This is faster than normal convolution for lmarge filter sizes. Ignores masks. UNIMPLEMENTED! |
|
#&PartialSum&# Computes the sum of an image in a rectangular zone. It uses an image computed using CumulativeSum. This is a fast way of doing filtering with big square convolution filters. Result is the sum of all points in the rectzone: the rectzone *includes both* of its defining points. Definition at line 100 of file Convolution.hpp. Referenced by CumulativeSum(). |
|
#&CumulativeSum&# Computes an image that I(i,j,k)=Sum(0<=r<=i, 0<=s<=j , 0<=t<=k : S(r,s,t) ) This can be used by PartialSum for fast filtering. Definition at line 128 of file Convolution.hpp. References PartialSum(), Vect3D< Value, Real >::x, Vect3D< Value, Real >::y, and Vect3D< Value, Real >::z. |
|
#&BoxFilter&# Very fast convolution by an integer sized box signal Ignores masks. Variance of the filter is 1/12*(size*size-1). Definition at line 157 of file Convolution.hpp. Referenced by GaussianApproxFilter(). |
|
#&GaussianApproxFilter&# Fast convolution by an approximate "integer" guassian filter/ This just applies several boxfilters (boxsize=size and order times), and is only efficient for low orders. Ignores masks. If size is pair, the order must also be pair for the resulting image to lay on the same grid (else translated 0.5 voxel towards (0,0,0). Definition at line 225 of file Convolution.hpp. References BoxFilter(), and WrapTranslate(). Referenced by BorderCorrectedGaussianApproxFilter(). |
|
#&BorderCorrectedGaussianApproxFilter&# GaussianApproxFilter with compensation on image borders and mask borders Attenuation on border regions and border of masked regions is compensated. This is equivalent of gaussian filtering using only filter coefficients that are inside the "shape" being considered. Definition at line 253 of file Convolution.hpp. References Container3D< Im3DValue >::Fill(), GaussianApproxFilter(), and Image3D::Mask(). |
|
#&SymmetricBinomialFilter&# Convolution by a binomial filter/ Order should be pair to permit resulting image to be on the same grid as the original image. The filtering is quite long for high orders. This is equivalent to using the BoxFilter of size=2 of the same order, but a lot faster for high orders. A BinomialFilter approximates the Gaussian so that the variance=order/4. Definition at line 299 of file Convolution.hpp. References SeparableConvolution(). |
|
#&FFTLowPassFilterApodizedIdeal&# Low pass filtering using fft. Multiplies in fourrier domain by an cosine-shaped apodized rectangular window. Cutoff frequency should be between 0 and 1. Rolloff factor between 0 and 1 describes smoothness of cutoff. rolloff=0 means filter is square. |
|
#&FFTLowPassFilterButterworth&# Low pass filtering using fft. Multiplies in fourrier domain by 1/(1+(r/r0)^2n). Cutoff frequency should be between 0 and 1. For n=inf this is an ideal lowpass filter. For n=1 this is a smooth filter. |
|
#&FFTLowPassFilterChebyscheff&# Low pass filtering using fft. Multiplies in fourrier domain by 1/(1+(cos(n*acos(r/r0))^2)). Cutoff frequency should be between 0 and 1. For n=inf this is an ideal lowpass filter. For n=1 this is a smooth filter. |
|
#&DrawSegment3D&# ~ |
|
#&ImageFromRawData&# Create an ImLib3D image from raw data. The image type determines the raw data type (for example Image3Df will assume data is float). The byte ordering in the raw data is given by a three letter string (ex."ZXY"). Example: imlib3d ImageFromRawData "Image3Dlinear<short int>" rare_cra.img 128 128 128 ZXY res.im3D true im ImageTypeConversion res.im3D res1.im3D Image3Df imlib3dview res1.im3D Definition at line 92 of file FileConversion.hpp. References Size3D::GetV(), Vect3D< Value, Real >::x, Vect3D< Value, Real >::y, and Vect3D< Value, Real >::z. |
|
#&RawDataFromImage&# Create an raw binary data from an image. The image type determines the raw data type (for example Image3Df will assume data is float). The byte ordering in the raw data is given by a three letter string (ex."ZXY"). Definition at line 130 of file FileConversion.hpp. References Vect3D< Value, Real >::x, Vect3D< Value, Real >::y, and Vect3D< Value, Real >::z. |
|
#&WriteToFileAVW&# Write an image in AVW/Analyze format. Definition at line 167 of file FileConversion.hpp. |
|
#&ReadFromFileAVW&# Read an image in AVW/Analyze format. Definition at line 195 of file FileConversion.hpp. |
|
#&ReadFromFileBruker&# Dirty hack for reading an image in brucker format. This probably wont work for you... |
|
#&ExportImageSlice&# Save a slice of an image in ppm format Takes a slice in a given direction (0=yz 1=xy 2=xy) and position and saves it in ppm format. By default image values are scaled to fit in ppm range. rescale=0, specifies that no rescaling should be done. rescale between 0 and 1, specifies that rescaling should be done so that the specified portion of the image values fits into the ppm range. If rescale values are between -1 and 0, then rescaling is done using values of the whole image (not just the slice), this is usefull if you want extracting a series of slices from the same image and want all thes slices to have the same constrast. -.98 is generally good for medical images. Definition at line 257 of file FileConversion.hpp. |
|
#&ScalarProduct&# No Doc Ignores masks. |
|
#&RobustAverageAndVariance&# Computes the average and the variance of an images using a robust technique. Robust (outlier rejection) technique is: median for average, 1.4826 median absolute deviation for std dev. Definition at line 28 of file ImageStats.cpp. |
|
#&Average&# Computes the average and the variance of an images. Only for positions where mask is not 0. Definition at line 40 of file ImageStats.hpp. |
|
#&AverageAndVariance&# Computes the average and the variance of an images. Only for positions where mask is not 0. Definition at line 60 of file ImageStats.hpp. |
|
#&Median&# Median value of an image, or more generaly: portion of histogram. This is NOT a median filter (see MedianFilter). For 0<=p<=1, Image I. Computes value v of image for which Porba(I(P)<v)=p. For exmaple, for p=.5, v=median value of I. Uses mask.
Definition at line 102 of file ImageStats.hpp. Referenced by RobustAverageAndVariance(). |
|
#&InsertImage&# Draws an image into another image. (x,y,z) Position where to insert image. Definition at line 46 of file InsertImage.hpp. Referenced by Pad(). |
|
#&MedianFilter&# Median filter. Replaces each voxel by the median value of all of it's neighbors. Neighbors are defined by structure element argument. Ignores masks. |
|
#&SharpeningFilter&# Sharpening filter. Replaces each voxel by the min or max value of all of it's neighbors, whichever value is closer. If both are equivalent, leaves voxel untouched. Neighbors are defined by structure element argument. Ignores masks. |
|
#&Erosion&# Morphological erosion. Replaces each voxel by the minimum value of all of it's neighbors. Ignores masks. |
|
#&Dilation&# Morphological dilation. Replaces each voxel by the maximum value of all of it's neighbors. Ignores masks. |
|
#&Opening&# Morphological opening. Succesively applies an erosion and a dilation. Definition at line 370 of file MorphologicalOperators.hpp. References Dilation(), and Erosion(). |
|
#&Closing&# Morphological closing. Succesively applies an dilation and a erosion. Definition at line 388 of file MorphologicalOperators.hpp. References Dilation(), and Erosion(). |
|
#&DistanceTransform&# Distance to closest non zero point. Approximate distance within set, from inside outside of set. This is a fast, two pass algorithm. The StructureElement contains coefficients that define the distance to each neighbor. FIXME: These coeficients are currently not optimal, and give a slightly biased distance. By default outside of image is considered outside of shape. If border extend is true, outside of image ignored |
|
#&ConnectedComponentLabelling&# Creates an integer valued image where each set of connected neighbors of source image has a seperate value. Result values go from 0 to n. Where n is the total number of separate connected components in the image. Definition of neighbors uses StructureElement. Referenced by SkeletonExtraction::CreateClusters(). |
|
#&FillHoles&# Sets to 1 all points that are not connected to the outside of the source image. Definition of neighbors uses StructureElement. Algorithm simply uses ConnectedComponentLabelling of an enlarged image. |
|
#&MakeValueList&# Maps value to size, used for getting largest connected component... Needs name cleanup, will be renamed. Ignores masks. |
|
#&LargestConnectedComponent&# Selects the largest connected component. Usefull after thresholding. Uses ConnectedComponentLabelling |
|
#&NoiseVarianceEstimation&# Estimates the noise in an image. Uses the difference of to Laplacian filters (size 3x3x3) to estimate the noise variance. |
|
#&NormalizeAverage&# Normalizes the average of two images. Uses masks. |
|
#&NormalizeAverageAndVariance&# Forces average and variance to be the same as in reference image. Uses masks. |
|
#&NormalizeJointHistogram&# Forces histogram to be the nearly the same as in reference image. Uses masks. |
|
#&NormalizeJointHistogram&# Forces histogram to be the nearly the same as in reference image. Uses masks. |
|
#&CenterOfGravity&# Computes mass, center of mass Definition at line 38 of file ShapeAnalysis.hpp. References Vect3D< Value, Real >::x, Vect3D< Value, Real >::y, and Vect3D< Value, Real >::z. |
|
#&PrincipalAxes&# Computes principal axes of weighted shape, optionally mass and center of mass, for object orientation Definition at line 70 of file ShapeAnalysis.hpp. References Vect3D< Value, Real >::x, Vect3D< Value, Real >::y, and Vect3D< Value, Real >::z. |
|
#&BoundingBox&# Finds bounding box of a mask |
|
#&Sphere&# Draws a sphere. Input: image size |
|
#&Explode&# Creates a field where vectors point away from a specified center. The falue of the field a point P is: F(P)=P-C |
|
#&Cone&# Draws a cone. Input: image size,base's center. Point. |
|
#&NoiseUniform&# Creates an image with uniform noise. |
|
#&NoiseGaussian&# Creates an image with gaussian noise. |
|
#&Target&# Creates an image with target like pattern. Spatial frequency increases radially from center of image. |
|
#&Bump&# Creates a gaussian bump. Given a center, bump height, and std dev |
|
#&Ramp&# Creates an image containing a linearly from v0 to v1 in a given direction. pos0 and pos1 give the begining and end of the ramp. If pos0 is negative (default) then pos0=0. If pos1 is negative (default) then pos1=size of image in given direction. directions:0=X 1=Y 2=Z |
|
#&Parallellogram&# Creates an image with a parallellogram. Both points are included. |
|
#&RectangularGrid&# Creates an image with a grid |
|
#&ColoredGrid&# Creates an image where no two neighbors have the same colors |
|
#&SimpleThreshold&# Simple Threshold. Result=1 if value>threshold. Result is a Mask3D. Definition at line 41 of file Threshold.hpp. References Container3D< Im3DValue >::begin(), and Container3D< Im3DValue >::Resize(). Referenced by IP3D::UniModalThreshold(). |
|
#&SimpleThresholds2&# Simple Threshold between 2 values Result is 1 for values between t1 and t2, 0 otherwise. Definition at line 67 of file Threshold.hpp. References Container3D< Im3DValue >::begin(), and Container3D< Im3DValue >::Resize(). |
|
#&LimitThreshold&# Limits range of image values to t1 t2 If image value less than t1 or image value greater than t2 then image value equals t1 or t2 respectively, otherwise conserves original value. Keeps mask Definition at line 97 of file Threshold.hpp. |
|
#&OtsuThresholds&# Use otsu histogram partitioning to automatically determine thresholds and apply them on an image. The algorithm brute-force searches all possible threshhold combinations to find the one that minimizes interclass variance. This can be long if the number of classes is high. |
|
#&UniModalThreshold&# |
|
#&TransformWithInverseField&# Use a vector field to apply a deformation on an image. If F is a vector field (3D image composed of 3D vectors), S the source image,R the result image, and P a point, we have: R(P)=S(P+F(P)). If no interpolator is present in source image, it will use a bspline 5th degree interpolator. If a mask is present, it will be transformed by creating seperate binary images for each different intensity value in the mask. Each binary (0 or 1) image is transformed using an interpolator (default bspline 5). The result mask is constructed by recombining the transformed floating point binary images. This gives MUCH better results than would be obtained by using nearest neighbor interpolation. This is however, very slow if mask contains many different intensity values. Referenced by IP3D::TransformAffine(), and IP3D::TransformWithInverseField(). |
|
#&TransformAffine&# Perform an affine transformation on an image Affine transforms are described by a 3x3 matrix and a translation vector. They can be stored in an ImLib3D format file (see Affine3DTransform). If no interpolator is present in source image, it will use a bspline 5th degree interpolator. If a mask is present, it will be transformed as described in TransformWithInverseField. If optional size is not ommited, result image will have same size as source image. Referenced by Scale(). |
|
#&Scale&# Change image size using resampling If no interpolator is present in source image, it will use a bspline 5th degree interpolator. If a mask is present, it will be transformed as described in TransformWithInverseField. Definition at line 100 of file Transformation.hpp. References Size3D::depth, Size3D::height, Affine3DTransform::SetScale(), TransformAffine(), and Size3D::width. |
|
#&WrapTranslate&# Translates an image by integer vector, and wraps around Transforms any masks as well. Definition at line 121 of file Transformation.hpp. References Vect3D< Value, Real >::x, Vect3D< Value, Real >::y, and Vect3D< Value, Real >::z. Referenced by GaussianApproxFilter(). |
|
#&Flip&# Flips image in one or more directions This is usefull when using images from various sources. Second argument is a string containing directions in which to flip. example: "XY" Definition at line 162 of file Transformation.hpp. |
|
#&SwapAxes&# Swaps axes This is usefull when using images from various sources. Second argument is a string containing axes to swap. example: "XY" will invert x and y axes Definition at line 204 of file Transformation.hpp. References ImageProcessorArgs< ImageType >::GetDest(), and ImageProcessorArgs< ImageType >::SetDestSize(). |
|
Transforming a mask is more complex than for a normal image. Each value has to be considered as a distinct labe, and normal interpolation is meaningless (it would mix labels!). Here we solve the problem by independently transforming each label value, and then recomposing a final result mask by voting use label=0 as default |
|
#&TransformRectangularGrid&# Forward transformation of a rectangular grid. Grid points are forward transformed and lines are drawn between them. It takes quite some time... |
|
#&AnimateField&# Apply a field weighted by linear weight factors to an image. No long description |
|
#&VoxelCode&# Sort of distance transform of a shape, starting from seed points, and using an integer metric m0 is the "distance" associated with F-Neighbors (Cross7). m1 is the "distance" associated with e-Neighbors (Planar19). m2 is the "distance" associated with v-Neighbors (Cubic27). Example values are m0=1,m1=2,m2=3, or m0=3,m1=4,m2=5. |
|
#&SSCode&# VoxelCode starting from a single seed point For example, this is usefull for shortest path extraction Definition at line 61 of file VoxelCoding.hpp. References Container3D< Im3DValue >::Fill(), Image3D::Size(), and VoxelCode(). Referenced by IP3D::ShortestPathExtraction(). |
|
#&BSCode&# VoxelCode starting from boundary points of shape This is pretty much like a distance transform Definition at line 82 of file VoxelCoding.hpp. References Erosion(), MORPHO_Cross7, and VoxelCode(). |
|
#&ShortestPathExtraction&# Shortest path between two points using VoxelCoding |
|
#&Skeleton&# Centerline (1-D Skeleton) of a 3D shape The algorithm is described in Zhou and Toga 99. WARNING: this implementation is still a bit buggy, and the algo doesn't seem to be very good anyways. Definition at line 349 of file VoxelCoding.hpp. References Container3D< Im3DValue >::Fill(), Container3D< Im3DValue >::Resize(), and Image3D::Size(). |
|
Simple Threshold : Result=1 if value>threshold. An image pocessor is a function in the IP3D namespace that has a full xml description Definition at line 13 of file plugin.hpp. References Container3D< Im3DValue >::begin(), and Container3D< Im3DValue >::Resize(). |