public interface StitchingFunc
Abstract mathematical function, depending on coordinates in ndimensional space
and several values. This function defines the algorithm of stitching several frames
:
it returns the value in the resulting stitched matrix at the given element coordinates.
The typical examples of such functions are
Implementations of this interface are usually immutable and always threadsafe: get methods of this interface may be freely used while simultaneous accessing the same instance from several threads. All implementations of this interface from this package are immutable.
Modifier and Type  Method and Description 

double 
get(double[] coordinates,
double v0)
Equivalent to
get (coordinates,
new double[] {v0}). 
double 
get(double[] coordinates,
double[] values)
Returns the result of this function for the given coordinates and for the values (at these coordinates)
of the matrices being stitched.

double 
get(double[] coordinates,
double v0,
double v1)
Equivalent to
get (coordinates,
new double[] {v0,v1}). 
double 
get(double[] coordinates,
double v0,
double v1,
double v2)
Equivalent to
get (coordinates,
new double[] {v0,v1,v2}). 
double 
get(double[] coordinates,
double v0,
double v1,
double v2,
double v3)
Equivalent to
get (coordinates,
new double[] {v0,v1,v2,v3}). 
double 
get(double[] coordinates,
double v0,
double v1,
double v2,
double v3,
double v4)
Equivalent to
get (coordinates,
new double[] {v0,v1,v2,v3,v4}). 
double 
get(double[] coordinates,
double v0,
double v1,
double v2,
double v3,
double v4,
double v5)
Equivalent to
get (coordinates,
new double[] {v0,v1,v2,v3,v4,v5}). 
double 
get(double[] coordinates,
double v0,
double v1,
double v2,
double v3,
double v4,
double v5,
double v6)
Equivalent to
get (coordinates,
new double[] {v0,v1,v2,v3,v4,v5,v6}). 
double 
get(double[] coordinates,
double v0,
double v1,
double v2,
double v3,
double v4,
double v5,
double v6,
double v7)
Equivalent to
get (coordinates,
new double[] {v0,v1,v2,v3,v4,v5,v6,v7}). 
double 
get1D(double x0,
double v0)
Equivalent to
get (new double[] {x0},
new double[] {v0}). 
double 
get1D(double x0,
double[] values)
Equivalent to
get (new double[] {x0}, values). 
double 
get1D(double x0,
double v0,
double v1)
Equivalent to
get (new double[] {x0},
new double[] {v0,v1}). 
double 
get1D(double x0,
double v0,
double v1,
double v2)
Equivalent to
get (new double[] {x0},
new double[] {v0,v1,v2}). 
double 
get1D(double x0,
double v0,
double v1,
double v2,
double v3)
Equivalent to
get (new double[] {x0},
new double[] {v0,v1,v2,v3}). 
double 
get1D(double x0,
double v0,
double v1,
double v2,
double v3,
double v4)
Equivalent to
get (new double[] {x0},
new double[] {v0,v1,v2,v3,v4}). 
double 
get1D(double x0,
double v0,
double v1,
double v2,
double v3,
double v4,
double v5)
Equivalent to
get (new double[] {x0},
new double[] {v0,v1,v2,v3,v4,v5}). 
double 
get1D(double x0,
double v0,
double v1,
double v2,
double v3,
double v4,
double v5,
double v6)
Equivalent to
get (new double[] {x0},
new double[] {v0,v1,v2,v3,v4,v5,v6}). 
double 
get1D(double x0,
double v0,
double v1,
double v2,
double v3,
double v4,
double v5,
double v6,
double v7)
Equivalent to
get (new double[] {x0},
new double[] {v0,v1,v2,v3,v4,v5,v6,v7}). 
double 
get2D(double x0,
double x1,
double v0)
Equivalent to
get (new double[] {x0,x1},
new double[] {v0}). 
double 
get2D(double x0,
double x1,
double[] values)
Equivalent to
get (new double[] {x0,x1}, values). 
double 
get2D(double x0,
double x1,
double v0,
double v1)
Equivalent to
get (new double[] {x0,x1},
new double[] {v0,v1}). 
double 
get2D(double x0,
double x1,
double v0,
double v1,
double v2)
Equivalent to
get (new double[] {x0,x1},
new double[] {v0,v1,v2}). 
double 
get2D(double x0,
double x1,
double v0,
double v1,
double v2,
double v3)
Equivalent to
get (new double[] {x0,x1},
new double[] {v0,v1,v2,v3}). 
double 
get2D(double x0,
double x1,
double v0,
double v1,
double v2,
double v3,
double v4)
Equivalent to
get (new double[] {x0,x1},
new double[] {v0,v1,v2,v3,v4}). 
double 
get2D(double x0,
double x1,
double v0,
double v1,
double v2,
double v3,
double v4,
double v5)
Equivalent to
get (new double[] {x0,x1},
new double[] {v0,v1,v2,v3,v4,v5}). 
double 
get2D(double x0,
double x1,
double v0,
double v1,
double v2,
double v3,
double v4,
double v5,
double v6)
Equivalent to
get (new double[] {x0,x1},
new double[] {v0,v1,v2,v3,v4,v5,v6}). 
double 
get2D(double x0,
double x1,
double v0,
double v1,
double v2,
double v3,
double v4,
double v5,
double v6,
double v7)
Equivalent to
get (new double[] {x0,x1},
new double[] {v0,v1,v2,v3,v4,v5,v6,v7}). 
double 
get3D(double x0,
double x1,
double x2,
double v0)
Equivalent to
get (new double[] {x0,x1,x2},
new double[] {v0}). 
double 
get3D(double x0,
double x1,
double x2,
double[] values)
Equivalent to
get (new double[] {x0,x1,x2}, values). 
double 
get3D(double x0,
double x1,
double x2,
double v0,
double v1)
Equivalent to
get (new double[] {x0,x1,x2},
new double[] {v0,v1}). 
double 
get3D(double x0,
double x1,
double x2,
double v0,
double v1,
double v2)
Equivalent to
get (new double[] {x0,x1,x2},
new double[] {v0,v1,v2}). 
double 
get3D(double x0,
double x1,
double x2,
double v0,
double v1,
double v2,
double v3)
Equivalent to
get (new double[] {x0,x1,x2},
new double[] {v0,v1,v2,v3}). 
double 
get3D(double x0,
double x1,
double x2,
double v0,
double v1,
double v2,
double v3,
double v4)
Equivalent to
get (new double[] {x0,x1,x2},
new double[] {v0,v1,v2,v3,v4}). 
double 
get3D(double x0,
double x1,
double x2,
double v0,
double v1,
double v2,
double v3,
double v4,
double v5)
Equivalent to
get (new double[] {x0,x1,x2},
new double[] {v0,v1,v2,v3,v4,v5}). 
double 
get3D(double x0,
double x1,
double x2,
double v0,
double v1,
double v2,
double v3,
double v4,
double v5,
double v6)
Equivalent to
get (new double[] {x0,x1,x2},
new double[] {v0,v1,v2,v3,v4,v5,v6}). 
double 
get3D(double x0,
double x1,
double x2,
double v0,
double v1,
double v2,
double v3,
double v4,
double v5,
double v6,
double v7)
Equivalent to
get (new double[] {x0,x1,x2},
new double[] {v0,v1,v2,v3,v4,v5,v6,v7}). 
double get(double[] coordinates, double[] values)
The coordinates argument contains the
coordinates
of some element in the target (having been stitched) matrix. Usually all coordinates are integer,
though this method can be called in more general case of real coordinates of the point.
The values argument contains the values of elements of all beging stitched matrices, which will correspond to these coordinates after stitching. If coordinates are not integer, these values will be interpolated by some method.
Some elements of values array can contain the special value Double.NaN: it means that the corresponding frame does not contain the point with the specified coordinates. It particular, it is possible that all passed values are Double.NaN; in this situation, as well as in a case values.length==0, this method should return some special value ("filler" outside all frames).
This method must not change the elements of the passed Java arrays!
coordinates
 the coordinates of some point in ndimensional space.values
 the values at this position of all matrices being stitched.double get1D(double x0, double[] values)
