math.dll

Classes:

Functions:

Index

Common index


Class Adams : Cauchy

#module root.mathematic
Class Adams is intended for solving a Cauchy's  system of equatations
 by the method forecast and the correction of Adams of the 3rd order.
The  system which is intended to be solved  is the system of the form:
	dy0/dx = F0(x, y0, y1, y2, ..., yn);
	dy1/dx = F1(x, y0, y1, y2, ..., yn);
	.........
	dyn/dx = Fn(x, y0, y1, y2, ..., yn);
with the initial conditions ( x = x0)
	y0(x0) = Y0;
	y1(x0) = Y1;
	......
	yn(x0) = Yn;

Methods:


Adams::Adams(object Vector, object Vector)

param System, StartConditions;

Fills base structures for solving the system of equations of Cauchy  with Adams's method.
System - right sides of the equatations in the form: F(x, << y0, ..., yN >>).
StartConditions - the initial conditions, enumerated in the same order,
as the right sides of the equations.
For solving the equatations it is nessesary to call the SolveSystem method, belonging to the Cauchy class.

Class BSplineApprox

Class BSplineApprox is intended for  
  smoothing of functions with B- splines of the arbitrary order.
#module root.mathematic

Methods:


BSplineApprox::()(number)

returns the value of a  spline in point x.

BSplineApprox::BSplineApprox(int, int, refer object TFunc)

param K, N, Func;

Creates an  object for approximation of the function Func
with B-splines with the Kth order with the partition to N of intervals.
Quantity of points of partition must be more than K + 1.
The base functions B- spline B[.k][.i](.u) are different from zero in the following intervals:
x[i], x[i + k].
	N[1][i](u) = (u <= x[i + 1] && u >= x[i]) ? 1.0 : 0.0;
 for k > 1
	N[k][i](u) = (u - x[i]) * N[k - 1][i](u) / (x[i + k - 1] - x[i]) + (x[i + k] - u) * N[k - 1][i + 1](u) / (x[i + k] - x[i + 1]);

BSplineApprox::BSplineApprox(int, int, refer object TFunc, refer object TFunc)

param K, N, Func, MinProc;

Creates an  object for approximation of the function Func
with B-splines with the Kth order with the partition to N of intervals.
Quantity of points of partition must be more than K + 1.
MinProc is the the procedure of the calculation of the minimized value
MinProc obtains 2 parameters (Weights and ExtrParam), where:
Weights is the vector is weight splines
ExtrParam is the  vector of two elements
ExtrParam[0] is the pointer  to an object BSplineApprox,
ExtrParam[1] is the  to an array [ (N + K), Func- Len() ] of  values of the base functions of spline
The base functions B- spline B[k][i](u) are different from zero in the following intervals:
x[i], x[i + k].
	N[1][i](u) = (u <= x[i + 1] && u >= x[i]) ? 1.0 : 0.0;
for k > 1
N[k][i](u) = (u - x[i]) * N[k - 1][i](u) / (x[i + k - 1] - x[i]) + (x[i + k] - u) * N[k - 1][i + 1](u) / (x[i + k] - x[i + 1]);

BSplineApprox::Derivative(number)

Method returns the value of the derivative of spline at point x

BSplineApprox::GetRelativeArgument(number)

Method recalculates the external coordinate (x) into the parametric (relative) coordinate t(.x)

BSplineApprox::GetRelativeArgumentAndStretch(number, refer any)

param x, Coord_Derivative;

Method recalculates the external coordinate (x) into the parametric (relative) coordinate t(x) and the derivative dt/dx

BSplineApprox::SecondDerivative(number)

Method returns the value of the second derivative of spline at point x

Class BSplineApproxEx : BSplineApprox

Class BSplineApproxEx is intended for the smoothing of functions with
B- splines of the arbitrary order with the uneven grid of control points.
The positions of control points are determined automatically.
#module root.mathematic

Methods:


BSplineApproxEx::BSplineApproxEx(int, int, refer object TFunc)

param K, N, Func;

Creates an object for the approximation of functions Func by B- splines of order K with the partition to N intervals.
Quantity of points of partition must be more than K + 1.
The base functions B- spline B[.k][.i](.u) are different from zero in the following intervals:
x[i], x[i + k].
	N[1][i](u) = (u <= x[i + 1] && u >= x[i]) ? 1.0 : 0.0;
 for k > 1
	N[k][i](u) = (u - x[i]) * N[k - 1][i](u) / (x[i + k - 1] - x[i]) + (x[i + k] - u) * N[k - 1][i + 1](u) / (x[i + k] - x[i + 1]);

BSplineApproxEx::BSplineApproxEx(int, int, refer object TFunc, boolean)

param K, N, _Func, UniformNoice;

Creates an object for the approximation of functions Func by B-splines of order K with partition to N intervals.
Quantity of points of partition must be more than K + 1.
The base functions B- spline B[k][i](u) are different from zero in the following intervals:
x[i], x[i + k].
	N[1][i](u) = (u <= x[i + 1] && u >= x[i]) ? 1.0 : 0.0;
 for k > 1
	N[k][i](u) = (u - x[i]) * N[k - 1][i](u) / (x[i + k - 1] - x[i]) + (x[i + k] - u) * N[k - 1][i + 1](u) / (x[i + k] - x[i + 1]);

BSplineApproxEx::GetRelativeArgument(number)

Method recalculates the external coordinate (x) into the parametric (relative) coordinate t(x)

BSplineApproxEx::GetRelativeArgumentAndStretch(number, refer any)

param x, Coord_Derivative;

Method recalculates the external coordinate (x) into the parametric (relative) coordinate t(x) and a derivative dt/dx

Class BSplineApprox_2D : BSplineApprox

Class BSplineApprox is intended for smoothing of the functions with B-splines of arbitrary order.
#module root.mathematic

Methods:


BSplineApprox_2D::()(number, number)

param x, z;

Returns the value of the spline in the point (x, z))

BSplineApprox_2D::BSplineApprox_2D(int, int, int, number, number, int, number, number, int, refer object Vector)

param K, N_X, N_Z, MinX, MaxX, MinZ, MaxZ, Data;

Creates an object for approximation of the surface.
Surface is determined by the collection of 3-dimensional  points  in the  Data-array.
Each element of the Data-array contains vector with  three coordinates - << x, z, y >>.
by two-dimensional B- splines of order K with  partitioning to N_X x n_z intervals.
The quantity of points of partition for each direction must be more than K + 1. 
 
 

BSplineApprox_2D::BSplineApprox_2D(int, int, int, refer object TSurface)

param K, N_X, N_Z, Surf;

Creates an object for approximation of the surface Surf
with 2-dimensional  B-splines of order  K with partitioning to  N_X x N_Z intervals.
The quantity of points of partition for each direction must be more than K + 1. 

BSplineApprox_2D::DerivativeX(number, number)

param x, z;

Method returns the value of the derivative of spline in direction X at point (x, z)

BSplineApprox_2D::DerivativeXZ(number, number)

param x, z;

Method returns the value of the mixed second derivative of spline at point (x, z)

BSplineApprox_2D::DerivativeZ(number, number)

param x, z;

Method returns the value of the derivative of spline in direction X at point (x, z)

BSplineApprox_2D::GetRelativeArgument(number, number)

param x, z;

Method recalculates the external coordinates (x, y) into the parametric (relative) coordinates (u, v)

BSplineApprox_2D::GetRelativeArgumentAndStretch(number, number, refer any)

param x, z;

Method recalculates the external coordinates (x, y) into the parametric (relative) coordinates (u, v)

BSplineApprox_2D::SecondDerivativeX(number, number)

param x, z;

Method returns the value of the second derivative of the spline in direction X at point (x, z)

BSplineApprox_2D::SecondDerivativeZ(number, number)

param x, z;

Method returns the value of the second derivative of the spline in direction X at point (x, z)

Class BandList : FitParams

Class is intended for  transfering  the parameters
 to the class of the decomposition of spectra.
#module root.mathematic

Methods:


BandList::CheckBoundaries(void)

Checks the correctness of the boundaries

BandList::GetBoundaries(void)

Returns the linear list of the boundaries of the parameters.

BandList::GetParams(void)

Returns a linear list of  fitting-parameters.

BandList::SetFittingInterval(number, number, boolean)

Sets the fitting interval.

BandList::SetParams(refer object Vector, refer object Vector, int)

Creates a description of spectrum on the basis of linearly enumerated  fitting-parameters.

BandList::ShakeData(number, number, number, number)

param sF, sW, sS, sP;

#rus Случайным образом меняет параметры с нормальным распределением
#rus вокруг текущего значения параметров.
#rus sF - дисперсия случайной частоты
#rus sW - дисперсия случайной ширины полосы
#rus sS - дисперсия случайной закоса
#rus sP - дисперсия степени светорассеяния
Randomly changes the parameters with the normal distribution
around the current  value of the parameters.
sF - dispersion of the random frequency
sW - dispersion of random zone width
sS - (?)
sP - dispersion of the degree of the light diffusion

BandList::ShakeData(void)

Randomly changes parameters

Class BandListGauss : BandList

Class is intended for transfer of the parameters to the spectre decomposition class.
#module root.mathematic

Methods:


BandListGauss::GetBoundaries(void)

Returns the linear list of the boundaries of the parameters

BandListGauss::GetParams(void)

Returns a linear list of  fitting-parameters.

BandListGauss::SetParams(refer object Vector, refer object Vector, int)

Creates a description of spectrum on the basis of linearly enumerated  fitting-parameters.

Class BaseExp

#module root.mathematic
Base class for the decomposition of curve to the sum of the exponential curves

Methods:


Class BaseStretchExp

#module root.mathematic
Base class for  decomposition of curve to the sum of the extended exponential curves
Note: The extended exponential curve is determined by the expression:
Y[i] = Exp(- (X[i ]/Tau) ** Alpha)

Methods:


Class BetaContour : BetaCurve

#module root.mathematic
locked spline curve

Methods:


BetaContour::()(number)

Calculation of the spline value, using the following formule:
             K
	P(mu) = Sum  A[i] * BetaBlend((K -2) * mu - i + 1.0)
             i=0
where mu belongs to the interval  [0,...,1]
	K - number of control points

BetaContour::BetaContour(refer object Vector)

Determines the beta-spline which "tension" equals to 1.0 
and "skew" equals to 0.0 which passes the points specified 
via the P parameter.
P - is a vector of points of the POINT or POINT3 class

BetaContour::BetaContour(refer object Vector, number, number)

param P, skew, tension;

Gets base kinked curve points.
Returns a vector of pointers to the current object 
fields which represent the POINT class objects.

BetaContour::CheckPointPosition(refer object POINT)

param Point;

Method determines the position of point relative to outline.
It returns:
1 - if point lies inside the outline,
0 - if point lies on the outline
-1 - if point lies out of the outline

BetaContour::GetBasePoints(void)

Gets base kinked curve points.
Returns a vector of pointers to the current object 
fields which represent the POINT class objects.

BetaContour::GetContour(void)

Returns the vector of the discrete coordinates of  Beta-spline points ( {X,Y})

BetaContour::GetControl(int)

param n;

Return the control point number n

BetaContour::GetControlPoints(void)

Gets the basic points of a broken line.
Returns a vector of class POINT

BetaContour::GetTangent(number)

param mu;

Find tangent of spline at parameter mu = [0,...,1]

BetaContour::MakeInterpolation(refer object Vector)

param P;

Calculates control points of an interpolated Beta-spline
passing through points indicated in P.
P - vector of the points of class POINT or POINT3

BetaContour::MakeSplineFromControl(refer object Vector)

param P;

Creates a spline.
P - vector of the points of class POINT or POINT3

BetaContour::Rebuild(int)

param REBUILD_LEN; ( REBUILD_LEN >= 5 )

Rebuild the spline to obtain the linear parameter/length dependency
For this reason function find the point on the spline at the
position, where distannce from previous one is equial to
GetLength() / REBUILD_LEN ( REBUILD_LEN - new number of control points. )

BetaContour::SetControl(int, refer object POINT)

param n, v;

Change the position of control point number n

Class BetaCurve : BetaSpline

#module root.mathematic
Class of a non-locked curve of a beta-spline

Methods:


BetaCurve::()(number)

param mu;

Calculation of the spline value using the following formula:
             K
	P(mu) = Sum  A[i] * BetaBlend((K -2) * mu - i + 1.0)
             i=0
	where mu belongs to  the section [0,...,1]
			K - number of control points

BetaCurve::BetaCurve(refer object Vector)

param P;

Determines a beta-spline with tension equal to 1.0 ,
 skew equal to 0.0 crossing the points specified in P.
 P is a vector of points of class POINT or POINT3

BetaCurve::BetaCurve(refer object Vector, number, number)

param P, skew, tension;

Determines a beta-spline with given parameters,
crossing the points specified in P.
P is a vector of points of class POINT or POINT3

BetaCurve::FindCrossection(refer object POINT, refer object POINT, number)

Finds the intersection of the spline with a straight line.
The straight line is determined by by a vector with inclination A and
a point B B -> P = A * tau + B
where tau is a parameter ofthe straight line.
From this form the equation of straight line is converted into the form
(y = alpha * x + beta, или x = alpha * y + beta),
depending on the value of A.
Newton's method is used for finding the point of intersection.
This method very fast, but is only stable ( converges)
if the initial value of parameter mu0 is sufficiently close
to the present point of intersection.
Method returns parameter mu, which correspond to the point intersection.
For obtaining the coordinates of point of intersection
method FindCrossection(A, B mu0) is called.
 
 

BetaCurve::GetBasePoints(void)

Obtains te basic points of a spline.
Returns a vector of pointers to the fields of the given object
being an object of the POINT or POINT3 class.

BetaCurve::GetContour(void)

Returns a vector of discrete coordinates of the beta-spline points (in {X,Y} )

BetaCurve::GetControl(int)

param n;

Returns the control point number n

BetaCurve::GetControlNumber(void)

Returns the total number of control points.

BetaCurve::GetRect(void)

Returns a RECT covering the range of values of spline in space {X,Y}.

BetaCurve::GetTangent(number)

param mu;

Find tangent of spline at prameter mu = [0,...,1]

BetaCurve::GetXYRanges(void)

Returns a  vector like
<< POINT( min{X}, min{Y} ), POINT( max{X}, max{Y} ) >>
covering the range of values of spline in space {X,Y}.

BetaCurve::GetXYZRanges(void)

Returns a  vector like
<< POINT( min{X}, min{Y}, min{Z} ), POINT( max{X}, max{Y}, max{Z} ) >>
covering the range of values of spline in space {X,Y}.

BetaCurve::Init(refer object Vector, number, number)

param P, skew, tension;

Determines a beta-spline with given parameters
crossing points specified in  P.
P - vector of points belonging to POINT or POINT3 class.

BetaCurve::MakeInterpolation(refer object Vector)

param P;

Calculates the control points of the interpolated beta-spline
crossing points specified in  P.
P - vector of points belonging to POINT or POINT3 class.

BetaCurve::Rebuild(int)

param REBUILD_LEN; ( REBUILD_LEN >= 5 )

Rebuild a spline in order of getting a linear correlation
of the length of the curve with the parameter.
Searching for a point on a spline , where the distance to previous point equals
GetLength() / REBUILD_LEN.
(REBUILD_LEN - new number of control points)

BetaCurve::SetControl(int, refer any)

param n, v;

Change the position of control point number n.

BetaCurve::SetSkewTension(number, number)

param s, t;

set skew and tension of a spline.

Class BetaSpline : Spline

Class BetaSpline contains parameters determining the spline
- the collection of datum (?) (control) points 
- "tension" and "skew". This class is base for all classes of Beta-splines.
 Spline is parametric function with the parameter being changed from 0 to 1.
  The pairs of coordinates (x, y) are composed from the values of a spline.
#module root.mathematic

Methods:


BetaSpline::BetaBlend(number)

Blend Function of qubic beta-splines

BetaSpline::BetaBlendDeriv(number)

Derivation of Blend Function of qubic beta-splines

Class BlindExpDecompose : ExpSingle

#module root.mathematic
Class is intended for fully automatic decomposition of a spectrum
 to a number of Gauss components by gradient descent.

Methods:


BlindExpDecompose::BlindExpDecompose(refer object TFunc, number, int, int, number, any, boolean, boolean, boolean, boolean)

param Curve, StartPoint, NumbItterations, NumbResults, Accuracy, IsPositive, CheckOffset, NoDispersion;

Creates an object for unguided analysis of decomposition to exponents

BlindExpDecompose::BlindExpDecompose(refer object TFunc, number, int, int, number, number, boolean, boolean, boolean, boolean)

param Curve, StartPoint, NumbItterations, NumbResults, Accuracy, MaxAmplitude, IsPositive, CheckOffset, NoDispersion;

Constructs an object for unguided analysis of decomposition to exponents

BlindExpDecompose::MakeDecomposition(void)

Method decomposes to Gauss components and returns an array of BlindExpDecompose
objects, sorted in  descending order of probability

Class BlindGaussDecompose : GaussDecompose

#module root.mathematic
Class is intended for fully automatic decomposition of a spectrum
 to a number of Gauss components by gradient descent.

Methods:


BlindGaussDecompose::BlindGaussDecompose(refer object TFunc, int, int, number, boolean, boolean, boolean, boolean, boolean)

param Curve, NumbItterations, NumbResults, Accuracy, IsWaveLength, IsPositive, CheckOffset, NoDispersion;

Creates an object for unguided analysis of decomposition to  Gauss exponents

BlindGaussDecompose::MakeDecomposition(void)

Method decomposes to Gauss components and returns an array of BlindExpDecompose
objects, sorted in  descending order of probability

Class BlindGlobExpDecompose : ExpGlobal

#module root.mathematic
Class is intended for fully automatic decomposition of a spectrum
 to a number of Gauss components by gradient descent.

Methods:


BlindGlobExpDecompose::BlindGlobExpDecompose(refer object Vector, number, int, int, number, boolean, boolean, boolean, boolean)

param Curve, StartPoint, NumbItterations, NumbResults, Accuracy, IsPositive, CheckOffset, NoDispersion;

Creates an   object for unguided analysis of decomposition into  exponents

