private Matrix[] GetBlock(Matrix[] M, int xPos, int yPos, int tPos)
{
int xUpperBound = xPos + SpatialSize - 1;
int yUpperBound = yPos + SpatialSize - 1;
int tUpperBound = tPos + TemporalSize - 1;
Matrix[] Block = new Matrix[TemporalSize - 1];
for (int i = 0, j = tPos; j < tUpperBound; i++, j++)
{
Block[i] = M[j].getMatrix(xPos, xUpperBound, yPos, yUpperBound);
}
return Block;
}