get
(new double[] {x0}, values).
Provides better performance because it does not require the first Java array creation.x0
 the coordinate of some point in 1dimensional space.values
 the values at this position of all matrices being stitched.double get2D(double x0, double x1, double[] values)
get
(new double[] {x0,x1}, values).
Provides better performance because it does not require the first Java array creation.x0
 the 1st coordinate of some point in 2dimensional space.x1
 the 2nd coordinate of some point in 2dimensional space.values
 the values at this position of all matrices being stitched.double get3D(double x0, double x1, double x2, double[] values)
get
(new double[] {x0,x1,x2}, values).
Provides better performance because it does not require the first Java array creation.x0
 the 1st coordinate of some point in 3dimensional space.x1
 the 2nd coordinate of some point in 3dimensional space.x2
 the 3rd coordinate of some point in 3dimensional space.values
 the values at this position of all matrices being stitched.double get(double[] coordinates, double v0)
get
(coordinates,
new double[] {v0}).
Provides better performance because it does not require the second Java array creation.coordinates
 the coordinates of some point in ndimensional space.v0
 the value at this position of the matrix being stitched.double get1D(double x0, double v0)
get
(new double[] {x0},
new double[] {v0}).
Provides better performance because it does not require Java array creation.x0
 the coordinate of some point in 1dimensional space.v0
 the value at this position of the matrix being stitched.double get2D(double x0, double x1, double v0)