BlindGlobExpDecompose::BlindGlobExpDecompose(refer object Vector, number, int, int, number, number, boolean, boolean, boolean, boolean)

param Curve, StartPoint, NumbItterations, NumbResults, Accuracy, MaxAmplitude, IsPositive, CheckOffset, NoDispersion;

Creates an object for unguided analysis of decomposition into  exponents

BlindGlobExpDecompose::MakeDecomposition(void)

Method decomposes to Gauss components and returns an array of BlindExpDecompose
objects, sorted in  descending order of probability

Class BlindGlobalGaussDecompose : GlobGaussDecompose

#module root.mathematic
Class is intended for fully automatic decomposition of a spectrum
 to a number of Gauss components by gradient descent.

Methods:


BlindGlobalGaussDecompose::BlindGlobalGaussDecompose(refer object Vector, int, int, number, boolean, boolean, boolean, boolean, boolean)

param Curves, NumbItterations, NumbResults, Accuracy, IsWaveLength, IsPositive, CheckOffset, NoDispersion;

Creates an   object for unguided analysis of decomposition into  Gauss components

BlindGlobalGaussDecompose::MakeDecomposition(void)

Method decomposes to Gauss components and returns an array of BlindExpDecompose
objects, sorted in  descending order of probability

Class BoundDiff2

#module root.mathematic
Solution of an ordinary linear differential equation
of the second order with the assigned boundary conditions by the dispersion method.

Methods:


BoundDiff2::BoundDiff2(refer object Function, refer object Function, refer object Function, refer object Function, number, number, number, number, number, number, number, number, int)

param G, H, U, F, a0, b0, c0, aN, bN, cN, From, To, N;

Solution of an linear differential equation of the second order
like:
G(x) * d2y/dx2 + H(x) * dy/dx + U(x) * y + F(x) = 0
in the interval [ From, To ] on the uniform grid
 with N knots with the assigned boundary conditions in the following form:
 a0 * dy/dx (From) + b0 * y(From) + c0 = 0
 aN * dy/dx (To) + bN * y(To) + cN = 0

BoundDiff2::BoundDiff2(refer object Function, refer object Function, refer object Function, refer object Function, refer object Vector, number, number, number, number, number, number)

param G, H, U, F, X_Array, a0, b0, c0, aN, bN, cN;

Solution of an linear differential equation of the second order
like:
G(x) * d2y/dx2 + H(x) * dy/dx + U(x) * y + F(x) = 0
in the interval specified by the set of points X_Array
with specified boundary conditions in the following form:
a0 * dy/dx (x0) + b0 * y(x0) + c0 = 0
aN * dy/dx (xN) + bN * y(xN) + cN = 0
x0 - first point of the interval
xN - last point of the interval
 
 

BoundDiff2::Solution(void)

returns solution

Class Cauchy

#module root.mathematic	
Class Cauchy is a base class for methods solving
a Cauchy's system of equatations.
The equatation system is a system like:
	dy0/dx = F0(x, y0, y1, y2, ..., yn);
	dy1/dx = F1(x, y0, y1, y2, ..., yn);
	.........
	dyn/dx = Fn(x, y0, y1, y2, ..., yn);
with initial conditions (x = x0)
	y0(x0) = Y0;
	y1(x0) = Y1;
	......
	yn(x0) = Yn;

Methods:


Cauchy::AllowProgress(boolean)

param Flg;

Allows/forbids using the progress bar,
 while solving the equatation system.

Cauchy::Cauchy(object Vector, object Vector)

param System, StartConditions;

Fills the base structures for solving a Cauchy's equatation system.
System - the right sides of the system of equations in following form:
 F(x, << y0, ..., yN >>)
 StartConditions - the initial conditions, enumerated in the same order,
 like the right sides of the equations

Cauchy::GetNumberSteps(void)

Returns the actual number of steps required for solving the equatation system.

Cauchy::SetYNames(refer object Vector)

param FuncNames;

Determines the names of the unknown variables of the system.

Cauchy::SolveSystem(number, number, int)

param From, To, N;

It solves system in the interval [ From, To ] equally divided to N points.

Cauchy::SolveSystem(object Vector)

param X_Array;

Solves the system on the intervall specified by the array X_Array

Cauchy::[](int)

param n;

Returns n-th solution.

Cauchy::[](refer object String)

param FuncName;

Returns solution with the name FuncName.

Class Climb : SolveByItteration

#module root.mathematic
Class is intended for finding a minimum of multidimensional function
using the  coordinate-by-coordinate descent method.

Methods:


Climb::Climb(refer any, refer object Vector, refer object Vector, number)

param Func, Boundaries, StartPoint, Accuracy;

Creates an object Climb for finding a minimum of a multidimensional function Func
using the coordinate-by-coordinate descent method.
Parameters:
Func: Function receiving 2 parameters:
	- an array of variables in space of which the method  searches for the solution.
	- an auxiliary parameter determined by the user
	by calling the SetExtraParam method.
Function must return a value which has to be minimized.
Boundaries - an array of boundary value pairs
(the starting point of solution search)
Accuracy - accuracy  of the seach for the solution
	search for the solution is finished, when when the distance
	between the subsequent points of approximation of solution
 	will be is less than Accuracy)

Climb::GetLogProb(refer object Vector, boolean, int, int)

param A, NoDispersion, NumberPoints, M;

Returns non-normalized probability of a model.
	A - regression parameters
	if NoDispersion == TRUE the noise dispersion is not considered
	during the discrepancy calculation.
	NumberPoints - the number of points while calculating hi-2
	M - number of independent components of the model.
	

Climb::GetResult(void)

Returns the solution of the equatation system.

Climb::SetDeriv2Func(refer any)

param Derivative2;

Determines the function of calculating
the mixed second derivative of the function which has to be minimized.
Derivative2 - function receiving 4 parameters:
	- an array of variables, in the space of which the solution is searched for.
	- the number of the 1st parameter on which is differentiated.
	- the number of the 2nd parameter on which is differentiated.
	- random help parameter which is assigned by the user
	by calling the SetExtraParam method.
	

Climb::SetDerivFunc(refer any)

param Derivative;

Determines the function of calculating
the derivative of the function which has to be minimized.
Derivative - function receiving 3 parameters:
	- an array of variables, in the space of which the solution is searched for.
	- the number of the parameter on which is differentiated.
	- random help parameter which is assigned by the user
	by calling the SetExtraParam method.

Climb::SetErrorIfMaxItterNumberExceed(boolean)

param ErrorIfMaxItterNumberExceed;

If ErrorIfMaxItterNumberExceed == TRUE:
if the number of iterations has reached MaxIterationNumber
but the expected accuracy is not achieved an error will occur.
SetErrorIfMaxItterNumberExceed == FALSE, the error will not occur.
ErrorIfMaxItterNumberExceed == TRUE is default value.

Climb::SetGradFunc(refer any)

param Gradient;

Determines the function for calculation of the gradient of the function,
which has to be minimized.
Gradient is a functiopn, which receives 2 parameters:
	- an array of variables, in the space of which the solution is searched for.
	- random help parameter which is assigned by the user
	by calling the SetExtraParam method.
Function must return MVector.

Climb::SetMaxRealtiveStepNorm(number)

param MaxRealtiveStepNorm;

Sets the maximal relative step of the change of the norm 
of the  fitting parameter vector.

Climb::SetMaxStep(refer object Vector)

Sets the maximal step.

Climb::SetMinStep(refer object Vector)

Sets the minimal step.

Climb::SetSelectedDirectionsFunc(refer any)

param SelectedDirections;

Sets the function to calculate the selected directions of the search for the minimum.
SelectedDirections - function, receives 2 parameters:
	- an array of variables, in the space of which the solution is searched for.
	- random help parameter which is assigned by the user
	by calling the SetExtraParam method.
	Function must retur Vector, each elemet of which must contain a vector
	indicating the chosen direction of the search. 

Climb::SetStartPoint(refer object Vector)

Sets the starting point.

Climb::Solve(int)

param NumbDFPItterations;

Searches for the minimum using the combined method of Powell / David-Fletcher-powell.
The maximum number of iterations is determined using the David-Fletcher-Powell method.

Climb::Solve(void)

Searches for the minimum using the combined method of Powell / David-Fletcher-Powell.

Climb::SolveBFGS(void)

Searches for the minimum using the 
Broyden-Fletcher-Golfarb-Shanno's method.

Climb::SolveByCoord(object Vector)

Searches for the minimum using the  coordinate-by-coordinate descent method.
Parameters: 1. Vector of initial steps.

Climb::SolveBySelectedDirections(void)

Searches for a minimum of a function which is a sum of several functions.
The functions of the gradients must be specified using the method
Climb::SetDoubleGradFunc.

Climb::SolveDFP(void)

Searches for a minimum using the Davidon-Fletcher-Powell method.

Climb::SolveDynamic(void)

Searches for a minmum using the dynamic method.
It makes sense using this method if there is an exact expression for calculating
the gradient of the function which has to be minimized.
This expression must be determined using the SetGradFunc method.

Climb::SolvePowell(boolean)

param RepeatFreshStep;

Searches for the minimum using the Powell method.
If RepeatFreshStep == FALSE, the repeated approach from the initial array
wont take place.

Climb::SolvePowell(refer object Vector)

Searches for the minimum in subspace of limited dimensionality 
using the Powell method.

Climb::SolvePowell(void)

Searches for the minimum using the Powell method.

Class ClimbDouble

#module root.mathematic
Class dor finding a minimum of a multidimensional function using the
coordinate-by-coordinate descent method.

Methods:


Class Complex : Number

#module root.mathematic
Class Complex introduces complex numbers and supports
the arithmetic manipulations with them.

Methods:


Class ComplexVesicule : SimpleVesicule

Class ComplexVesicule
#module root.mathematic
Class for describing vesicules on microscopic images,
shown as a superposition of rounded spots.
(Vesicule class objects)

Methods:


ComplexVesicule::Convolve(refer object Vesicule)

Returns the roll of the vesiculae

ComplexVesicule::GetSquare(void)

Returns the area of vesicule on half-height

ComplexVesicule::GetVolume(void)

Returns the volume of vesicule on half-height

ComplexVesicule::Shift(number, number)

param dx, dy;

Shifts Vesicule on (dx, dy).

ComplexVesicule::SplitVesicule(number, number, number, number)

param X0, Y0, X1, Y1;

Attempts to split Vesicule with isolation of the part
which fits the best the specified parameters. 

Class Curve : TFunc

#module root.mathematic
Class curve extends the TFunc class with the Comment field
and eventually extra information in the Info field.
The Disp field may contain dispersion.

Methods:


Curve::*(number)

param dy;

Returns a tabular function, derived from the tabular function
which becomes the message, by multiplying all y values with dy.

Curve::*(refer object Curve)

param f;

Returns a tabular function, which is the function becoming the message
multiplied with tabular function f.

Curve::**(number)

param p;

Returns a tabular function, derived from the tabular function
which becomes the message, by erection of all values y into the degree r.

Curve::*=(refer object Curve)

param f;

Multiplies the function which received the message with f.
Returns a reference to self.

Curve::+(refer object Curve)

param f;

Returns a tabular function which is sum of the function
which received the message and the tabular function f.

Curve::+=(refer object Curve)

param f;

Adds the function which received the message to the function f.
Returns a reference to self.

Curve::-(refer object Curve)

param f;

Returns a tabular function being the difference between
the function, which received the message, and the tabular function f.

Curve::-=(refer object Curve)

param f;

#rus Производит вычитание из функции, получившей сообщение,
#rus функции f. Возвращает ссылку на self.
Subtracts the function which received the message from the function f.
Returns a reference to self.

Curve::/(number)

param dy;

Returns a tabular function, derived from the tabular function
which becomes the message, by dividing all y values through dy.

Curve::/(refer object Curve)

param f;

Returns a tabular function, which is the function becoming the message
divided through tabular function f.

Curve::/=(refer object Curve)

param f;

#rus Производит деление функции, получившей сообщение на
#rus функцию f. Возвращает ссылку на self.
Divides the function which received the message through the function f.
Returns a reference to self.

Curve::Curve(copy)

Copyconstructor

Curve::Curve(number, number, number, any)

 param from, to, nstep, Func;
A tabular function is created in which X changes from "from" to "to",
with a quantity of steps equal to "nstep". The values of Y are determined by
the values of of the "Func" function in the appropriate points.

Curve::Curve(number, number, number, any, object String)

 param from, to, nstep, Func, Comment;
A tabular function is created in which X changes from "from" to "to",
with a quantity of steps equal to "nstep". The values of Y are determined by
the values of of the "Func" function in the appropriate points
with a comment "Comment".

Curve::Curve(refer object Curve)

Copyconstructor

Curve::Curve(refer object Histogram, boolean)

Constructor for creating a function from a histogramm with conversion.

Curve::Curve(refer object TFunc)

Constructor for creating of a Curve object from a TFunc object.

Curve::Curve(refer object Vector, refer object Function)

param X, F;

A tabular function based on X array and the F function is created.

Curve::Curve(refer object Vector, refer object Function, object String)

param X, F, Comment;

A tabular function based on X array and the F function is created,
with a "Comment" comment.

Curve::Curve(refer object Vector, refer object Vector)

param X, Y;

A tabular function based on X and Y vectors is created.

Curve::Curve(refer object Vector, refer object Vector, object String)

param X, Y, Comment;

A tabular function based on X and Y vectors with a comment "Comment" is created.

Curve::Curve(void)

Empty constructor.

Curve::GetDispersion(boolean)

param Recalculate;

Returns the estimation of dispersion for the noised  experimental function.
If Recalculate == TRUE  and the estimation was saved a recalculation is performmed.

Curve::GetInfo(void)

Returns additional information.

Curve::Mid(int, int)

param Offset, Len;

#rus Возвращает кривую, полученную вырезанием из данной
#rus кривой куска длиной Len от точки Offset.
Returns a curve, obtained by cutting a piece with lenght Len,
beginning with the point Offset, from target curve.

Curve::Modifyed(void)

Method is called if a significant function modification occur,
leading to the need for reconstructing the auxiliary fields in the heirs.

Curve::Remove(int, int)

param offset, len;

Removes len points from the curve beginning with the offset position.

Curve::ScaleDispersion(number)

param scale;

Scales the estimation of the dispersion 

Curve::SetInfo(any)

 param info;
Sets additional information

Class Decompose

#module root.mathematic
Base class for fitting curve by sum of curves

Methods:


Decompose::AddFixedResult(refer object Vector)

param Result;

#rus Метод добавляет фиксированный результат к накопленному множеству
#rus ДОЛЖЕН БЫТЬ ОПРЕДЕЛЕН В КЛАССЕ-НАСЛЕДНИКЕ

Decompose::AddResult(refer object Vector)

param Result;

Method adds sequential result to the accumulated set.
It must be determined in the class-heir!

Decompose::ArrangeResult(refer object Vector)

param Result;

Arranges results if it makes sense.
It must be determined in the class-heir!

Decompose::CalculateAmplitudes(void)

#rus Метод вычисляет вариации и амплитуды полученных результатов
#rus ДОЛЖЕН БЫТЬ ОПРЕДЕЛЕН В КЛАССЕ-НАСЛЕДНИКЕ

Decompose::GetAmplitudeVariation(refer object Vector)

#rus Метод вычисляет вариации амплитуд полученных результатов
#rus ДОЛЖЕН БЫТЬ ОПРЕДЕЛЕН В КЛАССЕ-НАСЛЕДНИКЕ

Decompose::GetAmplitudes(refer object Vector)

Method calculates the amplitudes of the obtained results.
It must be   determined in the class-heir!

Decompose::GetComponents(refer object Vector)

param Result;

Method returns a component array, corresponding with the solution result.
Must be declared in the class-heir!

Decompose::GetComponents(refer object Vector, refer object Vector)

param Result, X;

Method returns a component array, corresponding with the solution result.
Must be declared in the class-heir!s

Decompose::GetMinStep(void)

Method returns minimal amplitudes of the fitting-steps.
If it is nessesary to set minimal fitting-steps ,
 method must be declared in the class-heir!

Decompose::GetNumbPoints(void)

Returns the number of points with which the fitting was made.

Decompose::GetProbability(object Vector)

param Result;

Returns non-normalized probability of a result.

Decompose::HasSecondarySolution(void)

param Result;

Method returns TRUE if after finding the minimum, it is nessesary
to repeat the descent with a modified function.

Decompose::MakeDecomposition(refer ...)

Solution seacrh

Decompose::SetParentWnd(refer object GWnd)

Parental window for the windows of progress is established.

Decompose::SetPositive(boolean)

The rule of positivity (not for  the nondifferential spectra) is established

Decompose::SquareDiff(refer object Vector)

param Result;

 Method, which calculates  function for optimizing,
 normalized to the dispersion.
 Must be declared in the class-heir!

Decompose::_SquareDiff(refer object Vector, refer object Vector)

param Result, Amplitudes;

 Method, which calculates  function for optimizing,
 normalized to the dispersion.
 It is differed from SquareDiff(refer object Vector),
 in terms of the fact that besides the parameters which are determined,
 linear amplitudes during the decomposition are assigned.
 Must be declared in the class-heir!

Class DecomposeGlobal : Decompose

#module root.mathematic
Base class for fitting one curve by sum of curves

Methods:


DecomposeGlobal::CalculateAmplitudes(void)

#rus Метод вычисляет вариации и амплитуды полученных результатов

DecomposeGlobal::DecomposeGlobal(refer object Vector, refer object FitParams)

param Curves, UseDispersionFromCurve, FitParams;



DecomposeGlobal::GetApproxCurve(int, int, refer object Vector)

param Index, j, X;

Returns the approximating curve of solution Index for to the curve j specific at points X.

DecomposeGlobal::GetComponentCurve(int, int, refer object Vector)

param Index, j, X;

Returns the curve of component j in solution Index specified in Points X.

DecomposeGlobal::GetNumbPoints(void)

Returns the number olf points on which fitting was made.

DecomposeGlobal::GetOffsetCurve(int, int, refer object Vector)

param Index, j, X;

Returns the offset curve in solution Index for the curve j specified at points X.

DecomposeGlobal::SquareDiff(refer object Vector)

param Result;

Calculates the function which is to be optimized, normalized for dispertion.

