The expression engine can be used in the 'Function Fitting' tool and the 'Mathematical Expression 1D' Operation in the Processing Perspective.
Namespaces
The expression engine incorporates a set of names spaces. These are:
Namespace | Purpose |
---|
dat | Data manipulation functions, treating the array as a matrix or retrieving statistics |
dnp | Mathematical functions operating on scalars or arrays of data |
func | Function fitting functions |
im | Image processing functions |
lz | Lazy evaluation functions |
Clicking on a namespace of interest in this table will jump you to the appropriate section on this page.
dat
The 'dat' namespace exposes the functions defined in /org.dawnsci.jexl/src/org/dawnsci/jexl/internal/JexlGeneralFunctions.java. These are:
- arange(dataset)
- max(dataset, int)
- mean(dataset, int)
- median(dataset, int)
- min(dataset, int)
- peakToPeak(dataset, int)
- product(dataset,int)
- reshape(dataset, int[])
- rootMeanSquare(dataset, int)
- slice(dataset, int[], int[], int[])
- slice(Dataset, start, stop, step)
- slice(Dataset, String)
- squeeze(dataset)
- stdDev(dataset, int)
- sum(dataset, int)
- tile(dataset, int[])
- transpose(dataset, int[])
dnp
The 'dnp' namespace exposes the functions defined in /org.dawnsci.jexl/src/org/dawnsci/jexl/internal/JexlMaths.java. These are:
- arccos(data)
- arccosh(data)
- arcsin(data)
- arcsinh(data)
- arctan(data)
- arctanh(data)
- cbrt(data)
- ceil(data)
- cos(data)
- cosh(data)
- exp(data)
- expm1(data)
- floor(data)
- log(data)
- log10(data)
- log1p(data)
- log2(data)
- maxium(data, data)
- minimum(data, data)
- pow(data, data)
- power(data)
- signum(data)
- sin(data)
- sinh(data)
- sqrt(data)
- square(data)
- tan(data)
- tanh(data)
- toDegrees(data)
- toRadians(data)
func
The 'func' namespace exposes fitting functions, these are:
- Gaussian(dataset, double, double, double)
- Lorentzian(dataset, double, double, double)
- PearsonVII(dataset, double, double, double, double)
- PseudoVoigt(dataset, double, double, double, double, double)
im
The 'im' namespace exposes the functions defined in /org.eclipse.dawnsci.analysis.dataset/src/org/eclipse/dawnsci/analysis/dataset/impl/Image.java. These are:
- adaptiveGaussianThreshold(dataset, int, boolean)
- adaptiveSauvolaThreshold(dataset, int, boolean)
- adaptiveSquareThreshold(dataset, int, boolean)
- align(dataset)
- convolutionFilter(dataset, dataset)
- derivativeSobelFilter(dataset, boolean)
- extractBlob(dataset, int)
- fanoFilter(dataset, int, int)
- findTranslation2D(dataset, dataset, IRectangularROI)
- flip(dataset, boolean)
- gaussianBlurFilter(dataset, int)
- globalEntropyThreshold
- globalMeanThreshold(dataset, boolean)
- globalOtsuThreshold(dataset, boolean)
- globalThreshold(dataset, float, boolean, boolean)
- globalThreshold(dataset, float, boolean)
- maxFilter(dataset, int[])
- maxRectangleFromEllipticalImage(dataset, double, double, int, int)
- maxRectangleFromEllipticalImage(dataset, IROI)
- meanFilter(dataset, int)
- meanFilter(dataset, int[])
- meanSummedAreaFiltermeanFilter(dataset, int)
- medianFilter(dataset, int)
- minFilter(dataset, int[])
- pseudoFlatFieldFilter(dataset, int)
- regrid_kabsch(dataset, dataset, dataset, dataset, dataset)
- regrid(dataset, dataset, dataset, dataset, dataset)
- rotate(dataset, double, boolean)
- setImageFilterService(IImageFilterService)
- setImageTransformService(IImageTransform)
- sobelFilter(dataset)
lz
The 'lz' namespace exposes the functions defined in /org.dawnsci.jexl/src/org/dawnsci/jexl/internal/JexlLazyFunctions.java. These are:
- rmean(dataset, int)
- rsum(dataset, int)
- slice (Dataset, int)
- slice(Dataset, int[], int[], int[])
- slice(Dataset, String)
Common methods
All of the namespaces listed above also have access to methods inherited from their Java superclasses, these are:
- equals(data)
- getClass()
- hashCode()
- notify()
- notifyAll()
- toString()
- wait(long)
- wait(long, int)