get
(new double[] {x0,x1},
new double[] {v0}).
Provides better performance because it does not require Java array creation.x0
 1st coordinate of some point in 2dimensional space.x1
 the 2nd coordinate of some point in 2dimensional space.v0
 the value at this position of the matrix being stitched.double get3D(double x0, double x1, double x2, double v0)
get
(new double[] {x0,x1,x2},
new double[] {v0}).
Provides better performance because it does not require Java array creation.x0
 the 1st coordinate of some point in 3dimensional space.x1
 the 2nd coordinate of some point in 3dimensional space.x2
 the 3rd coordinate of some point in 3dimensional space.v0
 the value at this position of the matrix being stitched.double get(double[] coordinates, double v0, double v1)
get
(coordinates,
new double[] {v0,v1}).
Provides better performance because it does not require the second Java array creation.coordinates
 the coordinates of some point in ndimensional space.v0
 the value at this position of the matrix being stitched.v1
 the value at this position of the matrix being stitched.double get1D(double x0, double v0, double v1)
get
(new double[] {x0},
new double[] {v0,v1}).
Provides better performance because it does not require Java array creation.x0
 the coordinate of some point in 1dimensional space.v0
 the value at this position of the matrix being stitched.v1
 the value at this position of the matrix being stitched.double get2D(double x0, double x1, double v0, double v1)
get
(new double[] {x0,x1},
new double[] {v0,v1}).
Provides better performance because it does not require Java array creation.x0
 1st coordinate of some point in 2dimensional space.x1
 the 2nd coordinate of some point in 2dimensional space.v0
 the value at this position of the matrix being stitched.v1
 the value at this position of the matrix being stitched.double get3D(double x0, double x1, double x2, double v0, double v1)
get
(new double[] {x0,x1,x2},
new double[] {v0,v1}).
Provides better performance because it does not require Java array creation.x0
 the 1st coordinate of some point in 3dimensional space.x1
 the 2nd coordinate of some point in 3dimensional space.x2
 the 3rd coordinate of some point in 3dimensional space.v0
 the value at this position of the matrix being stitched.v1
 the value at this position of the matrix being stitched.double get(double[] coordinates, double v0, double v1, double v2)
get
(coordinates,
new double[] {v0,v1,v2}).
Provides better performance because it does not require the second Java array creation.coordinates
 the coordinates of some point in ndimensional space.v0
 the value at this position of the matrix being stitched.v1
 the value at this position of the matrix being stitched.v2
 the value at this position of the matrix being stitched.double get1D(double x0, double v0, double v1, double v2)
get
(new double[] {x0},
new double[] {v0,v1,v2}).
Provides better performance because it does not require Java array creation.x0
 the coordinate of some point in 1dimensional space.v0
 the value at this position of the matrix being stitched.v1
 the value at this position of the matrix being stitched.v2
 the value at this position of the matrix being stitched.double get2D(double x0, double x1, double v0, double v1, double v2)
get
(new double[] {x0,x1},
new double[] {v0,v1,v2}).
Provides better performance because it does not require Java array creation.x0
 1st coordinate of some point in 2dimensional space.x1
 the 2nd coordinate of some point in 2dimensional space.v0
 the value at this position of the matrix being stitched.v1
 the value at this position of the matrix being stitched.v2
 the value at this position of the matrix being stitched.double get3D(double x0, double x1, double x2, double v0, double v1, double v2)