DecomposeGlobal::_SquareDiff(refer object Vector, refer object Vector)

param Result;

Calculates the function which is to be optimized, normalized for dispertion.

Class DecomposeResult

#module root.mathematic
Class for storing the resultates of decomposition (regression).

Methods:


DecomposeResult::DecomposeResult(object Vector, object Vector, number, number, int, object Vector)

param Result, ResVariation, Residue, Probability, Boundaries;



Class DecomposeSingle : Decompose

#module root.mathematic
Base class for fitting one curve by sum of curves

Methods:


DecomposeSingle::CalculateAmplitudes(void)

#rus Метод вычисляет вариации и амплитуды полученных результатов

DecomposeSingle::DecomposeSingle(refer object TFunc, refer object FitParams)

param Curves, UseDispersionFromCurve, FitParams;



DecomposeSingle::GetAmplitudes(refer object Vector)

Calculates amplitudes of received resultates

DecomposeSingle::GetApproxCurve(int, refer object Vector)

param Index, X;

Returns an approximated kurve of the solution Index specified in points X.

DecomposeSingle::GetComponentCurve(int, int, refer object Vector)

param Index, j, X;

Returns a curve of the j component in solution Index cpecified in points X.

DecomposeSingle::GetNumbPoints(void)

Returns the number of points which the fitting was made.

DecomposeSingle::GetOffsetCurve(int, refer object Vector)

param Index, X;

Returns the offset curve in solution Index specified inpoints X.

DecomposeSingle::Print(int)

param index;

Text printout of the result o fthe solution index.
Must be specified in class-heir!

DecomposeSingle::SquareDiff(refer object Vector)

param Result;

Method calculating the function to be optimized, normalized for dispersion. 

DecomposeSingle::_SquareDiff(refer object Vector, refer object Vector)

param Result;

Method calculating the function to be optimized, normalized for dispersion. 

Class DotHelix

#module root.mathematic
Class DotHelix implements the Dot-Helix algorithm for finding
pattern (statistically significant sequential positive deviations
from the average value) in the sequence of quasi-random numbers.

Methods:


DotHelix::()(int)

param n;

Returns the n-th pattern

DotHelix::DotHelix(refer object Vector, number, number, number)

param WFunc, Average, SD, Threshold;

Searches for pattern on a sequence of quasi-random numbers WFunc.
Average - true average value  ( for random sequence without the characteristics)
SD - square root from dispersion ( for random sequence without the characteristics)
Threshold - threshold of the isolation of special feature measured in the units of dispersion.

DotHelix::FindAccurate(void)

Finds all patterns above the threshold.

DotHelix::FindRough(void)

Finds all patterns above the threshold. ( maybe not all))

DotHelix::Len(void)

Returns the number of found patterns

DotHelix::SetShift(number)

Sets the shift of the average value.

Class ErrorFunc

Class for calculating the error integral.

Class ExpAlpha

#module root.mathematic
Class for passing the parameters to the global fitting method.

Methods:


Class ExpDistrList : FitParams

#module root.mathematic
Class is intended for passing the parameters to the histogramm decomposition class.

Methods:


ExpDistrList::SetParams(refer object Vector, refer object Vector, int)

Creates a description based on sequentially enumerated fitting parameters.

Class ExpDistribution

#module root.mathematic
Class for passing the information about one and the same distribution

Methods:


ExpDistribution::CheckBoundaries(void)

Checks the correspondance of the boundaries

ExpDistribution::ExpDistribution(number, number)

param LogTau, Amp;



ExpDistribution::ExpDistribution(number, number, object Vector)

param LogTau, Amp, Boundaries;



ExpDistribution::GetBoundaries(void)

Returns the sequential list of boundaries of the fitting-parameters

ExpDistribution::GetParams(void)

Returns the sequential list of fitting parameters

ExpDistribution::ShakeData(number, number)

#rus Случайным образом меняет параметры

ExpDistribution::ShakeData(void)

Randomly changes parameters.

Class ExpFitting

#module root.mathematic
Fit curve by sum of exponents by Newton algorithm

Methods:


Class ExpGlobal : DecomposeGlobal, BaseExp

Methods:


ExpGlobal::ExpGlobal(refer object Vector, object ExpTauItemList)

param Curve, ExpList;



ExpGlobal::GetComponents(refer object Vector)

param Res;

Method returns a component array, corresponding with the result Result.

ExpGlobal::Print(int)

param index;

Text printout of the result index

Class ExpMEM

#module root.mathematic
Class for finding the spectrum  of the exponents with the maximum entropy method.

Methods:


ExpMEM::ConcateOmegaPos(void)

Concatenation of similiar intervals.

ExpMEM::ExpMEM(object TFunc, number, number, number, boolean, boolean, boolean, boolean, int, int, int, boolean)

param Func, From, To, Start, Sharp, SkipZero, BaseLine, IsPositive, NumbIterattions, NumbOmega, UseAppServer;

Func - function which is  analyzed
(From, To) - function interval in which the speed spectrum is analyzed.
Start - the moment when process begins.
If Sharp == TRUE, the spectrum is sharpened
If SkipZero == TRUE, then while analyzing the values
with an amplitude below the threshold are excluded.
If BaseLine == TRUE, the method searches for the zero function.
If IsPositive == TRUE, the method searches for results with positive amplitudes.
If UseAppServer == TRUE, thenan application server is used while calculating.

ExpMEM::FindOmegaPos(void)

Method splits Omega to intervals.

ExpMEM::GetApproximation(void)

Method returns an approximation curve,
obtained along the calculated spectrum.

ExpMEM::GetDistribution(void)

Method returns the speed distribution found by the Solve method.

ExpMEM::GetFitResidue(void)

Method returns the residue of the approximating curve.

ExpMEM::GetMEMResidue(void)

Method returns the residue of the maximu entropy method.

ExpMEM::GetMonteCarlo(void)

Method returns a reference  to an array  of spectres  obtained by Monte-Carlo simulation.

ExpMEM::GetRawDistribution(void)

Method returns the raw distribution found by the Solve method.

ExpMEM::MonteCarlo(int, int, refer ...)

param N_max, MonteCarloCount, [Progress];

Method simulates kinetics based on spectrum MonteCarloCount which is found with
Monte-Carlo method. For the simulated kinetics the spectrums
specified in N_max points are found.
If an optional parameter Progress ( window of the GProgressWnd class) is specified
the progress of calculation is shown. 

ExpMEM::Print(void)

Returns an output line with the fitting results.

ExpMEM::SetApproximateAlpha(boolean)

param ApproximateAlpha;

If ApproximateAlpha == TRUE, then after first approximation the calculation of
the probability integral for the marginalization of Alpha, is replaced by an
approximated expression Exp(-Alpha_p * Entropy),
where Alpha_p is taken by the equal to the relation of the logarithm of the integral
to the entropy value.

ExpMEM::SetAutomaticFindOmegaPos(boolean)

param AutomaticFindOmegaPos;

If AutomaticFindOmegaPos == TRUE, then  an automatic detection
of the positions of the partition of Omega is performed.

ExpMEM::SetFitOmega(boolean)

param FitOmega;

If FitOmega == TRUE, Omega is determined.

ExpMEM::SetFitOmegaPos(boolean)

param FitOmegaPos;

If FitOmegaPos == TRUE, the positions of the partition of omega are refioned.

ExpMEM::SetFixedOmega(number)

Sets fixed  Omega value. Subseqently Omega is not searched for anymore.
Partitioning to areas is blocked.

ExpMEM::SetOmegaPos(object Vector)

param OmegaPos;

Sets predetermined partition partition of smoothing.

ExpMEM::SetSearchStartAmp(boolean)

param FitOmega;

If SearchStartAmp == TRUE, the starting amplitude is determined.

ExpMEM::SetStartNumberPointsOnDecade(int)

Method sets the number of start points on decade.

ExpMEM::SimulateCurve(void)

Method simulates the kinetics based on found spectrum
using the initial curve dispersion method.
Returns the simulated kinetics.

ExpMEM::Solve(int, refer ...)

param N_max, [Progress];

Method finds the spectrum determined in N_max points.
If the parameter Progress is specified ( GProgressWnd class window),
a progress output is generated.

Class ExpMEMEx

#module root.mathematic
Class for finding the exponent spectrum using the maximum entropy method.

Methods:


ExpMEMEx::ExpMEMEx(object TFunc, number, number, number, boolean, boolean, boolean, boolean, int, boolean, int, boolean)

param Func, From, To, Start, Sharp, SkipZero, BaseLine, IsPositive, NumbItterations, DoubleSpectra, NumbOmegaSearchLevels;

Func - the function which must be  analyzed.
(From, To) - function interval, in which the speed spectrum is analyzed.
Start - process start moment
If Sharp == TRUE, the spectrum is sharpened.
If SkipZero == TRUE, the values with an amplitude below
the threshold are excluded while analyzing.
If BaseLine == TRUE, the method searches for the zero line.
If IsPositive == TRUE, the method searches a Result with a positive amplitude.

ExpMEMEx::GetApproximation(void)

Method returns an approximation curve obtained using the calculated spectrum.

ExpMEMEx::GetDistribution(void)

Method returns speed distribution found by the solve method.

ExpMEMEx::GetFitResidue(void)

Returns the residue of the approximating curve.

ExpMEMEx::GetMEMResidue(void)

Returns the residue of the maximum entropy method.

ExpMEMEx::GetRawDistribution(void)

Method returns raw distribution found by the Solve method.

ExpMEMEx::InitAppServer(void)

#privare

ExpMEMEx::InitKinetics(void)

Method returns an approximating curve  obtained using the calculated spectrum.

ExpMEMEx::Print(void)

Prints result of fitting.

ExpMEMEx::SetApproximateAlpha(boolean)

param ApproximateAlpha;

If ApproximateAlpha == TRUE, after firs approximation step, the calculation of
the probability integral for marginalisation of Alpha is replaced by
an approximated expression Exp(-Alpha_p * Entropy), where Alpha_p
is taken by the equal to the ratio of the logarithm of the integral, to the
value of entropy.

ExpMEMEx::SetFitOmega(boolean)

param FitOmega;

If FitOmega == TRUE, Omega is determined.

ExpMEMEx::SetFixedOmega(object Vector, object Vector)

Устанавливает фиксированное пользователем значение Омега и его интервалы. В дальнейшем
поиск Омега не производится.
Sets a fixed value of omega and the intervals.
Subsequently no search for Omega is performed.

ExpMEMEx::SetOmegaBoundaries(object Vector)

Sets fixed partition of the values of Omega on the intervals.

ExpMEMEx::SetStartNumberPointsOnDecade(int)

#rus Метод устанавливает количество начальных разбиений на декаду по тау.
Method sets the number of start points on decade.

ExpMEMEx::SimulateCurve(void)

Simulates kinetics based on found spectrum
using the initial curve dispersion method.
Returns the simulated Kinetics.

ExpMEMEx::Solve(int, refer ...)

param N_max, [Progress];

Method finds the spectrum specified in N_max points.
If the Progress parameter is specified (GProgressWnd class window)
a calculation progress output is generated.

Class ExpSingle : DecomposeSingle, BaseExp

Methods:


ExpSingle::ExpSingle(refer object TFunc, object ExpTauItemList)

param Curve, ExpList;



ExpSingle::GetComponents(refer object Vector)

param Res;

Returns an array of components, corresponding with the result Res.

ExpSingle::Print(int)

param index;

#rus Текстовая распечатка результа решения index
Prints the result of  index.

Class ExpTauItem

#module root.mathematic
Class ExpTauItem describes the elements of the array ExpTauItemList

Methods:


ExpTauItem::CheckBoundaries(void)

Checks whether boundaries fit.

Class ExpTauItemList : FitParams

#module root.mathematic
Class is intended for passing parameters to the BaseExp class.

Methods:


ExpTauItemList::ShakeData(number, ...)

Randomly changes parameters.

Class FFT

#module root.mathematic
Performs fast discrete fourier transformation. 

Methods:


FFT::Amplitude(void)

Returns a TFunc function being the amplitude part of fourier matrix (?)
of the initial function.

FFT::FFT(refer object Function, number, number, int, boolean)

param Func, From, To, N, Direction;

Fast fourier transformation of the Func function in the section [ From, To ].
Section is divided to N points.
If Direction == TRUE, then straight transformation is used,
otherwise reverse transformation is used.

FFT::FFT(refer object Function, refer object Function, number, number, int, boolean)

param ReFunc, ImFunc, From, To, N, Direction;

Fast fourier transformation of a function pair ReFunc and ImFunc in
the section [ From, To ]. It is assumed , that ReFunc contains a real component
of the function which has to be transformed, and ImFunc - an imaginary component.
The section is splitted in N points. If Direction == TRUE,
then straight transformation is used,
otherwise reverse transformation is used.

FFT::FFT(refer object Function, refer object Function, number, number, int, boolean, boolean)

param Func1, Func2, From, To, N, Direction, FuncType;

Fast fourier transformation of a function pair ReFunc and ImFunc in
the section [ From, To ]. The section is divided in N points.
If Direction == TRUE,then straight transformation is used,
otherwise reverse transformation is used.
If FuncType == TRUE, then Func1 contains a real component
of the function which has to be transformed, and Func2 - the imaginary component.
Else Func1 contains the amplitude and Func2 the Phase.

FFT::Im(void)

Returns a TFunc function, being an imaginary part of the
of fourier matrix (?) of the initial function.

FFT::Init(refer object TFunc, refer object TFunc, number, number, int, boolean)

param Re, Im, From, To, N, Direction;

Fast fourier transformation  of the Func function (real) on section [From, To].
The section is divided in N Points.
If Direction == TRUE,then straight transformation is used,
otherwise reverse transformation is used.

FFT::Phase(void)

Returns a TFunc function, being a phase of the
fourier matrix (?) of the initial function.

FFT::Re(void)

Returns a TFunc function, being a real  part of the
fourier matrix (?) of the initial function.

FFT::Spectr(void)

#rus Возвращает комплексную функцию (TFunc), являющуюся
#rus фурье-образом исходной функции.
Returns a complex TFunc function, being a 
fourier matrix (?) of the initial function.

Class FitParams

#module root.mathematic
Basic class for passing the parameters in  curve decomposition classes.
The List field contains a vector of objects
describing the decomposition parameters.

Methods:


FitParams::CheckBoundaries(void)

Checks whether boundaries fit.

FitParams::From(void)

Begin of the decomposition intervals.

FitParams::GetBoundaries(void)

Returns the boundaries of the decomposition parameters.

FitParams::GetNumbComponents(void)

Returns the number of components.

FitParams::GetNumbItterations(void)

Returns the number of iterations.

FitParams::GetNumbResults(void)

Returns the number of results.

FitParams::GetParams(void)

Returns the decomposition parameters. 

FitParams::SetParams(refer object Vector, refer object Vector, int)

Creates a description of components based on
sequentially enumerated fitting parameters.
Must be declared in the class-heir!

FitParams::ShakeData(number, ...)

Randomly changes parameters.

FitParams::ShakeData(void)

Randomly changes parameters.

FitParams::To(void)

End of decomposition interval.

Class FourierImage

class to manipulate complex images

Methods:


FourierImage::GetAmplitude(void)

Returns object MathImage with amplitudes of complex image self.

FourierImage::Transform(boolean)

param Direction;

If Direction == TRUE - the method makes direct Fourier transform of image
else it makes back Fourier transform of image
The original image is replased by result of transform

Class FreeParam

Class for pasing the information about normal distribution.
#module root.mathematic

Methods:


FreeParam::CheckBoundaries(void)

Checks whether boundaries fit.

FreeParam::FreeParam(object String, number, object Vector)

param Name, Value, Boundary;



FreeParam::GetBoundaries(void)

Returns a sequentional list of fitting-parameter boundaries 

FreeParam::GetParams(void)

#rus Возвращает линейный список параметров фитирования
Returns a sequentional list of fitting parameters.

FreeParam::ShakeData(number)

Randomly changes parameters.

FreeParam::ShakeData(void)

Randomly changes parameters.

Class FreeParamList : FitParams

Class is intended for passing parameters in the fitting class using
an arbitrary parametric function. 
#module root.mathematic

Methods:


FreeParamList::SetParams(refer object Vector, refer object Vector, refer object Vector, int)

Creates a description of distributions based on sequentially enumerated
fitting parameters.

Class GausSpectr

Class GausSpectr is intended for approximation building
of nonhomogeneously widened molecular spectrums
and light diffusion calculation.
#module root.mathematic

Methods:


GausSpectr::GausSpectr(refer object Vector)

param NuArray;

Creates an object for building curves in points specified in the NuArray array.
It is assumed, that NuArray contains frequency values.

GausSpectr::GetLogNormalSpectr(number, number, number)

param nu_max, delta, ro;

Returns an array Y for the gauss spectrum in points determined
by the frequency array specified in the Constructor.
Parameters of the gauss spectrum:
	nu_max - maximum position
	delta - half of the line-width
	ro - line skew

GausSpectr::GetOscillatorStrength(number, number, number)

param Nu, dNu, Ro;

Calculation of oscillator strength with maximum Nu,
 half-width dNu and skew equal to Ro.
 It is assumed, that the frequencies are specified in kaysers.

GausSpectr::GetScattering(number)

param alpha;

Returns an array Y for the light diffusion function nu ** alpha
in points determined by the frequency array, specified in the constructor.

GausSpectr::GetScattering(number, number, number, number)

param alpha0, Nu0, alpha1, Nu1;

Returns an array Y for light diffusion function
	nu ** ( (alpha1 - alpha0) / (Nu1 - Nu0) * (Nu - Nu0) )
in points determined by the frequency array, specified in the constructor.

GausSpectr::GetScattering2(number, number, number, number)

param alpha0, Nu0, alpha1, Nu1;

Returns an array Y for light diffusion function
	nu ** ( a * (Nu - Nu0) ** 2 + b * (Nu - Nu0) + c )
in points determined by the frequency array, specified in the constructor.
The coefficients of the polynome are calculated from
	1) the condition for passage through the points (alpha0, Nu0), (alpha1, Nu1)
	2) by zero derivative at point Nu0.
	
	

GausSpectr::GetScattering2(number, number, number, number, number, number)