get
(new double[] {x0,x1,x2},
new double[] {v0,v1,v2}).
Provides better performance because it does not require Java array creation.x0
 the 1st coordinate of some point in 3dimensional space.x1
 the 2nd coordinate of some point in 3dimensional space.x2
 the 3rd coordinate of some point in 3dimensional space.v0
 the value at this position of the matrix being stitched.v1
 the value at this position of the matrix being stitched.v2
 the value at this position of the matrix being stitched.double get(double[] coordinates, double v0, double v1, double v2, double v3)
get
(coordinates,
new double[] {v0,v1,v2,v3}).
Provides better performance because it does not require the second Java array creation.coordinates
 the coordinates of some point in ndimensional space.v0
 the value at this position of the matrix being stitched.v1
 the value at this position of the matrix being stitched.v2
 the value at this position of the matrix being stitched.v3
 the value at this position of the matrix being stitched.double get1D(double x0, double v0, double v1, double v2, double v3)
get
(new double[] {x0},
new double[] {v0,v1,v2,v3}).
Provides better performance because it does not require Java array creation.x0
 the coordinate of some point in 1dimensional space.v0
 the value at this position of the matrix being stitched.v1
 the value at this position of the matrix being stitched.v2
 the value at this position of the matrix being stitched.v3
 the value at this position of the matrix being stitched.double get2D(double x0, double x1, double v0, double v1, double v2, double v3)
get
(new double[] {x0,x1},
new double[] {v0,v1,v2,v3}).
Provides better performance because it does not require Java array creation.x0
 1st coordinate of some point in 2dimensional space.x1
 the 2nd coordinate of some point in 2dimensional space.v0
 the value at this position of the matrix being stitched.v1
 the value at this position of the matrix being stitched.v2
 the value at this position of the matrix being stitched.v3
 the value at this position of the matrix being stitched.double get3D(double x0, double x1, double x2, double v0, double v1, double v2, double v3)
get
(new double[] {x0,x1,x2},
new double[] {v0,v1,v2,v3}).
Provides better performance because it does not require Java array creation.x0
 the 1st coordinate of some point in 3dimensional space.x1
 the 2nd coordinate of some point in 3dimensional space.x2
 the 3rd coordinate of some point in 3dimensional space.v0
 the value at this position of the matrix being stitched.v1
 the value at this position of the matrix being stitched.v2
 the value at this position of the matrix being stitched.v3
 the value at this position of the matrix being stitched.double get(double[] coordinates, double v0, double v1, double v2, double v3, double v4)
get
(coordinates,
new double[] {v0,v1,v2,v3,v4}).
Provides better performance because it does not require the second Java array creation.coordinates
 the coordinates of some point in ndimensional space.v0
 the value at this position of the matrix being stitched.v1
 the value at this position of the matrix being stitched.v2
 the value at this position of the matrix being stitched.v3
 the value at this position of the matrix being stitched.v4
 the value at this position of the matrix being stitched.double get1D(double x0, double v0, double v1, double v2, double v3, double v4)
get
(new double[] {x0},
new double[] {v0,v1,v2,v3,v4}).
Provides better performance because it does not require Java array creation.x0
 the coordinate of some point in 1dimensional space.v0
 the value at this position of the matrix being stitched.v1
 the value at this position of the matrix being stitched.v2
 the value at this position of the matrix being stitched.v3
 the value at this position of the matrix being stitched.v4
 the value at this position of the matrix being stitched.double get2D(double x0, double x1, double v0, double v1, double v2, double v3, double v4)
get
(new double[] {x0,x1},
new double[] {v0,v1,v2,v3,v4}).
Provides better performance because it does not require Java array creation.x0
 1st coordinate of some point in 2dimensional space.x1
 the 2nd coordinate of some point in 2dimensional space.v0
 the value at this position of the matrix being stitched.v1
 the value at this position of the matrix being stitched.v2
 the value at this position of the matrix being stitched.v3
 the value at this position of the matrix being stitched.v4
 the value at this position of the matrix being stitched.double get3D(double x0, double x1, double x2, double v0, double v1, double v2, double v3, double v4)
get
(new double[] {x0,x1,x2},
new double[] {v0,v1,v2,v3,v4}).
Provides better performance because it does not require Java array creation.x0
 the 1st coordinate of some point in 3dimensional space.x1
 the 2nd coordinate of some point in 3dimensional space.x2
 the 3rd coordinate of some point in 3dimensional space.v0
 the value at this position of the matrix being stitched.v1
 the value at this position of the matrix being stitched.v2
 the value at this position of the matrix being stitched.v3
 the value at this position of the matrix being stitched.v4
 the value at this position of the matrix being stitched.double get(double[] coordinates, double v0, double v1, double v2, double v3, double v4, double v5)
get
(coordinates,
new double[] {v0,v1,v2,v3,v4,v5}).
Provides better performance because it does not require the second Java array creation.coordinates
 the coordinates of some point in ndimensional space.v0
 the value at this position of the matrix being stitched.v1
 the value at this position of the matrix being stitched.v2
 the value at this position of the matrix being stitched.v3
 the value at this position of the matrix being stitched.v4
 the value at this position of the matrix being stitched.v5
 the value at this position of the matrix being stitched.double get1D(double x0, double v0, double v1, double v2, double v3, double v4, double v5)
get
(new double[] {x0},
new double[] {v0,v1,v2,v3,v4,v5}).
Provides better performance because it does not require Java array creation.x0
 the coordinate of some point in 1dimensional space.v0
 the value at this position of the matrix being stitched.v1
 the value at this position of the matrix being stitched.v2
 the value at this position of the matrix being stitched.v3
 the value at this position of the matrix being stitched.v4
 the value at this position of the matrix being stitched.v5
 the value at this position of the matrix being stitched.double get2D(double x0, double x1, double v0, double v1, double v2, double v3, double v4, double v5)
get
(new double[] {x0,x1},
new double[] {v0,v1,v2,v3,v4,v5}).
Provides better performance because it does not require Java array creation.x0
 1st coordinate of some point in 2dimensional space.x1
 the 2nd coordinate of some point in 2dimensional space.v0
 the value at this position of the matrix being stitched.v1
 the value at this position of the matrix being stitched.v2
 the value at this position of the matrix being stitched.v3
 the value at this position of the matrix being stitched.v4
 the value at this position of the matrix being stitched.v5
 the value at this position of the matrix being stitched.double get3D(double x0, double x1, double x2, double v0, double v1, double v2, double v3, double v4, double v5)
get
(new double[] {x0,x1,x2},
new double[] {v0,v1,v2,v3,v4,v5}).
Provides better performance because it does not require Java array creation.x0
 the 1st coordinate of some point in 3dimensional space.x1
 the 2nd coordinate of some point in 3dimensional space.x2
 the 3rd coordinate of some point in 3dimensional space.v0
 the value at this position of the matrix being stitched.v1
 the value at this position of the matrix being stitched.v2
 the value at this position of the matrix being stitched.v3
 the value at this position of the matrix being stitched.v4
 the value at this position of the matrix being stitched.v5
 the value at this position of the matrix being stitched.double get(double[] coordinates, double v0, double v1, double v2, double v3, double v4, double v5, double v6)
get
(coordinates,
new double[] {v0,v1,v2,v3,v4,v5,v6}).
Provides better performance because it does not require the second Java array creation.coordinates
 the coordinates of some point in ndimensional space.v0
 the value at this position of the matrix being stitched.v1
 the value at this position of the matrix being stitched.v2
 the value at this position of the matrix being stitched.v3
 the value at this position of the matrix being stitched.v4
 the value at this position of the matrix being stitched.v5
 the value at this position of the matrix being stitched.v6
 the value at this position of the matrix being stitched.double get1D(double x0, double v0, double v1, double v2, double v3, double v4, double v5, double v6)
get
(new double[] {x0},
new double[] {v0,v1,v2,v3,v4,v5,v6}).
Provides better performance because it does not require Java array creation.x0
 the coordinate of some point in 1dimensional space.v0
 the value at this position of the matrix being stitched.v1
 the value at this position of the matrix being stitched.v2
 the value at this position of the matrix being stitched.v3
 the value at this position of the matrix being stitched.v4
 the value at this position of the matrix being stitched.v5
 the value at this position of the matrix being stitched.v6
 the value at this position of the matrix being stitched.double get2D(double x0, double x1, double v0, double v1, double v2, double v3, double v4, double v5, double v6)