param alpha0, Nu0, alpha1, Nu1, alpha2, Nu2;

Returns an array Y for light diffusion function
	nu ** ( a * (Nu - Nu0) ** 2 + b * (Nu - Nu0) + c )
in points determined by the frequency array, specified in the constructor.
The coefficients of the polynome are determinedfrom the condition
for passage through the points (alpha0, Nu0), (alpha1, Nu1) and (alpha2, Nu2)

Class Gauss : LogNormal

Basic class for decomposition of the spectrum into a number of nonhomogeneous
widened gauss components and Rayleigh light diffusion.
#module root.mathematic 

Methods:


Gauss::Gauss(object Vector, object BandList)

Decomposition of the spectrum into a number  of nonhomogeneous
widened gauss components and Rayleigh light diffusion using the
gradient deescent method.

Gauss::GetComponents(refer object Vector)

param Res;

Method returns a component array, corresponding the result Res.

Gauss::GetComponents(refer object Vector, object Vector)

param Res, X;

Method returns a component array, corresponding the result Res.

Class GaussDecompose : DecomposeSingle, Gauss

Class is intended for decomposition of the spectrum into a number of
gauss components and Rayleigh light diffusion using the gradient descent method.
#module root.mathematic

Methods:


GaussDecompose::CalculateAmplitudes(void)

#rus Метод вычисляет вариации и амплитуды полученных результатов

GaussDecompose::GaussDecompose(object TFunc, object BandListGauss)

Decomposition of the spectrum into a number  of nonhomogeneous
widened gauss components and Rayleigh light diffusion using the
gradient deescent method.

GaussDecompose::Print(int)

param index;

Prints the result of index.

GaussDecompose::Print(int, boolean)

param index;

Prints the result of index.

Class GimCurve : Curve

Class GimCurve is inherits the Curve and TFunc propetries of tabular functions
and contains additional fields, characteristic for the functions created with GIM.
#module root.mathematic

Methods:


GimCurve::@=(refer object TFunc)

Constructor of an empty function.

GimCurve::GimCurve(number, number, int, any)

 param from, to, nsteps, Func;
Creates a tabular function, with X changing from 'from"' to 'to' with quantity
of steps equal to 'nstep' . The values of Y are determined by the values of
the 'Func' function at appropriate points.

GimCurve::GimCurve(number, number, number, any, object String)

 param from, to, nstep, Func, Comment;
Creates a tabular function, with X changing from 'from"' to 'to' with quantity
of steps equal to 'nstep' . The values of Y are determined by the values of
the 'Func' function at appropriate points with a 'Comment' comment.

GimCurve::GimCurve(refer object GimCurve)

Copyconstructor.

GimCurve::GimCurve(refer object Vector, refer object Function)

param X, F;

Creates a tabular function based on X array and the F function.

GimCurve::GimCurve(refer object Vector, refer object Function, object String)

param X, F, Comment;

Creates a tabular function based on X array and the F function
and a 'Comment' comment.

GimCurve::GimCurve(refer object Vector, refer object Vector)

param X, Y;

Creates a tabular function based on X and Y vectors.

GimCurve::GimCurve(refer object Vector, refer object Vector, object String)

param X, Y, Comment;

Creates a tabular function based on X and Y vectors
and a 'Comment' comment.

GimCurve::GimCurve(void)

Constructor of an empty function.

Class GlobExpFitting

#module root.mathematic

Methods:


GlobExpFitting::GlobExpFitting(refer object Vector, int, number, boolean)

param Curves, NumberOfAttempts, Accuracy, CheckBaseLine;



Class GlobGaussDecompose : DecomposeGlobal, Gauss

#module root.mathematic
Class is intended for decomposition of the spectrum into a number  of nonhomogeneous
widened gauss components and Rayleigh light diffusion using the
gradient descent method.

Methods:


GlobGaussDecompose::CalculateAmplitudes(void)

#rus Метод вычисляет вариации и амплитуды полученных результатов

GlobGaussDecompose::GetApproxCurve(int, int, refer object Vector)

param Index, j, X;

Returns the approximating curve of result Index
for the curve j specified at points X.

GlobGaussDecompose::GetComponentCurve(int, int, int, refer object Vector)

param Index, j, X;

Returns a curve of the component j in the result Index, specified in points X.

GlobGaussDecompose::GetComponents(refer object Vector, object Vector, int)

param Res, X, index;

Method returns an array of coordinates,
corresponding with the result Res for the curve index.

GlobGaussDecompose::GlobGaussDecompose(refer object Vector, object BandListGauss)

Decomposition of a spectrum into a number of inhomogeneously widened
log-normal components an the Rayleigh light diffusion using
the gradient descent method.

GlobGaussDecompose::HasSecondarySolution(void)

param Result;

#rus Метод возвращает TRUE если после нахождения минимума
#rus надо произвести повторный поиск с модифицированной
#rus функцией.

GlobGaussDecompose::MakeDecomposition(refer ...)

Result search.

GlobGaussDecompose::Print(int)

param index;

Prints result of index.

GlobGaussDecompose::Print(int, boolean)

param index;

Prints result of index.

Class GlobLogNormalDecompose : DecomposeGlobal, LogNormal

#module root.mathematic
Class is intended for decomposition of the spectrum into a number of
nonhomogeneously widened log-normal components and the Rayleigh ligt diffusion
using the gradient descent method.

Methods:


GlobLogNormalDecompose::CalculateAmplitudes(void)

#rus Метод вычисляет вариации и амплитуды полученных результатов

GlobLogNormalDecompose::GetApproxCurve(int, int, refer object Vector)

param Index, j, X;

Method returns the approximating curve of result Index,
for the curve j, specified at points X.

GlobLogNormalDecompose::GetComponentCurve(int, int, int, refer object Vector)

param Index, j, X;

Returns a curve of the component j in result Index specified in points X.

GlobLogNormalDecompose::GetComponents(refer object Vector, object Vector, int)

param Res, X, index;

Method returns an array of components,
corresponding with the result Res for the index curve in points X.

GlobLogNormalDecompose::GlobLogNormalDecompose(refer object Vector, object BandList)

Decomposition of the spectrum into a number of nonhopmogeneously widened
log-normal components and the Rayleigh light diffusion using the gradient
descent method.

GlobLogNormalDecompose::HasSecondarySolution(void)

param Result;

#rus Метод возвращает TRUE если после нахождения минимума
#rus надо произвести повторный поиск с модифицированной
#rus функцией.

GlobLogNormalDecompose::MakeDecomposition(refer ...)

Result search.

GlobLogNormalDecompose::Print(int)

param index;

Prints result of index.

Class GoldSection : SolveByItteration

#module root.mathematic
Class for finding a minimum of a one-dimensional function
using the gold section method.

Methods:


GoldSection::GetResult(void)

returns the result.

GoldSection::GoldSection(refer any, refer object Vector, number)

param Func, Boundaries, Accuracy;

Creates a GoldSection object in order to find the minimum of an one-dimensional
function using the gold section method.
Parameters:
	Func - function which becomes 2 parameters:
		- variable along which the minimum is searched for.
		- a help random parameter specified by calling the
		SetExtraParam method.
		Function must return a value which has to be minimized.
	Boundaries - a pair od boundary values, determining the region
		to search for the solution.
	Accuracy - the accuracy of the search for the solution (search for the solution
	continued until the distance between the subsequent points of approximation of
	solution will be less than accuracy)

GoldSection::Solve(void)

Searches for the function minimum.

Class HaarImage

#module root.mathematic
Class for wavelet  image analysis.

Methods:


HaarImage::GetDepth(void)

Returns the amount of the scale levels in Haar's image decomposition

HaarImage::GetDetail(int)

param Level;

Returns an MathImage class object containing  the details
of the decomposition with "Level" level.

HaarImage::GetHaarImage(void)

Method returns an MathImage class object, obtained while reconstructing from
Haar's decomposition.

HaarImage::GetScaledImage(int)

param Level;

Returns the reconstructed image (an MathImage class object)with reconstruction to depth
equal to "Level".

HaarImage::GetSmoothImage(number)

param Threshold;

Returns a MathImage object , obtained by reconstruction. Elements of
decomposition with absolute value less than Threshold are excluded.

HaarImage::HaarImage(refer object MathImage)

param Image;

Performs a symmetric Haar decomposition of the "Image" image.

HaarImage::ReconstructDetail(int)

param StartLevel;

Reconstructs an image beginning with the details of 'StartLevel' level
until the maximum detalization of image. Returns a MathImage class object.

Class HaarWavelet : Wavelet

#module root.mathematic
Class Wavelet for Haar basis decomposition.

Methods:


HaarWavelet::HaarWavelet(refer object TFunc)

param Curve

Performs a base Haar decomposition of the 'Curve' curve.

Class Helix

#module root.mathematic
Class for recovery of the position of characteristic on the sequence
from methods belonging to DotHelix class.
	Offset - beginning of the characteristic.
	Len - Length of characteristic.
	Weight - weight  (in the portions of root from the dispersion) of characteristic.

Methods:


Class Hi2

#module root.mathematic
Class is intended to calculate the estimation of the likelihood of Hi2.

Methods:


Hi2::GetHistogram(void)

Returns the distribution histogramm.

Hi2::GetPDF(void)

Returns the distribution histogramm.

Hi2::Hi2(object Vector, int, number)

param Y, k, Accuracy;

Creates a Hi2 for sample Y with k degrees of freedom.
Estimation Hi2 is the estimation of the likelihood
of the fact that Y is the sample of normal distribution with
the unknown average and unknown dispersion.
The calculation is performed with accuracy equal to 'Accuracy'

Class Histogram : Curve

#module root.mathematic
Class  Histogramm ensures the work with piecewise-constant functions.

Methods:


Histogram::()(number)

 param x;
Returns the  value of the histogramm in point x, if x does not
belong to the set of values in the table X.

Histogram::*(refer object Histogram)

param f;

Returns a tabular function which is the function which receives the message
multiplied with the tabular function f.

Histogram::*=(refer object Histogram)

param f;

Multiplies the function which receives the message with f.
Returns a reference to self.

Histogram::+(refer object Histogram)

param f;

Returns a tabular function which is the function which receives the message
added to the tabular function f.

Histogram::+=(refer object Histogram)

param f;

Adds the function which receives the message to f.
Returns a reference to self.

Histogram::-(refer object Histogram)

param f;

Returns a tabular function which is the function which receives the message
minus the tabular function f.

Histogram::-=(refer object Histogram)

param f;

Subtracts f from  the function which receives the message.
Returns a reference to self.

Histogram::/(refer object Histogram)

param f;

Returns a tabular function which is the function which receives the message
divided through the tabular function f.

Histogram::/=(refer object Histogram)

param f;

Divides the function which receives the message through f.
Returns a reference to self.

Histogram::Histogram(copy)

Constructor for creating a histogramm from a function.

Histogram::Histogram(refer ...)

All Curve class constructors are supported.

Histogram::Histogram(refer object Curve, boolean)

Constructor for creating a histogramm from a function.

Histogram::Histogram(refer object Histogram)

Constructor for creating a histogramm from a function.

Histogram::Integral(number, number)

param from, to;

Returns histogramms integral on section [from, to]

Histogram::Integral(void)

Returns a histogramm which is an integral of the called histogramm.

Histogram::IntegralSimpson(number, number)

param from, to;

Returns a value being a called histogramms integral on section [from, to]

Histogram::IntegralSimpson(void)

Returns a histogramm which is an integral of the called histogramm.

Histogram::Resample(object Vector)

param X;

Returns the curve in points X.

Class HistogramDecompose : DecomposeSingle

#module root.mathematic
Basic class for decomposition of non-normalized histogramms to a sum of distribution
using the gradient descent method.
For correct work of the algorithhm the presence of a real amount of events in
the (bin) interval is essential.

Methods:


HistogramDecompose::CalculateAmplitudes(void)

#rus Метод вычисляет вариации и амплитуды полученных результатов

HistogramDecompose::GetAmplitudes(refer object Vector)

#rus Метод вычисляет амплитуды полученных результатов

HistogramDecompose::GetApproxCurve(int, refer object Vector)

param Index, X;

Returns an approximated curve of the solution 'Index'  specified in points X.

HistogramDecompose::GetComponentCurve(int, int, refer object Vector)

param Index, j, X;

Returns the curve of the component j in solution Index specified in points X.

HistogramDecompose::GetDensityApproxCurve(int, refer object Vector)

param Index, X;

Returns an approximated curve of the solution 'Index'  specified in points X.

HistogramDecompose::GetDensityComponentCurve(int, int, refer object Vector)

param Index, j, X;

Returns the curve of the component j in solution Index specified in points X.

HistogramDecompose::GetDistribution(refer object Vector)

param Index, X;

#rus Возвращает аппроксимационную кривую решения Index определенную в точках X.

HistogramDecompose::GetProbability(object Vector)

param Result;

Returns non-normalized result probability.

HistogramDecompose::HistogramDecompose(object TFunc, refer object FitParams)

Decomposition of the histogramm to a sum of distribution
using the gradient descent method.

HistogramDecompose::SquareDiff(refer object Vector)

param Result;

#rus Метод, вычисляющий оптимизируемую функцию.

HistogramDecompose::_SquareDiff(refer object Vector, refer object Vector)

param Result;

Method calculates the function which has to be optimized.

Class HistogramExpDecompose : HistogramDecompose

#module root.mathematic
Class is intended for decomposition of a non-normalized histogramm
to a sum of exponents using the gradient descent method.
For correct work of the algorithhm the presence of a real amount of events in
the interval is essential.

Methods:


HistogramExpDecompose::GetComponents(object Vector, object Vector)

param index, X;

Obtains the components of components for the solution number index
at points assigned by vector X.

HistogramExpDecompose::GetComponents(refer object Vector)

param Res;

Returns an array of components corresponding with the result Res.

HistogramExpDecompose::GetDensityComponents(object Vector, object Vector)

param index, X;

Obtains the components of components for the solution number 'index'
at points assigned by vector X.

HistogramExpDecompose::GetDistribution(refer object Vector)

This function is implemented for optimization reason:
Tau calculation requare Exp calculation, so it is avoid to
do this calculation for every X point

HistogramExpDecompose::GetMinStep(void)

#rus Метод возвращает минимальные амплитуды шагов фитирования

HistogramExpDecompose::HistogramExpDecompose(object TFunc, refer object ExpDistrList)

Decomposition of a histogramm to a sum of exponents
using the gradient descent method.

HistogramExpDecompose::Print(int)

param index;

Prints out the 'index' solution.

HistogramExpDecompose::Print(int, boolean)

param index;

Prints out the 'index' solution.

Class HistogramFreeFormDecomp : HistogramDecompose

#module root.mathematic
Class is intended for fitting of a non-normalized histogramm
specified by a non-peremetrical distribution function.
For correct work of the algorithhm the presence of a real amount of events in
the interval is essential.

Methods:


HistogramFreeFormDecomp::GetApproxCurve(int, refer object Vector)

param Index, X;

Returns an approximated curve of the solution 'Index'  specified in points X.

HistogramFreeFormDecomp::GetDensityApproxCurve(int, refer object Vector)

param Index, X;

Returns an approximated curve of the solution 'Index'  specified in points X.

HistogramFreeFormDecomp::HistogramFreeFormDecomp(object TFunc, refer object FreeParamList)

Decomposition of the histogramm to a sum of distribution
using the gradient descent method.

HistogramFreeFormDecomp::Print(int)

param index;

Prints out the 'index' solution.

Class HistogramGaussDecompose : HistogramDecompose

#module root.mathematic
#rus Класс предназначен для разложения ненормированной гистограммы на сумму
#rus нормальных расределений методом градиентного спуска.
#rus Для правильной работы алгоритма существенным является наличие в интервале
#rus реального количества событий.

Methods:


HistogramGaussDecompose::GetComponents(object Vector, object Vector)

param index, X;

Obtains the components of components for the solution number index
at points assigned by vector X.

HistogramGaussDecompose::GetComponents(refer object Vector)

param Res;

Returns an array of components corresponding with the result Res.

HistogramGaussDecompose::GetDensityComponents(object Vector, object Vector)

param index, X;

Obtains the components of components for the solution number 'index'
at points assigned by vector X.

HistogramGaussDecompose::GetMinStep(void)

#rus Метод возвращает минимальные амплитуды шагов фитирования

HistogramGaussDecompose::HistogramGaussDecompose(object TFunc, refer object NormalDistrList)

Decomposition of a histogramm to a sum of
normal distributions using the gradientb descent method.

HistogramGaussDecompose::Print(int)

param index;

Prints out the 'index' solution.

HistogramGaussDecompose::Print(int, boolean)

param index;

Prints out the 'index' solution.

Class HistogramRadialGaussDecompose : HistogramDecompose

#module root.mathematic
Class is destined for deconvolution of non-normalized histogram on sum of
radial-symmetric normal  distribution by gradient descent method. It is essential to
have in the bin the real number of counts (events).

Methods:


HistogramRadialGaussDecompose::GetComponents(object Vector, object Vector)

param index, X;

Obtains the components of components for the solution number index
at points assigned by vector X.

HistogramRadialGaussDecompose::GetComponents(refer object Vector)

param Res;

Returns an array of components corresponding with the result Res.

HistogramRadialGaussDecompose::GetDensityComponents(object Vector, object Vector)

param index, X;

Obtains the components of components for the solution number 'index'
at points assigned by vector X.

HistogramRadialGaussDecompose::GetMinStep(void)

#rus Метод возвращает минимальные амплитуды шагов фитирования

HistogramRadialGaussDecompose::HistogramRadialGaussDecompose(object TFunc, refer object RadialNormalDistrList)

Decomposition of the histogramm to a sum of radial-symmetric
normal distributions using the gradient descent method.

HistogramRadialGaussDecompose::Print(int)

param index;

Print the index-th result of deconvolution 

HistogramRadialGaussDecompose::Print(int, boolean)

param index;

Print the index-th result of deconvolution 

Class HistogramSurface : TSurface

#module root.mathematic
Class HistogrammSurface provides basic functions for
the realization of a "2-dimensional histogramm".
It behaves like a mathematical function with 2 arguments.

Methods:


HistogramSurface::()(number, number)