get
(new double[] {x0,x1},
new double[] {v0,v1,v2,v3,v4,v5,v6}).
Provides better performance because it does not require Java array creation.x0
 1st coordinate of some point in 2dimensional space.x1
 the 2nd coordinate of some point in 2dimensional space.v0
 the value at this position of the matrix being stitched.v1
 the value at this position of the matrix being stitched.v2
 the value at this position of the matrix being stitched.v3
 the value at this position of the matrix being stitched.v4
 the value at this position of the matrix being stitched.v5
 the value at this position of the matrix being stitched.v6
 the value at this position of the matrix being stitched.double get3D(double x0, double x1, double x2, double v0, double v1, double v2, double v3, double v4, double v5, double v6)
get
(new double[] {x0,x1,x2},
new double[] {v0,v1,v2,v3,v4,v5,v6}).
Provides better performance because it does not require Java array creation.x0
 the 1st coordinate of some point in 3dimensional space.x1
 the 2nd coordinate of some point in 3dimensional space.x2
 the 3rd coordinate of some point in 3dimensional space.v0
 the value at this position of the matrix being stitched.v1
 the value at this position of the matrix being stitched.v2
 the value at this position of the matrix being stitched.v3
 the value at this position of the matrix being stitched.v4
 the value at this position of the matrix being stitched.v5
 the value at this position of the matrix being stitched.v6
 the value at this position of the matrix being stitched.double get(double[] coordinates, double v0, double v1, double v2, double v3, double v4, double v5, double v6, double v7)
get
(coordinates,
new double[] {v0,v1,v2,v3,v4,v5,v6,v7}).
Provides better performance because it does not require the second Java array creation.coordinates
 the coordinates of some point in ndimensional space.v0
 the value at this position of the matrix being stitched.v1
 the value at this position of the matrix being stitched.v2
 the value at this position of the matrix being stitched.v3
 the value at this position of the matrix being stitched.v4
 the value at this position of the matrix being stitched.v5
 the value at this position of the matrix being stitched.v6
 the value at this position of the matrix being stitched.v7
 the value at this position of the matrix being stitched.double get1D(double x0, double v0, double v1, double v2, double v3, double v4, double v5, double v6, double v7)
get
(new double[] {x0},
new double[] {v0,v1,v2,v3,v4,v5,v6,v7}).
Provides better performance because it does not require Java array creation.x0
 the coordinate of some point in 1dimensional space.v0
 the value at this position of the matrix being stitched.v1
 the value at this position of the matrix being stitched.v2
 the value at this position of the matrix being stitched.v3
 the value at this position of the matrix being stitched.v4
 the value at this position of the matrix being stitched.v5
 the value at this position of the matrix being stitched.v6
 the value at this position of the matrix being stitched.v7
 the value at this position of the matrix being stitched.double get2D(double x0, double x1, double v0, double v1, double v2, double v3, double v4, double v5, double v6, double v7)
get
(new double[] {x0,x1},
new double[] {v0,v1,v2,v3,v4,v5,v6,v7}).
Provides better performance because it does not require Java array creation.x0
 1st coordinate of some point in 2dimensional space.x1
 the 2nd coordinate of some point in 2dimensional space.v0
 the value at this position of the matrix being stitched.v1
 the value at this position of the matrix being stitched.v2
 the value at this position of the matrix being stitched.v3
 the value at this position of the matrix being stitched.v4
 the value at this position of the matrix being stitched.v5
 the value at this position of the matrix being stitched.v6
 the value at this position of the matrix being stitched.v7
 the value at this position of the matrix being stitched.double get3D(double x0, double x1, double x2, double v0, double v1, double v2, double v3, double v4, double v5, double v6, double v7)
get
(new double[] {x0,x1,x2},
new double[] {v0,v1,v2,v3,v4,v5,v6,v7}).
Provides better performance because it does not require Java array creation.x0
 the 1st coordinate of some point in 3dimensional space.x1
 the 2nd coordinate of some point in 3dimensional space.x2
 the 3rd coordinate of some point in 3dimensional space.v0
 the value at this position of the matrix being stitched.v1
 the value at this position of the matrix being stitched.v2
 the value at this position of the matrix being stitched.v3
 the value at this position of the matrix being stitched.v4
 the value at this position of the matrix being stitched.v5
 the value at this position of the matrix being stitched.v6
 the value at this position of the matrix being stitched.v7
 the value at this position of the matrix being stitched.