param x, z;

returns the value of Y in point (x,z)

HistogramSurface::*(refer object HistogramSurface)

param v;

Multiplies self with the surface v.

HistogramSurface::*=(refer object HistogramSurface)

param v;

Multiplies self with the surface v.

HistogramSurface::+(refer object HistogramSurface)

param v;

Adds v to self.

HistogramSurface::+=(refer object HistogramSurface)

param v;

Adds v to self.

HistogramSurface::-(refer object HistogramSurface)

param v;

Subtracts v from self.

HistogramSurface::-=(refer object HistogramSurface)

param v;

Subtracts v from self.

HistogramSurface::/(refer object HistogramSurface)

param v;

Divides self through v.

HistogramSurface::/=(refer object HistogramSurface)

param v;

Divides self through v.

HistogramSurface::HistogramSurface(refer ...)

Constructor creating a 2-dimensional histogramm.
For the description of parameters of the constructor
see parent class.

HistogramSurface::HistogramSurface(refer object TSurface, boolean)

Constructor creating a 2-dimensional histogramm from a surface.

HistogramSurface::IntegralX(number, number)

param a, b;

Returns a function being an integral of the called surface along X axis
in the interval (a, b). Integral is calculated using the trapezoid method.
The additive constant of indefinite integral is set equal to zero.

HistogramSurface::IntegralX(void)

Returns a function being an integral of a called tabular function along X axis
in the interval (a, b). Integral is calculated using the trapezoid method.
The additive constant of indefinite integral is set equal to zero.

HistogramSurface::IntegralZ(number, number)

param a, b;

Returns a function being an integral of the called surface along Z axis
in the interval (a, b). Integral is calculated using the trapezoid method.
The additive constant of indefinite integral is set equal to zero.

HistogramSurface::IntegralZ(void)

Returns a function being an integral of a called tabular function along X axis
in the interval (a, b). Integral is calculated using the trapezoid method.
The additive constant of indefinite integral is set equal to zero.

HistogramSurface::LoadFromFile(object String)

Reads a surface from the FileName file.

HistogramSurface::Resample(object Vector, object Vector)

param X, Z;

Returns a surface specified in points (X * Z).

HistogramSurface::SectionXY(number)

param z;

Returns a function obtained by cutting the surface
by plane XY at point z.

HistogramSurface::SectionZY(number)

param x;

Returns a function obtained by cutting the surface
by plane ZY at point x.

HistogramSurface::xy(int)

param index;

Returns a function xy oin index 'index' in the table.

Class LightScattering : DecomposeSingle

#module root.mathematic
Class is intended for light diffusion search using the
gradient descent method.

Methods:


LightScattering::CalculateAmplitudes(void)

#rus Метод вычисляет вариации и амплитуды полученных результатов

LightScattering::GetComponents(refer object Vector)

param Res;

Returns a component array, corresponding  with the result Res.

LightScattering::GetComponents(refer object Vector, object Vector)

param Res, X;

Returns a component array, corresponding  with the result Res.

LightScattering::Print(int)

param index;

Print the index-th result.

LightScattering::SquareDiff(refer object Vector)

param Result;

Method calculating the function which has to be optimized, normalized for dispersion

Class LineRegr2

#module root.mathematic
Class LineRegr2 is intended for finding a decomposition of the
goal function to basic functions using the least squares method.

Methods:


LineRegr2::GetErrors(refer object Vector)

param S;

Calculating the errors of weght values calculated by the
LineRegr2::GetWeights method.
S is an array of arrays of base function values.
It is assumed, that the function are specified in the same points on x and
also in the array which is passed as a parameter in the constructor and
only contains  y- values (?).
Returns a vector of discomposition coefficients like:
	Y = A[0] * S[0] + A[1] * S[1] + ...
	

LineRegr2::GetWeights(refer object Vector)

param S;

Calculation of the weights of base function components
using the linear regression method.
It is assumed, that the function are specified in the same points on x and
also in the array which is passed as a parameter in the constructor and
only contains  y- values (?).
Returns a vector of discomposition coefficients like:
	Y = A[0] * S[0] + A[1] * S[1] + ...

LineRegr2::GetWeights(refer object Vector, refer any)

param S, Residue;

Calculate the weight of the base function components using the linear regression method.
S is an array of base function value arrays.
t is assumed, that the function are specified in the same points on x and
also in the array which is passed as a parameter in the constructor and
only contains  y- values (?).
Returns a vector of discomposition coefficients like:
	Y = A[0] * S[0] + A[1] * S[1] + ...
The residue of hi2 is passed through the 'Residue' parameter.
	

LineRegr2::LineRegr2(refer object Vector)

param Y;

Constructor for regression of the Y array with unknown dispersion
with a search for a basic line without limiting the parameters.

LineRegr2::LineRegr2(refer object Vector, number, boolean, boolean)

param Y, MaxAmplitude, IsPositive, CheckOffset;

Constructor for regression of the Y array with unknown dispersion.
If CheckOffset == TRUE, then a base line search is performed.
If IsPositive == TRUE, then only positive results are searched for.
MaxAmplitude determines the maximum allowed amplitude of the result parameters.

LineRegr2::LineRegr2(refer object Vector, refer object Vector)

param Y, Disp;

Constructor for regression of the Y array with dispersion equal to 'Disp'.
The base line search is performed without limiting the parameters.

LineRegr2::LineRegr2(refer object Vector, refer object Vector, number, boolean, boolean)

param Y, Disp, MaxAmplitude, IsPositive, CheckOffset;

Constructor for regression of the Y array with dispersion equal to 'Disp'.
If CheckOffset == TRUE, then a base line search is performed.
If IsPositive == TRUE, then only positive results are searched for.
MaxAmplitude determines the maximum allowed amplitude of the result parameters.

Class LineSpline : Spline

Line Approximation	(for any number of points)
#module root.mathematic

Methods:


LineSpline::()(number)

Approximation calculation (spline value),
with the mu parameter lying in the interval of [0,...,1]

LineSpline::GetDerivation(number)

Finds derivation of spline at prameter mu = [0,...,1]

LineSpline::LineSpline(refer object Vector)

Line Approximation	(for any number of points)

Class Line_LSQM2

#module root.mathematic
Class Line_LSQM2 is destined to calculate
linear regression by expression
	y = Sum(A[i] * f[i](x)).

Methods:


Line_LSQM2::DoIt(boolean, boolean)

param UseDispersionFromCurve, Progress;

Calculation of linear regression.
The result of calculation can be obtained using the following methods:
	GetA(i) - returns the calculated value of A[i]
	GetStdDevA(i) - returns the confidence interval of A[i]
	GetResidue() - returns the residue
	GetApprox(from, to, n_steps) - returns the approximation
	curve in the interval (from, to) on n_steps to points.
	If parameter Progress == TRUE, then the window of progress is opened,
	otherwise the calculation is conducted "silently".
	If parameter UseDispersionFromCurve == TRUE, then it is assumed,
	that the dispersion is known and is contained in field Disp
	of the analyzed function, otherwise the dispersion is relied
	by unknown and is evaluated.
	
	

Line_LSQM2::GetA(int)

param i;

returns calculated value of A[i]

Line_LSQM2::GetApprox(number, number, int)

param from, to, n_steps;

Returns an approximation curve on the (fron, to) interval on n_steps points.

Line_LSQM2::GetApprox(number, number, int, object String)

param from, to, n_steps, Comment;

Returns an approximation curve on the (fron, to) interval on n_steps points.

Line_LSQM2::GetCorrelation(int, int)

param i, j;

Returns the correlation coefficient of A[i] and A[j] parameters.

Line_LSQM2::GetLogProb(void)

Returns non-normalized discomposition probability value.
It can be normalized by equating the sum of the probabilities for all models to one.

Line_LSQM2::GetResidue(void)

Returns calculated residue value.

Line_LSQM2::GetStdDevA(int)

param i;

Returns calculated value of the confidence interval A[i]

Line_LSQM2::Line_LSQM2(refer object TFunc)

param y;

Constructor for finding linear regressionusing the formula:
	y = A * x + B

Line_LSQM2::Line_LSQM2(refer object TFunc, refer object Vector)

param y, f;

Constructor for finding linear regressionusing the formula:
	y = Sum(A[i] * f[i](x)).

Class LogIntegralI

#module root.mathematic
Class for calculating the marginalization integral logarithm
on alpha from entropy prior.

Methods:


Class LogNormal

#module root.mathematic
Base class for spectrum decomposition to a number of
non-homogeneously widened log-normal components and Rayleigh light diffusion.

Methods:


LogNormal::GetComponents(refer object Vector)

param Res;

Returns a component array corresponding with result Res.

LogNormal::GetComponents(refer object Vector, object Vector)

param Res, X;

Returns a component array corresponding with result Res.

LogNormal::LogNormal(object Vector, object BandList)

Spectrum decomposition to a number of
non-homogeneously widened log-normal components and Rayleigh light diffusion
using the gradient descent method.

LogNormal::SetCheckScattering(boolean)

Sets light scattering control check.

Class LogNormalDecompose : DecomposeSingle, LogNormal

#module root.mathematic
Class for spectrum decomposition to a number of
non-homogeneously widened log-normal components and Rayleigh light diffusion
using the gradient descent method.

Methods:


LogNormalDecompose::CalculateAmplitudes(void)

#rus Метод вычисляет вариации и амплитуды полученных результатов

LogNormalDecompose::LogNormalDecompose(object TFunc, object BandList)

Spectrum decomposition to a number of
non-homogeneously widened log-normal components and Rayleigh light diffusion
using the gradient descent method.

LogNormalDecompose::Print(int)

param index;

Print the index-th result 

Class MathImage

#module root.mathematic
Class is intended to perform basic image manipulations.

Methods:


MathImage::+(refer object MathImage)

param Img;

Returns a sum of 2 images: 'self' and 'img'.
The images must be of the same size.

MathImage::+=(refer object MathImage)

param Img;

Adds 'Img' to 'self'. The images must be of the same size.

MathImage::-(refer object MathImage)

param Img;

Returns the difference of  'self' and 'Img'.
The images must be of the same size.

MathImage::-=(refer object MathImage)

param Img;

Subtracts 'Img' from 'self'.
Images must be of the same size.

MathImage::Add(refer object Matrix, int, int)

param Matrix, x, y;

Adds the 'Matrix' matrix to 'self'.
Matrix is added with a shift (x, y).

MathImage::ClipByThresholds(number, number)

param Threshold_0, Threshold_1;

Method reduces to zero all intensities not belonging
to half-interval [ Threshold_0, Threshold_1).

MathImage::Erosion(int)

param UpperBoundary

Implements erosion - resetting the boundary points if they are less
than UpperBoundary. Method works ONLY with the positive  intensity values.
Boundaries are n-boundaries with a zero-intensity area.
Compresses the objects to their geometric center.
Method modifies its own images and does not return anything.

MathImage::Expand(int)

param N;

Method returns the image, obtained from image 'self' by tension by N times.

MathImage::FindCentralLines(int, int)

Implements erosion - setting the boundary points to zero if they are less than
UpperBoundary and do not form objects carcass.
Then,in order to remove the ends of the carcasses
found carcasses are enlarged by the spheres of radius 'ExpandReadius'
and erosion is repeated.
thod works ONLY with the positive  intensity values.
Boundaries are n-boundaries with a zero-intensity area.
Method modifies its own images and does not return anything.

MathImage::FindMaximum(int, int, int, int, int)

param x, y, width, height, wnd;

returns the coordinates of the maximum point in the rectangular region
(x, y, width, height).
Thereby 2*wnd + 1 is the size of a square window in which the averaging
is performed while searching the maximum.
If the search for the maximum without averaging is required , then wnd = 0.

MathImage::FindVesicule(int, int, int, int, refer any)

param x, y, width, height, offset;

#rus Метод ищет везикулу в прямоугольнике (x, y, width, height) и возвращает
#rus массив найденных везикул (объекты класса Vesicule). Через параметр offset
#rus возвращается величина пъедестала в области прямоугольнике поиска

MathImage::FindVesicule(refer object Vector, refer object Vector, int, int, int, int, refer any, refer any, number, boolean)

param StartPoint, Boundaries, x, y, width, height, offset, Residue;

#rus Метод ищет везикулы в прямоугольнике (x, y, width, height) и возвращает
#rus массив найденных везикул (объекты класса Vesicule).
#rus StartPoint - начальная точка поиска, по пять параметров на одну везикулу.
#rus Boundaries - границы области поиска в пространстве параметров.
#rus Через параметр offset возвращается величина пъедестала в области прямоугольнике поиска
#rus Через параметр Residue возвращается невязка.

MathImage::FindVesicules(int, int, int, int, refer any, number, boolean, number, boolean)

param off_x, off_y, width, height, offset, MinSquare, CheckOffset, Threshold, EllipseBaseFunc;

#rus Метод ищет набор везикул в прямоугольнике (x, y, width, height) и возвращает
#rus массив найденных везикул (объекты класса Vesicule). Через параметр offset
#rus возвращается величина пъедестала в области прямоугольнике поиска.
#rus MinSquare - минимальная допустимая площадь везикулы

MathImage::FitImage(int, int)

param x, y;

Returns TRUE if the point (x,y) belongs to the image considering the shift-turn
specified by the MathImage::SetTransfer method,
else returns FALSE.

MathImage::FitVesicules(refer object Vector, int, int, int, int, refer any, boolean)

param Vesicules, x, y, width, height, Residue, CheckOffset;

Returns a vesicule amplitude array; the vesicules are enumerated in the
Vesicule array while fitting the image in rectangle (x, y, width, height)with them.
The last element  of the returned vector  contains the size of the offset.
The residue is returned through the 'Residue' parameter.

MathImage::FlipH(void)

Reflects the image specularly relative to vertical axis.

MathImage::FlipV(void)

Reflects the image specularly relative to horizontal axis.

MathImage::GetBits(int)

param b;

Returns image bits. If b ==1 the image is transformed to 1-byte
image if b==2 the image is transformed to a 2-byte image.

MathImage::GetCurve(number, number, number, number)

param x0, y0, x1, y1;

#rus Метод возвращает кривую яркости изображения
#rus вдоль отрезка, заданного точками (x0, y0, x1, y1)

MathImage::GetIsoPoints(int)

param Level;

Method returns a coordinate pair vector <<x, y>> of image points,
having the intensity level equal to 'Level'.

MathImage::GetMatrix(int, int, int, int)

param x, y, width, height;

Method returns a matrix with size equal to (height, width) filled with
image intensity values in rectangle (x, y, width, height).

MathImage::GetNonZeroPoints(void)

Method returns a coordinate vector pair <<x, y>> opf image points
having a intensity level not equal to zero.

MathImage::GetResidue(refer object MathImage, number, number, number)

param Image, offset_x, offset_y, alpha;

Returns the residue while impositioning the image 'image' on 'self'
with an offset equal to (offset_x, offset_y) and a turn equal to 'alpha'.

MathImage::GetResidue(refer object MathImage, number, number, number, number, number)

param Image, offset_x, offset_y, alpha, intensity_offset, intensity_scale;

Returns the residue while impositioning the image 'image' on 'self'
with an offset equal to (offset_x, offset_y) and a turn equal to 'alpha'.
While calculating the residue the image intensity of 'Image' is transformed
using the formula:
	I' = intensity_scale * I + intensity_offset
	
	

MathImage::GetResidue(refer object Matrix, int, int, int)

param Matrix, offset_x, offset_y, step;

Returns the residue while impositioning the matrix  'Matrix' on 'self'
with an offset equal to (offset_x, offset_y).
The step between the matrix points while impositioning is equal to 'Step'.

MathImage::GetSurface(number, number, number, number)

param x, y, width, height;

#rus Метод возвращает поверхность, соответствующую
#rus прямоугольнику (x, y, x + width, y + height)
#rus изображения

MathImage::GetValue(number, number)

param x, y;

Returns the intensity in point (x, y) considering the shift-turn of
the image determined by MathImage::SetTransfer method.

MathImage::GetValues(refer object Vector)

param Points;

Method returns a vector of intensities in points enumerated in the 'Points' vector.
The Points vector must either contain a number of pairs  << x, y >>  or a number
of POINT class objects.

MathImage::GetVector(int, int, int, int)

param x, y, width, height;

Method returns an image piece from the rectangle  (x, y, width, height)
expanded to a vector line-by-line.

MathImage::Height(void)

returns the height of the image.

MathImage::InitGrid(number, number)

param width, height;



MathImage::InitGrid(number, number, boolean)

param width, height, RelativeToVariation;



MathImage::IsValid(void)

Returns TRUE if initialization of the image succeeded,
otherwise returns FALSE.

MathImage::LineRegression(refer object Vector, int, int, refer any)

param Matrixes, x, y, Residue;

Method returns an array of the amplitudes obtained by fitting the array of
matrices with identical dimensionality in the rectangle
(x, y, Matrixes[0]->X(), Matrixes[0]->Y())
The last element of the returned vector contains the offset value.
Residue is returned through the 'Residue' parameter.

MathImage::Load(int, object String, object String, ...)

param Color, FileType, FileName, [BigEndian];

#rus Загружает изображение из файла FileName.
#rus Поскольку MathImage является серым изображением, то берется
#rus цветной байт с номером Color.
#rus Color ==  -1 - серый
#rus 		 	0 - красный
#rus 			1 - зеленый
#rus 			2 - синий
#rus Возможные значения параметра FileType: "TIFF", "JPEG", "BMP", "GIF"
#rus Если параметр BigEndian установлен, то функция чтения 16-ти битных TIFF файлов
#rus форсируется к определенному порядку байт.
#rus Параметр введен для чтения 16-ти разрядных TIFF файлов с ошибкой в заголовке (tif_header.tiff_magic)

MathImage::MathImage(int, int)

param width, height;

#rus Создает черное изображение размером (width x height).
Creates a black image with size (width x height).

MathImage::MathImage(int, object String)

param Color, FileName;

#rus Загружает изображение из файла FileName.
#rus Поскольку MathImage является серым изображением, то берется
#rus цветной байт с номером Color.
#rus Color ==  -1 - серый
#rus 		 	0 - красный
#rus 			1 - зеленый
#rus 			2 - синий

MathImage::MathImage(int, object String, object String)

param Color, FileType, FileName;

#rus Загружает изображение из файла FileName.
#rus Поскольку MathImage является серым изображением, то берется
#rus цветной байт с номером Color.
#rus Color ==  -1 - серый
#rus 		 	0 - красный
#rus 			1 - зеленый
#rus 			2 - синий
#rus Возможные значения параметра FileType: "TIFF", "JPEG", "BMP", "GIF"

MathImage::MathImage(int, refer object String, int, int, int)

param depth, bits, offset, width, height

Creates an image from bit data.
depth - describes the structure of the bit data. Possible values:
 CMID_BYTE, CMID_WORD, CMID_RGB, CMID_RGB16
 bits - data
 offset - offset for sign images. For unsigned images must be equal to 0.
 width and height - size of the image.

MathImage::MathImage(int, refer object String, int, int, int, int)

Creates an image from bit data.
depth - describes the structure of the bit data. Possible values:
CMID_BYTE, CMID_WORD, CMID_RGB, CMID_RGB16
MathImage is a grey picture, so a color with the n
umber 'Color' must be taken:
Color == 0 - red
		 1 - green
		 2 - blue
bits - data
offset - offset for sign images. For unsigned images must be equal to 0.
width and height - size of the image.

MathImage::MathImage(refer object MathImage, int, int, int, int)

param Img, x, y, width, height;

Creates an extra image from a rectangle area of 'Img'.

MathImage::MathImage(refer object Matrix)

param Matrix;

Creates an image from the 'Matrix' matrix.

MathImage::Mean_SD(int, int, int, int)

param x, y, width, height;

Returns a vector << average value, average square deviation >>
in the rectangle area specified by the following parameters:
(x, y, width, height).

MathImage::Mean_SD(int, int, int, int, int)

param x, y, width, height, itter_number;

Returns a vector << average value, average square deviation >>
in the rectangle area specified by the following parameters:
(x, y, width, height).
The itter_number parameter specifies the iteration number while calculating
the average value. All values differing more than 2 average squaer deviations are excluded.

MathImage::MedianSmooth(int)

param wnd;

Performs a  smoothing of an image with a median filter with a square window
having the size 2 * wnd + 1.

MathImage::MedianSmooth(int, int, int, int, int)

param wnd, left, top, width, height;

Performs smoothing of an image in a rectangle with the top corner (left, top)
and size equal to width x height

MathImage::MergeImage(refer object MathImage, boolean, refer ...)

param Image, Transparent, [ProgressWnd];

#rus Метод возвращает сшитые изображения self и Image. Область перекрытия определяется
#rus автоматически. Если Transparent == TRUE, то область перекрытия прозрачная, иначе
#rus self накрывает Image. 
#rus ProgressWnd - не обязательный параметр класса GProgressWnd для отображения прогресса
#rus поиска области перекрытия.

MathImage::MergeImage(refer object MathImage, number, number, number, boolean)

param Image, offset_x, offset_y, alpha, Transparent;

Method merges 2 images and returns a MathImage as a result.
The image 'Image' is thereby shifted by offset_x, offset_y) and turned by the
angle 'alpha'.
If Transparent == TRUE, images are laid on each other transparently in the overlap region,
 otherwise 'self' overlaps 'Image'

MathImage::MergeImage(refer object MathImage, number, number, number, number, number, boolean)

param Image, offset_x, offset_y, alpha, offset, scale, Transparent;

Method merges 2 images and returns a MathImage as a result.
The image 'Image' is thereby shifted by offset_x, offset_y) and turned by the
angle 'alpha'.The intensity of the 'Image' image is converted before merging
using the formula: I' = scale * I + offset.
If Transparent == TRUE, images are laid on each other transparently in the overlap region,
 otherwise 'self' overlaps 'Image'

MathImage::ResetFittingBoundaries(void)

#rus Сбрасывает предустановленные значения границы

MathImage::ResetTransfer(void)

Resets the shift-turn of the image, set by the MathImage::SetTransfer
method.

MathImage::SearchMergingPoint(object Vector, int, refer object MathImage, number, refer ...)

param StartPoint, NumbToTry, Image, Accuracy;

#rus Метод вычисляет параметры перекрытия изображений self и Image.
#rus Возвращает вектор << Offset_x, Offset_y, Alpha, IntensityOffset, IntensityScale >>,
#rus где Offset_x, Offset_y, Alpha - это смещение и поворот изображения Image относительно self
#rus для наилучшего наложения. IntensityOffset, IntensityScale - преобразование интенсивности
#rus изображения Image, обеспечивающее лучшее наложение.
#rus StartPoint - начальное приближение.
#rus NumbToTry - количество попыток поиска глобального оптимума
#rus Accuracy - точность вычисления.

MathImage::Set(refer object Matrix, int, int)

param Matr, x, y;

Method fills the image rectangle (x, y, Matr->X(), Matr->Y())
with values from the 'Matr' matrix.

MathImage::SetFittingBoundaries(refer object Vector)

param boundaries;

#rus Устанавливает границы области поиска совмещения двух изображений
#rus Формат параметра boundaries:
<<
 	<< X0, X1 >>,
	<< Y0, Y1 >>,
	<< Alpha0, Alpha1 >>,
	<< IntensityOffset0, IntensityOffset1 >>,
	<< IntensityScale0, IntensityScale1 >>
>>

MathImage::SetTransfer(number, number, number)

param offset_x, offset_y, alpha;

Sets the image offset (offset_x, offset_y) and the turn 'alpha'.

MathImage::SkipNegative(void)

Method sets all negative values in image to zero.

MathImage::Smooth(int)

param wnd;

Performs smoothing of the image with a floating average value
with a square window having the size 2 * wnd + 1.

MathImage::Smooth(int, int, int, int, int)

param wnd, left, top, width, height;

Performs smoothing of the image in the rectangle with the top corner
(left, top) and size equal to width x height using the floating average value
with a square window having the size 2 * wnd + 1.

MathImage::Squeeze(int)

param N;

Performs N time sqeezing of the initial image  pon both dimensions.
Returns a MathImage as a result.

MathImage::Substract(refer object Matrix, int, int)

param Matrix, x, y;

Subtracts 'Matrix' from 'self'.
The matrix is subtracted through shifting (x, y)

MathImage::SubstractBackground(int)

param wnd;

For each point an average value is calculated. Then it is subtracted using
a square window with size 2 * wnd + 1.
While calculating the average value iteratively (3 iterations)
all points with value exceeding  3 * sigma + mean are excluded.

MathImage::SubstractBackground(int, int)

param wnd, Rep;

For each point an average value is calculated. Then it is subtracted using
a square window with size 2 * wnd + 1.
While calculating the average value iteratively (with 'Rep' number of iterations)
all points with value exceeding  3 * sigma + mean are excluded.

MathImage::SubstractBackground(int, int, int, int, int)

param wnd, x0, y0, width, height;

For each point an average value is calculated. Then it is subtracted using
a square window with size 2 * wnd + 1. The subtraction is performed in a rectangle
(x0, y0, width, height).
While calculating the average value iteratively (3 iterations)
all points with value exceeding  3 * sigma + mean are excluded.

MathImage::SubstractBackground(int, int, int, int, int, int)

param wnd, x0, y0, width, height, Rep;

For each point an average value is calculated. Then it is subtracted using
a square window with size 2 * wnd + 1. The subtraction is performed in a rectangle
(x0, y0, width, height).
While calculating the average value iteratively (with 'Rep' number of iterations)
all points with value exceeding  3 * sigma + mean are excluded.

MathImage::UpdateGrid(number, number, number, number)

param off_x, off_y, width, height;



MathImage::UpdateGrid(number, number, number, number, boolean)

param off_x, off_y, width, height, RelativeToVariation;



MathImage::Width(void)

Returns the width of the image.

Class Michaels

#module root.mathematic
Base class for curve decomposition to a number of Michaelis components
using the gradient descent method.

Methods:


Michaels::GetComponents(object Vector, object Vector)

param index, X;

Gets the components of components for the solution number 'index'
in points specified by vector X.

Michaels::GetComponents(refer object Vector)

param Res;

Retuns a component array , corresponding with the result Res.

Class MichaelsComponent

Class for transfering the information about one spectrum line.

Methods:


MichaelsComponent::CheckBoundaries(void)

Checks  whether boundaries fit.

MichaelsComponent::MichaelsComponent(number, number, object Vector, boolean)

param kD, Hill, Boundaries;



Class MichaelsDecompGlobal : DecomposeGlobal, Michaels

#module root.mathematic
Class for  decomposition of curve groups to a number of Michaelis components
using the gradient descent method.

Methods:


MichaelsDecompGlobal::Print(int)

param index;

Prints the index-th result.

Class MichaelsDecompSingle : DecomposeSingle, Michaels

#module root.mathematic
Base class for curve decomposition to a number of Michaelis components
using the gradient descent method.

Methods:


MichaelsDecompSingle::Print(int)

param index;

Prints the index-th result.

Class MichaelsList : FitParams

Class is intended for passing the parameters in the decomposition class
to Michaels components.
The 'List' field contains a MichaelsComponent object vector.

Methods:


MichaelsList::SetParams(refer object Vector, refer object Vector, int)

It is assumed, that the values of the parameters are always transferred
in  concentrations

Class MultiExponent : Function

#module root.mathematic

Methods:


Class NonLineSystem : SolveByItteration

#module root.mathematic
Class is intended for solution search in non-linear equatations
using the Newton iteration method.

Methods:


NonLineSystem::GetResult(void)

#rus Возвращает результат решения системы.

NonLineSystem::NonLineSystem(refer object Vector, refer object Matrix, refer object Vector, refer object Vector, number)

param Func, Jacobian, Boundaries, StartPoint, Accuracy;

An NonLineSystem object is created for solving an equatation system
{Func[i] == 0}.
Parameters:
	Func - function array building the equataion system
	It is assumed, that functions receive 2 parameters:
		- an array of varables in the space of which the search for
			a solution is performed
		-  an auxiliary parameter set  by the user by calling the
			SetExtraParam method.
	Jacobian - jacobian of the system which has to be solved (matrix,
	with an element i, j being the derivative of i-th function 'Func' on
	j-th variable). It is assumed, that jacobian functions receive
	parameters:
		- an array o variables in the space of which the solution is searched for
		-  an auxiliary parameter set  by the user by calling the
			SetExtraParam method.
		- a reference to an NonLineSystem class object performing the
		solution of the equatation system.
	Boundaries - a boundary pair value array defining the solution search area
	Startpoint - an  array of starting values (initial solution search point)
	Accuracy - accuracy of solution search (search for solution continues until
	the distance between the subsequent approximation points is less than 'Accuracy')
This constructor is more preferable , if it is possible to assign jacobian
functions directly.  
		
		

NonLineSystem::NonLineSystem(refer object Vector, refer object Vector, refer object Vector, number)

param Func, Boundaries, StartPoint, Accuracy;

#rus Создается объект NonLineSystem для решения системы уравнений
{Func[i] == 0}.
#rus Параметры:
#rus 	Func - массив функций, образующих систему уравнений.
#rus 		Предполагается, что функции получают 2 параметра:
#rus 		 - массив переменных, в пространстве которых ищется решение.
#rus 		 - вспомогательный параметр произвольной природы,
#rus 			устанавливаемый пользователем при помощи вызова
#rus 			метода SetExtraParam.
#rus 	Boundaries - массив пар граничных значений, определяющий область
#rus 		поиска решения.
#rus 	StartPoint - массив начальных значений (исходная точка поиска решения)
#rus 	Accuracy - точность поиска решения (поиск решения прекращается, когда
#rus 		расстояние между последующими точками приближения решения будет
#rus 		меньше Accuracy).

NonLineSystem::SolveSystem(number)

param Alpha;

#rus Решает систему с регуляризующим параметром Alpha.
#rus Допустимые значения параметра 0.0 < Alpha <= 1.0
#rus Если по достижениии MaxItterationNumber иттераций заданная
#rus точность решения не достигнута - поиск решения прекращается
#rus и возбуждается ошибка - ERR_SOLUTION_NOT_FOUND

NonLineSystem::SolveSystem(void)

#rus Решает систему.
#rus Если по достижениии MaxItterationNumber иттераций заданная
#rus точность решения не достигнута - поиск решения прекращается
#rus и возбуждается ошибка - ERR_SOLUTION_NOT_FOUND

Class NonLinearEquation : SolveByItteration

#module root.mathematic
Class is intended for solving non-linear equatations using
section division in half method.

Methods:


NonLinearEquation::GetResult(void)

Returns the result of system solution.

NonLinearEquation::NonLinearEquation(refer object Function, refer object Vector, number)

param Func, Boundaries, Accuracy;

#rus Создается объект NonLineSystem для решения системы уравнений
{Func[i] == 0}.
#rus Параметры:
#rus 	Func - левая часть ур-ния Func = 0.
#rus 		Предполагается, что функця получает 2 параметра:
#rus 		 - переменная, в пространстве которых ищется решение.
#rus 		 - вспомогательный параметр произвольной природы,
#rus 			устанавливаемый пользователем при помощи вызова
#rus 			метода SetExtraParam.
#rus 	Boundary - пара граничных значений, определяющая область
#rus 		поиска решения.
#rus 	Accuracy - точность поиска решения (поиск решения прекращается, когда
#rus 		расстояние между последующими точками приближения решения будет
#rus 		меньше Accuracy).
An NonLineSystem object is created for solving an equatation system
{Func[i] == 0}.
Parameters:
	It is assumed, that the function receives 2 parameters:
		- an array of varables in the space of which the search for
			a solution is performed
		-  an auxiliary parameter set  by the user by calling the
			SetExtraParam method.
	Func - the left part of the Func equatation is = 0
	Boundary - a boundary pair value array defining the solution search area
	Accuracy - accuracy of solution search (search for solution continues until
	the distance between the subsequent approximation points is less than 'Accuracy')

NonLinearEquation::Solve(void)

Solves the system.
If MaxItterationNumber of iterations is reached,but the specified accuracy
of the solution is not achieved,the search for the solution stops,
and an  ERR_SOLUTION_NOT_FOUND error is invoked.
 

Class NormalDistrList : FitParams

Class is intended for parameter transfer to the histogramm decomposition class.
#module root.mathematic

Methods:


NormalDistrList::SetParams(refer object Vector, refer object Vector, int)

Creates a distribution description based on sequentially enumerated
fitting parameters.

Class NormalDistribution

Class for transfer of information about the normal distribution.
#module root.mathematic

Methods:


NormalDistribution::CheckBoundaries(void)

Checks whether boundaries fit.

NormalDistribution::GetBoundaries(void)

Returns a sequentional list of fitting-parameter boundaries

NormalDistribution::GetParams(void)

Returns a sequentional list of fitting-parameters.

NormalDistribution::NormalDistribution(number, number, number)

param Mean, Sigma, Amp;



NormalDistribution::NormalDistribution(number, number, number, object Vector)

param Mean, Sigma, Amp, Boundaries;



NormalDistribution::ShakeData(number, number, number)

#rus Случайным образом меняет параметры

NormalDistribution::ShakeData(void)

Randomly changes parameters.

Class Pass3Diagonal

#module root.mathematic
Solves the set of linear equations with the three-diagonal 
matrix using the sweep method.

Methods:


Pass3Diagonal::Pass3Diagonal(refer object Vector, refer object Vector, refer object Vector, refer object Vector, number, number, number, number)

param A, B, C, D, a0, b0, aN, bN;

Solution of the three-diagonal set of linear equations of 
the following type:
 ------------------------
	A[i] * y[i + 1] + B[i] * y[i] + C[i] * y[i - 1] + D[i] = 0
		when i > 0 and i < N
	y[0] = a0 * y[1] + b0;
		when i = 0;
	y[N] = aN * y[N - 1] + bN;
		when i = N;
	where N - the number of points of the grid on which the 
		solution is searched.
Note:
	Set solution exists and the unique one if
		-B[i] >= A[i] + C[i]
		-B[i], A[i], C[i] > 0
	when i > 0 and i < N
			and
		0 <= a0 < 1
		0 <= aN < 1

Pass3Diagonal::Solution(void)

Returns the equation set solution

Class PointSpline : Spline

The PointSpline class represents a dump class for the 
degenerate case - an array consists of one point.
#module root.mathematic

Methods:


PointSpline::()(number)

param mu;

Calculates the spline value when the mu parameter value
is located within the [0,...,1] interval

PointSpline::GetDerivation(number)

Calculates the derivative of spline at the mu point which 
is located within the [0,...,1] interval

Class PoissonSingle : DecomposeSingle

Methods:


PoissonSingle::GetComponents(refer object Vector)

param Res;

Returns a component array corresponding with the result Res.

PoissonSingle::GetComponents(refer object Vector, refer object Vector)

param Result, X;

Returns a component array corresponding with the result Result in points X.

PoissonSingle::PoissonSingle(refer object TFunc, object ExpTauItemList)

param Curve, ExpList;



PoissonSingle::Print(int)

param index;

Prints the index-th result.

Class QubicSpline : Spline

Cubic approximation (for 4 points)
#module root.mathematic

Methods:


QubicSpline::()(number)

Approximation calculation (spline value) when the mu parameter value
is located within the [0,...,1] interval

QubicSpline::GetDerivation(number)

	Calculates the derivative of spline at the mu point which 
	is located within the [0,...,1] interval

QubicSpline::QubicSpline(refer object Vector)

Cubic approximation (for 4 points)

Class RadialNormalDistrList : FitParams

Class is intended for transfering parameters to the histogramm decomposition class.
#module root.mathematic

Methods:


RadialNormalDistrList::SetParams(refer object Vector, refer object Vector, int)

Creates a description of distribution based on sequentially enumerated
fitting-parameters.

Class RadialNormalDistribution

Class for transfering information about the normal distribution.
#module root.mathematic

Methods:


RadialNormalDistribution::CheckBoundaries(void)

Checks whether boundaries fit.

RadialNormalDistribution::GetBoundaries(void)

Returns a sequentional list of fitting-parameter boundaries

RadialNormalDistribution::GetParams(void)

Returns a sequentional list of fitting-parameters.

RadialNormalDistribution::RadialNormalDistribution(number, number)

param Mean, Sigma, Amp;



RadialNormalDistribution::RadialNormalDistribution(number, number, object Vector)

param Sigma Amp, Boundaries;



RadialNormalDistribution::ShakeData(number, number)

#rus Случайным образом меняет параметры

RadialNormalDistribution::ShakeData(void)

Randomly changes parameters.

Class Runge : Cauchy

#module root.mathematic
The Runge is designed to solve the Cauchy set of equations 
by the Runge-Kutta method of the 4-th order.
The solved set represents the system of the following type:
	dy0/dx = F0(x, y0, y1, y2, ..., yn);
	dy1/dx = F1(x, y0, y1, y2, ..., yn);
	.........
	dyn/dx = Fn(x, y0, y1, y2, ..., yn);
with starting conditions when x = x0
	y0(x0) = Y0;
	y1(x0) = Y1;
	......
	yn(x0) = Yn;

Methods:


Runge::Runge(object Vector, object Vector)

param System, StartConditions;

Populates base structures for solving the Cauchy set of 
equations by the Runge-Kutta method.
	System - second members of the set of equations in the 
	following form F(x, << y0, ..., yN >>).
	StartConditions - starting conditions listed in the same 
	order as the second members of equations.
	In order to solve the set it is necessary to call the 
	SolveSystem method of the Couchy class.

Class ScattParam : FitParams

Class is intended for parameter transfer to the spectrum decomposition class.
The 'List' field contains a vector of Wavelength objects.
The RefrPower field contains the degree of light-diffusion.

Methods:


ScattParam::GetBoundaries(void)

Returns parameter boundaries.

ScattParam::GetParams(void)

Returns parameters.

ScattParam::SetFittingInterval(number, number, boolean)

Sets fitting interval.

ScattParam::SetParams(refer object Vector, refer object Vector, int)

Creates a spectrum description based on sequentially enumerated
fitting parameters.

ScattParam::ShakeData(number, ...)

Randomly changes parameters.

ScattParam::ShakeData(void)

Randomly changes parameters.

Class Scattering

Class for transfering the information about scattering.

Methods:


Scattering::CheckBoundaries(void)

Checks whether boundaries fit.

Scattering::Scattering(number)

param Power;



Scattering::Scattering(number, object Vector)

param Power, Boundary;



Scattering::Scattering(object Vector, object Vector)

param Power, Boundary;



Class SchauderWavelet : Wavelet

#module root.mathematic
Class Wavelet of Shoder basis decomposition.

Methods:


SchauderWavelet::SchauderWavelet(refer object TFunc)

param Curve;

Wavelet decomposition of the 'Curve' curve using Shoder basis.

Class SimpleLUT

Class SimpleLUT is intended for specifying a simple LUT for exporting
the images from the MathImage class.
#module root.mathematic

Methods:


Class SimpleVesicule : Vesicule

Class Vesicule
#module root.mathematic
Class for describing of vesicules on microscope images.

Methods:


SimpleVesicule::FindRawImageIntegral(refer object Vector)

param Image;

Image - vector of raw images in the different color planes
Method calculate the summ of integrals of raw image intensities
under the vesicle area.

SimpleVesicule::GetContour(void)

Returns the contour of the particle.

SimpleVesicule::GetSquare(void)

Returns the area of the vesicule on half-height.

SimpleVesicule::GetVolume(void)

Returns the volume of the vesicule on half-height.

SimpleVesicule::SimpleVesicule(number, number, number, number, number)

param X, Y, Width, Assymetry, Alpha;

Creates a vesicule in position (X, Y) with width equal to 'Width', assymetry
equal to 'Assymetry' and axis tension Alpha. 

SimpleVesicule::SimpleVesicule(number, number, number, number, number, number)

param X, Y, Width, Assymetry, Alpha, Amplitude;

Creates a vesicule in position (X, Y) with width equal to 'Width', assymetry
equal to 'Assymetry' and axis tension Alpha. The amplitude of the vesicule is equal
to 'Amplitude'.

SimpleVesicule::cast_from_Vesicule(void)

param X, Y, Width, Assymetry, Alpha;

Creates a vesicule in position (X, Y) with width equal to 'Width', assymetry
equal to 'Assymetry' and axis tension Alpha. 

Class SolveByItteration

#module root.mathematic
Parent class for iteration solving methods.

Methods:


SolveByItteration::SetCallback(refer any, object String)

param Object, Method;

Method sets an object-method pair for method calling after each iteration step.
Method 'Method' is called from object 'Object'.
The vector containing the current solution approximation is transfered
as a first parameter to the called method, the second parameter is a reference
to a NonLineSystem object which is solving the system.

SolveByItteration::SetExtraParam(refer any)

param ExtraParam;

Method sets an auxiliary parameter ExtraParam which is transfered to functions
of the system which has to be solved.
This method must only be called if the functions of the system require an
auxiliary parameter.

SolveByItteration::SetMaxItterationNumber(int)

param MaxItterationNumber;

Sets the maximum iteration number while searching for the solution.
If MaxItterationNumber is reached, but the specified accuracy is not achieved
the search for te solution is stopped, and an ERR_NEWTON_SOLUTION_NOT_FOUND
is invoked.

SolveByItteration::SetProgressWnd(refer object GProgressWnd)

param ProgressWnd;

Sets a progress window showing the iteration number.

SolveByItteration::SetSilent(boolean)

Allows/forbids printing the results of current iteration to standard output.

Class Spline

#module root.mathematic
The Spline class is a base class for spline-descendants.
A spline is a parameter function, where the parameter 
vary form 0 to 1.
At that the spline values represent coordinate pairs POINT(x, y).

Methods:


Spline::GetControl(int)

param n;

Returns the control point whose number is 
specified via the n parameter

Spline::GetLength(void)

Calculates the length of a curve by 50 segments

Spline::SetControl(int, refer object POINT)

param n, v;

Changes the position of the control point whose 
number is specified via the n parameter

Class SquareSpline : Spline

Quadratic approximation (for 3 points)
#module root.mathematic

Methods:


SquareSpline::()(number)

Approximation calculation (spline value) when the mu parameter value
is located within the [0,...,1] interval

SquareSpline::GetDerivation(number)

Calculates the derivative of spline at the mu point which 
is located within the [0,...,1] interval

SquareSpline::SquareSpline(refer object Vector)

Quadratic approximation (for 3 points)

Class Stat

#module root.mathematic
Class to basic moment calculation for sample set 

Methods:


Stat::Disp(void)

Returns the variance of sample set

Stat::Mean(void)

Returns the mean of sample set

Stat::Stat(refer object Vector)

param Data;

Creates the object Stat for sample set Data

Class StretchExp

#module root.mathematic
The StretchExp describes array elements of the StretchExpList class.

Methods:


StretchExp::CheckBoundaries(void)

Checks whether boundaries fit.

Class StretchExpGlobal : DecomposeGlobal, BaseStretchExp

Methods:


StretchExpGlobal::GetComponents(refer object Vector)

param Res;

Returns a component array corresponding with the result Res.

StretchExpGlobal::Print(int)

param index;

Prints the index-th output.

StretchExpGlobal::StretchExpGlobal(refer object Vector, object StretchExpList)

param Curve, StretchExpList;



Class StretchExpList : FitParams

#module root.mathematic
Class StretchExpList is intended for transfering the parameters to the
BaseStretchExp class.

Methods:


StretchExpList::ShakeData(number, ...)

RAndomly changes parameters.

Class StretchExpSingle : DecomposeSingle, BaseStretchExp

Methods:


StretchExpSingle::GetComponents(refer object Vector)

param Res;

Returns a component array corresponding with the result Res.

StretchExpSingle::Print(int)

param index;

Prints the index-th output.

StretchExpSingle::StretchExpSingle(refer object TFunc, object StretchExpList)

param Curve, StretchExpList;



Class StringFitting

#module root.mathematic
Finds the optimum adjustment of two character sequences 
using the dynamic programming method

Methods:


StringFitting::GetBestPath(void)

#module root.mathematic
Finds the optimum adjustment of two character sequences 
using the dynamic programming method

StringFitting::GetBestPathLen(void)

Returns the length of the best comparison.

StringFitting::GetBestWeight(void)

Returns the weight of the best comparison.

StringFitting::PrintBestPath(void)

This method is used for debugging purposes.

StringFitting::StringFitting(refer object String, refer object String, number, refer object Function)

param Seq1, Seq2, GapPenalty, WeightFunction;

Finds the optimum adjustment of two character sequences 
specified via the Seq1 and Seq2 parameters using the dynamic 
programming method.
GapPenalty - penalty for a gap.
WeightFunction - function of two arguments of the char type which 
returns the weight of two letters comparison.

StringFitting::StringFitting(refer object Vector, refer object Vector, number, refer object Function)

param Seq1, Seq2, GapPenalty, WeightFunction;

Finds the optimum adjustment of two character sequences 
specified via the Seq1 and Seq2 parameters using the dynamic 
programming method.
GapPenalty - penalty for a gap.
WeightFunction - function of two arguments which compares the elements 
of the arrays specified via the Seq1 and Seq2 parameters and returns 
the weight of two elements comparison.

Class TFunc : Function

#module root.mathematic
The TFunc class executes base functions for 
implementing the "table function".
That is it represents the pair of tables: X and Y, 
and acts as a real arithmetic function of one argument 

Methods:


TFunc::()(number)

param x;

Returns the value of function in the point specified via the x 
parameter. If this parameter does not belong to the range of values 
specified in the X table, then the interpolation value is calculated 

TFunc::*(number)

param dy;

Returns the table function which is produced from 
the table function that received the message by multiplying 
all its y values by the offset specified via the dy parameter.

TFunc::*(refer object Function)

param f;

Returns the table function which represents the 
product of the function that received the message 
and the table function specified via the f parameter 

TFunc::**(number)

param p;

Returns the table function which is produced from 
the table function that received the message by 
raising all its y values to power specified via 
the p parameter.

TFunc::*=(refer object Function)

param f;

Multiplies the function that received the message by 
the function specified via the f parameter. Returns 
the reference to self.

TFunc::+(number)

param dy;

Returns the table function which is produced from 
the table function that received the message by adding 
the offset specified via the dy parameter to all its y values.

TFunc::+(refer object Function)

param f;

Returns the table function which represents the sum 
of the function that received the message and the table 
function specified via the f parameter

TFunc::+=(number)

param f;

Adds the function specified via the f parameter 
to the function that received the message. Returns 
the reference to self.

TFunc::+=(refer object Function)

param f;

Adds the function specified via the f parameter 
to the function that received the message. Returns 
the reference to self.

TFunc::-(number)

param dy;

Returns the table function which is produced from 
the table function that received the message by subtracting 
the offset specified via the dy parameter from all its y values.

TFunc::-(refer object Function)

param f;

Returns the table function which represents the 
difference of the function that received the message 
and the table function specified via the f parameter 

TFunc::-(void)

Unary minus operator. Returns the copy of the object that received 
message where all Y values are substituted with -Y values.

TFunc::-=(number)

param n;

Subtracts from the function that received the message. Returns 
the reference to self.

TFunc::-=(refer object Function)

param f;

Subtracts the function specified via the f parameter 
from the function that received the message. Returns 
the reference to self.

TFunc::/(number)

param dy;

Returns the table function which is produced from 
the table function that received the message by dividing 
all its y values by the offset specified via the dy parameter.

TFunc::/(refer object Function)

param f;

Returns the table function which represents the 
quotient from division the function that received the message 
by the table function specified via the f parameter 

TFunc::/=(refer object Function)

param f;

Divides the function that received the message by 
the function specified via the f parameter. Returns 
the reference to self.

TFunc::@(refer object TFunc)

Combination of two curves.

TFunc::@=(object TFunc)

Combination of two curves with offset and shift selection along  X axis.

TFunc::Align(object TFunc, boolean, boolean)

param f, Stretch, NoDispersion;

Equalizes the 'self' curve (shift and  tension along X axis)
If Stretch == FALSE, than only shift is performed.
If NoDispersion == TRUE, than it is assumed, that the dispersion is unknown
and is homogen along the curve.

TFunc::AutoCorrelation(void)

Return autocorrelation function

TFunc::AverDups(void)

replase X-duplicates by average values

TFunc::Average(void)

Return average value

TFunc::BSplineSmoothByPoint(int, int, int)

param N, from, to;

Returns a function obtained by approximation with B-splines of 3rd order
of function in the interval (from, to). Quantity of datum points is equal
to N. Smoothing is performed in the point index space in the table.
The ends of the interval are included.

TFunc::BSplineSmoothByPoint(int, int, int, int)

param N, from, to, k;

Returns a function obtained by approximation with B-splines of k-th order
of function in the interval (from, to). Quantity of datum points is equal
to N. Smoothing is performed in the point index space in the table.
The ends of the interval are included.

TFunc::BackgroundByRollingBall(number)

param R;

Returns a curve obtained by rolling a sphere with radius R over a "pedestal"

TFunc::ChebyshevDerivativeCoeffs(object Vector)

param coeff;

Returns an array of Chebyshev polynom coefficients for the derivative of the
function described by a number of 'coeff' Chebyshev polynom coefficients.

TFunc::ChebyshevSmoothByPoint(int, int, int)

param N, from, to;

Returns a fucnction obtained by approximation of Chebyshev polynoms of
2nd order with degree N of the part of the function in  interval
(from, to).
Smoothing is performed in the point index space in the table.
The ends of the interval are included.

TFunc::CorrelationFunc(refer object TFunc)

Return correlation function

TFunc::Diff(int, number)

param N, RegParam;

Returns a table function being a derivative of N-th order of a table function
which received the message.
RegParam - regularization parameter

TFunc::Diff(void)

Returns the table function which represents the 
derivative of the table function that received the message.

TFunc::Diff2(void)

Returns the table function which represents the 
second derivative of the table function that received the message.

TFunc::DiffChebyshev(int, int)

param K, N;

Returns a table function bein a derivative of K-th order of the table
function which received the message.
Differentiation is performed using approximating Chebyshev polynomes
of N-th order.

TFunc::ExpX(void)

#rus Потенциирует значения по оси X по основанию 10
The values along X axis are 

TFunc::GetChebyshevCoeffs(int, int, int)

param N, from, to;

Returns an array of Chebyshev polynom coefficients with order
N - 1

TFunc::GetChebyshevPolynoms(int, int)

param N, len;

#rus Второй элемент (x) - массив значений аргумента в которых расчитаны полиномы.
Calculates a number of Chebyshev polynomials with following degrees:
0, 1, ... N - 1 , defined in 'len' points on a section [-1, 1]
Rturns a vector of 2 elements: << U, x >>.
First element (U) is a two-dimensional array of polynomial values, the 1st index
determines the degree of the polynomial.
The second element (x) is an array of values of the argument with which the
 polynomials were calculated.

TFunc::GetDispersion(boolean)

param Recalculate;

Returns teh estimation of dispersion for noised experimental function.
If Recalculate == TRUE and the estimation was saved, a recalculation is performed.

TFunc::GetDispersion(void)

Returns an estimation of dispersion for a noised experimental function.

TFunc::Index(number)

 param x;
Returns the index in the table of the point whose X value is equal to 
the value specified via the x parameter or directly precedes it. If the 
x value is less than X[0], that is it is impossible to find equal or 
preceding X  value then -1 is returned.

TFunc::Integral(number, number)

param from, to;

Returns the number which represents the integral 
on the [from, to] section of the table function 
that received the message.

TFunc::Integral(void)

Returns the table function which represents the 
integral of the table function that received the 
message. The integral is calculated using the method 
of trapezoids. 
Additive constant of the indefinite integral is 
supposed to be equal to 0.

TFunc::IntegralSimpson(number, number)

param from, to;

Returns a value being an integral of a table function which
received the message in the [from, to] interval. Interval is calculated using
the Simpson method.

TFunc::IntegralSimpson(void)

Returns a table function being an integral of a table function which received
the message. Integral is calculated using the Simpson method.
An additional constant of an indefinite integral is set equal to 0.

TFunc::InverseX(void)

Inverses the values along the x axis.

TFunc::Len(void)

Returns the number of elements in the table 

TFunc::LoadCommentFromFile(object String)

Loads a comment to the curve from FileName.

TFunc::LoadFromFile(object String)

Loads a curve from FileName.

TFunc::LoadSweepFromFile(object String)

Loads a sweep from FileName.

TFunc::LogX(void)

Takes the logarithm of values along X-axis using the basis 10.

TFunc::Max(void)

Maximum of function.
Returns an object of the Vector type that contains 
<<x, y>> values where the function obtains the maximum.

TFunc::MedianSmooth(int)

param p;

Returns the function which is obtained by smoothing 
with median filter.
The width of the smoothing window is equal to 2 * p + 1.

TFunc::MedianSmooth(int, int, int)

param p, from, to;

Returns a function obtained by smoothing of a function part in the
interval (from, to) using the median filter.
The ends of the interval are include.
The width of the smoothing window equals 2 * p + 1.

TFunc::Merge(object TFunc, boolean, boolean, boolean, boolean)

Merges two curves (including the selection of 'pedestal'
 and scaling along y axis, shift and axial stretching X).
If Scale == TRUE, the scaling coefficient is selected.
If Stretch == TRUE, the stretching for the curve f along axis X is selected.
If Offset == TRUE, an offset for the curve f along axis Y is selected.
If NoDispersion == TRUE, it is assumed, that the dispersion is unknown
and is homogeneous along the curve.

TFunc::Mid(int, int)

param Len, Offset;

Returns a curve which is obtained by cutting a segment from the 
current curve. The length of this curve is specified via the Len 
parameter, it is cut from the point specified via the Offset 
parameter.

TFunc::Min(void)

Minimum of function.
Returns an object of the Vector type that contains 
<<x, y>> values where the function obtains the minimum.

TFunc::Modifyed(void)

Method is called if significant modification of the function occur,
leading to the need for reconstructing auxiliary fields in heir-classes

TFunc::Remove(int, int)

param offset, len;

Deletes the number of ponts determined via the len parameter 
from a curve beginning with the position specified via the offset parameter.

TFunc::Resample(int, boolean)

param CurveLen, LogSampling;

Returns the curve with the amount of point equal to CurveLen.
If LogSampling == TRUE, x is changing homopgeneously in the logarithmic scale.

TFunc::Resample(object Vector)

param X;

Returns the curve in points X.

TFunc::Resample(object Vector, boolean)

param X, Approximate;

Returns the curve in points X.

TFunc::SaveToFile(object String)

Saves the curve in FileName.

TFunc::Scale(number)

Multiplies all X values by the m multiplier

TFunc::ScaleX(number)

Scales the X-axis

TFunc::ScaleXByFunc(refer any)

Scales the X-axis

TFunc::Shift(number)

Shifts a curve along the X axis on the dx offset.

TFunc::Smooth(int)

param p;

Returns the function which is obtained by 
smoothing with floating average. 
The width of the smoothing window is equal to 2 * p + 1.

TFunc::Smooth(int, int, int)

param p, from, to;

Returns the function which is obtained by 
smoothing with floating average of the function 
within the (from, to) range of point numbers. 
Range ends are specified inclusively.
The width of the smoothing window is equal to 2 * p + 1.

TFunc::Smooth121(void)

Returns a function obtained by smoothing with weighted floating
average value with weights equal to (1, 2, 1).

TFunc::SmoothEnd(int)

param p;

Returns the function which is obtained by 
smoothing the last p function points with floating 
average using the variable window whose size changes 
from 0 to 2 * p + 1.
 * p + 1.

TFunc::SmoothStart(int)

param p;

Returns the function which is obtained by 
smoothing the first p function points with floating 
average using the variable window whose size changes 
from 0 to 2 * p + 1.

TFunc::TFunc(number, number, int, refer any)

param from, to, nsteps, Func;

It creates the table function whose X changes from the 'from' 
parameter to the 'to' parameter, the number of steps is equal to 
the 'nsteps' parameter, and the Y values are determined by the 'Func' 
function in the appropriate points.

TFunc::TFunc(refer object TFunc)

This constructor is designed to create a copy

TFunc::TFunc(refer object Vector, refer object Function)

param X, F;

The table function is created on basis of the X array 
and the function specified via the F parameter.

TFunc::TFunc(refer object Vector, refer object Vector)

param X, Y;

The table function is created on basis of the X and Y array

TFunc::TFunc(void)

Constructor of an empty function 

TFunc::Variation(void)

Return variance value

TFunc::Zero(void)

Finds all function zeros.
Returns an object of the Vector type that contains X 
values where the function is equal to zero.

TFunc::maxX(void)

Returns the maximum X value

TFunc::maxY(void)

Returns the maximum Y value

TFunc::maxYindex(void)

Returns the index of the maximum Y value.

TFunc::minX(void)

Returns the minimum X value

TFunc::minY(void)

Returns the minimum Y value.

TFunc::minYindex(void)

Returns the index of the minimum Y value.

TFunc::pos(number)

param x;

Returns the position (index) of the point which is the 
nearest to the point specified via the x parameter.

TFunc::x(int)

param index;

Returns the x value which index in the table is specified via 
the index parameter.

TFunc::y(int)

param index;

Returns the y value which index in the table is specified via 
the index parameter.

Class TSurface : TFunc

#module root.mathematic
The TSurface class executes base functions for 
implementing the "two-dimensional table function".
It acts as a real arithmetic function of two arguments.

Methods:


TSurface::()(number, number)

param x, z;

Returns the Y value in the (x,z) point

TSurface::*(number)

param v;

Multiplies Y by the number specified via the v parameter

TSurface::*(refer object TSurface)

param v;

Multiplies self by the surface specified via the v parameter

TSurface::**(number)

param v;

Raises a surface to the power specified via the v parameter.

TSurface::*=(number)

param v;

Multiplies Y by the number specified via the v parameter

TSurface::*=(refer object TSurface)

param v;

Multiplies self by the surface specified via the v parameter

TSurface::+(number)

param v;

Adds the number specified via the v parameter to Y

TSurface::+(refer object TSurface)

param v;

Adds the surface specified via the v parameter to self

TSurface::+=(number)

param v;

Adds the number specified via the v parameter to Y

TSurface::+=(refer object TSurface)

param v;

Adds the surface specified via the v parameter to self

TSurface::-(number)

param v;

Subtracts the number specified via the v parameter from Y

TSurface::-(refer object TSurface)

param v;

Subtracts the surface specified via the v parameter from self

TSurface::-=(number)

param v;

Subtracts the number specified via the v parameter from Y

TSurface::-=(refer object TSurface)

param v;

Subtracts the surface specified via the v parameter from self

TSurface::/(refer object TSurface)

param v;

Divides self by the surface specified via the v parameter

TSurface::/=(refer object TSurface)

param v;

Divides self by the surface specified via the v parameter

TSurface::BSplineSmoothByPoint(int, int, int, int, int, int)

param w_x, w_z, x_start, x_end, z_start, z_end;

Returns a function obtained by smoothing using the B-spline of 3rd degree
with control points p_x, p_z in a rectangle specified by indexes
x_start, x_end, z_start, z_end.

TSurface::ChebyshevSmoothByPoint(int, int, int, int, int, int)

param w_x, w_z, x_start, x_end, z_start, z_end;

#rus Возвращает функцию, полченную сглаживанием полиномами Чебышева
#rus степеней  p_x, p_z
#rus в прямоугольнике определяемыми индексами
x_start, x_end, z_start, z_end.
Returns a function obtained by smoothing using Chebyshev
polinomials of degrees  p_x, p_z in a rectangle specified by indexes
x_start, x_end, z_start, z_end.

TSurface::Cut(int, int, int, int)

param offset_x, w_x, offset_z, w_z;

Returns a function obtained by cutting the rectangle with size w_x * w_z,
located at point (offset_x, offset_z)

TSurface::DiffX(int, number)

param N, RegParam;

Returns a function being a derivative of N-th order of function for
which the method is called on variable X.
RegParam - regularization parameter - a value in interval [0,1]

TSurface::DiffZ(int, number)

param N, RegParam;

Returns a function being a derivative of N-th order of function for
which the method is called on variable X.
RegParam - regularization parameter - a value in interval [0,1]

TSurface::IndexX(number)

 param x;
Returns the index of the point in table which has
the value X equal to x or is the direct predecessor of x.
If the value of x is less than X[0], that means there is no
predecessor for X, it returns -1.

TSurface::IndexZ(number)

 param z;
Returns the index of the point in table which has
the value Z equal to z or is the direct predecessor of z.
If the value of z is less than Z[0], that means there is no
predecessor for Z, it returns -1.

TSurface::IntegralX(number, number)

param a, b;

Returns the function being the integral of the surface which became the message
on X-axis in interval (a,b). Integral is calculated using the trapezoid method.
The additional constant of the indefinite integral is set equal to 0.

TSurface::IntegralX(void)

Returns the function being the integral of the surface which became the message
on X-axis in interval (a,b). Integral is calculated using the trapezoid method.
The additional constant of the indefinite integral is set equal to 0.

TSurface::IntegralZ(number, number)

param a, b;

Returns the function being the integral of the surface which became the message
on Z-axis in interval (a,b). Integral is calculated using the trapezoid method.
The additional constant of the indefinite integral is set equal to 0.

TSurface::IntegralZ(void)

Returns the function being the integral of the surface which became the message
on Z-axis in interval (a,b). Integral is calculated using the trapezoid method.
The additional constant of the indefinite integral is set equal to 0.

TSurface::LenX(void)

Returns the amount of the elements in table elong X-axis

TSurface::LenZ(void)

Returns the amount of the elements in table elong Z-axis

TSurface::LoadFromFile(object String)

Loads a surface from FileName

TSurface::MedianSmooth(int, int)

param w_x, w_z;

Returns the function, obtained by smoothing using the median filter.
The width of the smoothing window is equal to (2 * w_x + 1) x (2 * w_z + 1).

TSurface::MedianSmooth(int, int, int, int, int, int)

param w_x, w_z, x_start, x_end, z_start, z_end;

Returns the function, obtained by smoothing using the median filter
in a rectangle with indexes  x_start, x_end, z_start, z_end.
The width of the smoothing window is equal to (2 * w_x + 1) x (2 * w_z + 1).

TSurface::Resample(int, int, boolean, boolean)

param X_Len, Z_Len, , LogSampling_X, LogSampling_Z;

Returns a surface with an amount of points (X_Len * Z_Len).
If LogSampling_X == TRUE, X changes homogeneously in a logarithmic scale.
If LogSampling_Z == TRUE, Z changes homogeneously in a logarithmic scale.

TSurface::Resample(object Vector, object Vector)

param X, Z;

Returns a surface defined in points (X * Z).

TSurface::Resample(object Vector, object Vector, boolean)

param X, Z, Approximate;

Returns a surface defined in points (X * Z).

TSurface::SaveToFile(object String)

Saves the surface to FileName.

TSurface::SectionXY(number)

param z;

Returns the function which is obtained as the surface 
section of the XY plane in the point specified via 
the z parameter.

TSurface::SectionZY(number)

param x;

Returns the function which is obtained as the surface 
section of the XY plane in the point specified via 
the z parameter.

TSurface::ShiftX(number)

param dx;

Shifts a function along the X axis on the dx offset.

TSurface::ShiftZ(number)

param dz;

Shifts a function along the Z axis on the dz offset.

TSurface::Smooth(int, int)

param w_x, w_z;

Returns a function obtained by smoothing with a sliding window.
The length of smoothing window equals (2 * w_x + 1) x (2 * w_z + 1).

TSurface::Smooth(int, int, int, int, int, int)

param w_x, w_z, x_start, x_end, z_start, z_end;

#rus Возвращает функцию, полченную сглаживанием плавающим окном в
#rus прямоугольнике определяемыми индексами
x_start, x_end, z_start, z_end.
#rus Ширина окна сглаживания равна (2 * w_x + 1) x (2 * w_z + 1).
Returns a function obtained by smoothing with a sliding window in
a rectangle, with indexes x_start, x_end, z_start, z_end.
The length of smoothing window equals (2 * w_x + 1) x (2 * w_z + 1).

TSurface::TSurface(number, number, int, number, number, int, refer any)

param Zfrom, Zto, ZnSteps, XFrom, XTo, XnSteps, F;

This constructor is designed to create a two-dimensional 
table function.
Where:
	Zfrom, Zto, ZnSteps - sets the initial and the points 
by the Z axis, and the number of points in the table by Z.
	
	Xfrom, Xto, XnSteps - sets the initial and the points 
by the Z axis, and the number of points in the table by X.
	F - function of two elements or a constant.

TSurface::TSurface(refer object HistogramSurface, boolean)

Constructor for creating of a 2-dimensional surface from a histogramm.

TSurface::TSurface(refer object Vector, refer object Vector)

param Z, F;

This constructor is designed to create a two-dimensional 
table function.
Z parameter - vector of Z coordinate values for which the 
curves of the section parallel to XY plane are determined.
F parameter - vector of curves (TFunc class objects) which 
represent the surface sections by the planes parallel to XY 
according the appropriate Z values.

TSurface::TSurface(refer object Vector, refer object Vector, refer object Vector)

param X, Y, Z;

This constructor is designed to create a two-dimensional 
table function.
X parameter - vector of X coordinate values
Y parameter - two-dimensional vector of Y values
Z parameter - vector of Z coordinate values

TSurface::maxY(void)

Returns the maximum Y value

TSurface::maxZ(void)

Returns the maximum Z value.

TSurface::minY(void)

Returns the minimum Y value.

TSurface::minZ(void)

Returns the minimum Z value.

TSurface::xy(int)

param i, j;

Returns a reference to y in the point with the following indexes:
i, j - (x, z)

TSurface::y(int, int)

param i, j;

Returns a reference to y in the point with the following indexes:
i, j - (x, z)

TSurface::z(int)

param index;

Returns the z value whose index within the table is 
specified via the index parameter.

Class TetraSpline : Spline

4-th order polynomial approximation (for 5 points)
#module root.mathematic

Methods:


TetraSpline::()(number)

Approximation calculation (spline value) when the mu parameter value
is located within the [0,...,1] interval

TetraSpline::GetDerivation(number)

	Calculates the derivative of spline at the mu point which 
	is located within the [0,...,1] interval

TetraSpline::QubicSpline(refer object Vector)

4-th order polynomial approximation (for 5 points)

Class Vesicule : VisObject

Class Vesicule
#module root.mathematic
Class for describing of vesicules on microscopic images.

Methods:


Vesicule::-(pointer object POINT)

param v;

Method returns an POINT object, being a vector connecting the centres of vesiculae.

Vesicule::-(pointer object Vesicule)

param v;

Method returns an POINT object, being a vector connecting the centres of vesiculae.

Vesicule::-(refer object POINT)

param v;

Method returns an POINT object, being a vector connecting the centres of vesiculae.

Vesicule::-(refer object Vesicule)

param v;

Method returns an POINT object, being a vector connecting the centres of vesiculae.

Vesicule::Convolve(refer object ComplexVesicule)

Returns a convolution of vesicules.

Vesicule::Convolve(refer object Vesicule)

param Ves;

Returns a convolution of vesicules.

Vesicule::FindRawImageIntegral(refer object Vector)

param Image;

Image - vector of raw images in the different color planes
Method calculate the summ of integrals of raw image intensities
under the vesicle area.

Vesicule::GetColocalization(refer object Vesicule, boolean)

param Ves, Symmetric;

Returns the relative area of vesiculae overlapping.
If Symmetric == TRUE the relative area is calculated symmetrically
(s1 & s2) / min(s1, s2), otherwise s1 & s2) / s1.

Vesicule::GetContour(void)

Returns the particle contour.

Vesicule::GetMatrix(number, number, number, number, int)

param x, y, width, height, step;

returns a Matrix class object obtained from intensities of the vesicule in
the rectangle (x, y, width, height) with step equal to 'step'.

Vesicule::GetParameters(void)

Returns a number of parameters, defining Vesicule.

Vesicule::GetRange(void)

Returns a square containing the vesicule.

Vesicule::GetSquare(number)

param I;

Returns the area of the vesicule on height equal to I.

Vesicule::GetSquare(void)

Returns the area of the vesicule on half-height.

Vesicule::GetSurface(int, int, int, int)

param x, y, width, height;

#rus Возвращает поверхность (объект класса TSurface), полученную из интенсивностей везикулы в
#rus прямоугольнике (x, y, width, height).
Returns a TSurface class object, obtained from intensities of the vesicule
in rectangle (x, y, width, height).

Vesicule::GetSurface(refer object RECT)

param rect;

Returns a Tsurface  class object, obtained from
vesicule intensities in the rectangle 'rect'

Vesicule::GetVolume(void)

Returns the volume of the vesicule.

Vesicule::IsColocalized(number, refer object Vesicule, boolean)

param Threshold, Ves, Symmetric;

Returns TRUE if vesiculae are collocalized more than  'Threshold'.
If Symmetric == TRUE. symmetric collocalization is calculated,
else  - assymetrical collocalization.

Vesicule::IsOverlapping(number, refer object Vesicule)

param Ves;

Returns true if vesiculae overlap each other.

Vesicule::Scale(number)

param scale;

Scales the geometric size of the vesicule.

Vesicule::Shift(number, number)

param dx, dy;

Shifts vesicule by (dx, dy);

Vesicule::Vesicule(number, number, number, number, number)

param X, Y, Width, Assymetry, Alpha;

Creates a vesicule in position (X, Y) with width equal to 'Width' and assymetry
'Assymetry' and tension in Alpha-axis.

Vesicule::Vesicule(number, number, number, number, number, number)

param X, Y, Width, Assymetry, Alpha, Amplitude;

Creates a vesicule in position (X, Y) with width equal to 'Width' and assymetry
'Assymetry' and tension in Alpha-axis. Amplitude of the vesicule equals to 'Amplitude'

Vesicule::Vesicule(refer object Vesicule)

param v;

Creates a copy of a vesicule.

Class VisObject

Class VisObject
#module root.mathematic
Basic Class for describing objects on a microscopic image.

Methods:


Class WaveLength

Class for transfering information about one  spectrum band.
#module root.mathematic

Methods:


WaveLength::CheckBoundaries(void)

#rus Проверяет соответсвие границам
Checks whether boundaries fit.

WaveLength::GetBoundaries(void)

Returns a sequential list of fitting-parameter boundaries.

WaveLength::GetParams(void)

Returns a sequentional list of fitting-parameters.

WaveLength::IsWaveLength(boolean)

Sets the type of the IsWaveLength parameter.

WaveLength::ShakeData(number, number, number)

Randomly changes parameters.

WaveLength::ShakeData(void)

Randomly changes parameters.

WaveLength::WaveLength(number, number, boolean)

param Freq, Width;



WaveLength::WaveLength(number, number, number, boolean)

param Freq, Width, Skew;



WaveLength::WaveLength(number, number, number, object Vector, boolean)

param Freq, Width, Skew, Boundaries;



WaveLength::WaveLength(number, number, object Vector, boolean)

param Freq, Width, Boundaries;



Class Wavelet

#module root.mathematic
Basic class for wavelet curve decomposition.

Methods:


Wavelet::GetCurve(int)

param Level;

returns a curve with a level of wavelet-decomposition equal to 'Level'

Wavelet::GetCurveDetail(int)

param Level;

Returns a detalization curve with wavelet-decomposition level equal to 'Level'

Wavelet::GetDepth(void)

Returns the amount of wavelet decomposition levels.

Wavelet::GetDetailSet(void)

Returns full vector with details.

Wavelet::GetSmoothCurve(number)

param Err;

Returns a curve with rounding less or equal to Err.

Wavelet::ReconstructDetail(int)

param Level;

Returns a detalization curve beginning with the wavelet-decomposition level equal
to 'Level'.

Wavelet::Wavelet(refer object TFunc)

param Curve;

Builds a decomposition of 'Curve'

ErrorFunc

#rus Функция вычисления интеграла ошибок

MathImage::LoadImageSet

param Color, FileName;

#rus Загружает изображение из файла FileName.
#rus Возвращает массив из 4-х изображений типа MathImage - << среднее по цветам, красное, зеленое, синее >>

PrintInFixedField

param len, format, [value];

Press for creating a table printout.
Len - field length
format - print format
value - index of values which have to be printed

Index: