diff --git a/.editorconfig b/.editorconfig
index ba975c7..510cece 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -107,6 +107,10 @@ csharp_space_after_dot = false
# Wrapping preferences
csharp_preserve_single_line_statements = true
csharp_preserve_single_line_blocks = true
+
+# IDE0060: Remove unused parameter
+dotnet_code_quality_unused_parameters = all:suggestion
+
[*.cs]
# CS0659: Type overrides Object.Equals(object o) but does not override Object.GetHashCode()
diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml
index 9ed0a3c..ce42fe5 100644
--- a/.github/workflows/building.yml
+++ b/.github/workflows/building.yml
@@ -14,8 +14,7 @@ on:
jobs:
- build:
-
+ build_3-1-100:
runs-on: windows-latest
steps:
@@ -26,3 +25,28 @@ jobs:
dotnet-version: 3.1.100
- name: Build with dotnet
run: dotnet build
+
+ build-_3-0-100:
+ runs-on: windows-latest
+
+ steps:
+ - uses: actions/checkout@v1
+ - name: Setup .NET Core
+ uses: actions/setup-dotnet@v1
+ with:
+ dotnet-version: 3.0.100
+ - name: Build with dotnet
+ run: dotnet build
+
+ build_2-2-103:
+ runs-on: windows-latest
+
+ steps:
+ - uses: actions/checkout@v1
+ - name: Setup .NET Core
+ uses: actions/setup-dotnet@v1
+ with:
+ dotnet-version: 2.2.103
+ - name: Build with dotnet
+ run: dotnet build
+
diff --git a/.gitignore b/.gitignore
index 03b6c37..678ae07 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,3 +10,9 @@
# Skip intermediates
**/obj
+
+# Skip movement files
+**.csv
+
+# Skip model files
+**.eg
diff --git a/MotionRecognition.sln b/MotionRecognition.sln
index 424a82a..0338968 100644
--- a/MotionRecognition.sln
+++ b/MotionRecognition.sln
@@ -8,7 +8,12 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sandbox", "Sandbox\Sandbox.
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UnitTests", "UnitTests\UnitTests.csproj", "{06B71FFE-B063-4C40-A78B-0C135EAEDCD9}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MotionRecognitionHelper", "MotionRecognitionHelper\MotionRecognitionHelper.csproj", "{CAF5CCD8-B455-4543-93A5-E238FD710832}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{E6B9092A-65AE-4622-BC11-871EF076515E}"
+ ProjectSection(SolutionItems) = preProject
+ .editorconfig = .editorconfig
+ EndProjectSection
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MotionRecognitionHelper", "MotionRecognitionHelper\MotionRecognitionHelper.csproj", "{1E10926B-0E00-42FD-B983-23BA111CFEDB}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -28,10 +33,10 @@ Global
{06B71FFE-B063-4C40-A78B-0C135EAEDCD9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{06B71FFE-B063-4C40-A78B-0C135EAEDCD9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{06B71FFE-B063-4C40-A78B-0C135EAEDCD9}.Release|Any CPU.Build.0 = Release|Any CPU
- {CAF5CCD8-B455-4543-93A5-E238FD710832}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {CAF5CCD8-B455-4543-93A5-E238FD710832}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {CAF5CCD8-B455-4543-93A5-E238FD710832}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {CAF5CCD8-B455-4543-93A5-E238FD710832}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1E10926B-0E00-42FD-B983-23BA111CFEDB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1E10926B-0E00-42FD-B983-23BA111CFEDB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1E10926B-0E00-42FD-B983-23BA111CFEDB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1E10926B-0E00-42FD-B983-23BA111CFEDB}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/MotionRecognition/MotionRecognition.csproj b/MotionRecognition/MotionRecognition.csproj
index ebed151..f5f227c 100644
--- a/MotionRecognition/MotionRecognition.csproj
+++ b/MotionRecognition/MotionRecognition.csproj
@@ -4,6 +4,15 @@
netstandard2.1
+
+
+
+
+
+
+
+
+
diff --git a/MotionRecognition/src/Data Transformation/Movement/CountBasedTransformer.cs b/MotionRecognition/src/Data Transformation/Movement/CountBasedTransformer.cs
index 1ad71d5..59378da 100644
--- a/MotionRecognition/src/Data Transformation/Movement/CountBasedTransformer.cs
+++ b/MotionRecognition/src/Data Transformation/Movement/CountBasedTransformer.cs
@@ -1,16 +1,18 @@
+using System;
+
namespace MotionRecognition
{
// Transformer which transforms sample list to downsized sample list based on specific interval.
- public class CountBasedTransformer : IntervalBasedTransformer
- {
- /*
+ public class CountBasedTransformer : IntervalBasedTransformer
+ {
+ /*
* Returns a specific count of values from the original sample list,
* count is used to calculate an interval which is used to retrieve samples from the original list.
*/
- public override double[] GetNeuralInput(IntervalBasedTransformerSettings settings)
- {
- settings.interval = settings.sampleList.Length / settings.count;
- return base.GetNeuralInput(settings);
- }
- }
+ public override double[] GetNeuralInput(IntervalBasedTransformerSettings settings)
+ {
+ settings.interval = settings.sampleList.Length / settings.count;
+ return base.GetNeuralInput(settings);
+ }
+ }
}
diff --git a/MotionRecognition/src/Data Transformation/Movement/ImageTransformer.cs b/MotionRecognition/src/Data Transformation/Movement/ImageTransformer.cs
index b273db8..13afe89 100644
--- a/MotionRecognition/src/Data Transformation/Movement/ImageTransformer.cs
+++ b/MotionRecognition/src/Data Transformation/Movement/ImageTransformer.cs
@@ -31,7 +31,7 @@ public enum LeapMotionJoint
// Settings struct with properties needed for the functions in the transformer.
public struct ImageTransformerSettings
{
- public int size;
+ public uint size;
public Sample[] samples;
// Which items are used of the sample column list.
diff --git a/MotionRecognition/src/Data Transformation/Movement/IntervalBasedTransformer.cs b/MotionRecognition/src/Data Transformation/Movement/IntervalBasedTransformer.cs
index f2cc004..e64bf4b 100644
--- a/MotionRecognition/src/Data Transformation/Movement/IntervalBasedTransformer.cs
+++ b/MotionRecognition/src/Data Transformation/Movement/IntervalBasedTransformer.cs
@@ -1,47 +1,49 @@
+using System;
using System.Collections.Generic;
namespace MotionRecognition
{
- // Settings struct with properties needed for the functions in the transformer.
- public struct IntervalBasedTransformerSettings
- {
- public Sample[] sampleList;
+ // Settings struct with properties needed for the functions in the transformer.
+ public struct IntervalBasedTransformerSettings
+ {
+ public Sample[] sampleList;
- public int interval { get; set; }
- public int count
- {
- get
- {
- return this.interval;
- }
- set
- {
- this.interval = value;
- }
- }
- }
+ public double interval { get; set; }
+ public double count
+ {
+ get
+ {
+ return interval;
+ }
+ set
+ {
+ interval = value;
+ }
+ }
+ }
// Transformer which transforms sample list to downsized list based on given count.
- public class IntervalBasedTransformer : IMovementTransformer
- {
- // Returns list of doubles filtered from original sample list on a specific interval.
- public virtual double[] GetNeuralInput(IntervalBasedTransformerSettings settings)
- {
- List values = new List();
+ public class IntervalBasedTransformer : IMovementTransformer
+ {
+ // Returns list of doubles filtered from original sample list on a specific interval.
+ public virtual double[] GetNeuralInput(IntervalBasedTransformerSettings settings)
+ {
+ List values = new List();
+ double inter = settings.interval;
+ for (int i = 0; i < settings.sampleList.Length; i++)
+ {
+ if (i == Math.Round(inter) || i == 0)
+ {
+ if (i != 0)
+ inter += settings.interval;
+ foreach (Vector3 v in settings.sampleList[i].values)
+ {
+ values.AddRange(v.GetTransformerValue());
+ }
+ }
+ }
- for (int i = 0; i < settings.sampleList.Length; i++)
- {
- if (i % settings.interval == 0)
- {
- foreach (Vector3 v in settings.sampleList[i].values)
- {
- values.AddRange(v.GetTransformerValue());
-
- }
- }
- }
-
- return values.ToArray();
- }
- }
+ return values.ToArray();
+ }
+ }
}
diff --git a/MotionRecognition/src/Exceptions/EncogException.cs b/MotionRecognition/src/Exceptions/EncogException.cs
new file mode 100644
index 0000000..26a3f5f
--- /dev/null
+++ b/MotionRecognition/src/Exceptions/EncogException.cs
@@ -0,0 +1,11 @@
+using System;
+
+namespace MotionRecognition
+{
+ public class EncogException : Exception
+ {
+
+ public EncogException(String Message) : base(Message) { }
+
+ }
+}
diff --git a/MotionRecognition/src/Exceptions/IncorrectActionOrderException.cs b/MotionRecognition/src/Exceptions/IncorrectActionOrderException.cs
new file mode 100644
index 0000000..a756714
--- /dev/null
+++ b/MotionRecognition/src/Exceptions/IncorrectActionOrderException.cs
@@ -0,0 +1,11 @@
+using System;
+
+namespace MotionRecognition
+{
+ public class IncorrectActionOrderException : Exception
+ {
+
+ public IncorrectActionOrderException(String Message) : base(Message) { }
+
+ }
+}
diff --git a/MotionRecognition/src/Exceptions/InvalidNeuronCountException.cs b/MotionRecognition/src/Exceptions/InvalidNeuronCountException.cs
new file mode 100644
index 0000000..f7aa859
--- /dev/null
+++ b/MotionRecognition/src/Exceptions/InvalidNeuronCountException.cs
@@ -0,0 +1,11 @@
+using System;
+
+namespace MotionRecognition
+{
+ public class InvalidNeuronCountException : Exception
+ {
+
+ public InvalidNeuronCountException(String Message) : base(Message) { }
+
+ }
+}
diff --git a/MotionRecognition/src/Exceptions/NoParameterGivenException.cs b/MotionRecognition/src/Exceptions/NoParameterGivenException.cs
new file mode 100644
index 0000000..002e243
--- /dev/null
+++ b/MotionRecognition/src/Exceptions/NoParameterGivenException.cs
@@ -0,0 +1,11 @@
+using System;
+
+namespace MotionRecognition
+{
+ public class NoParameterGivenException : Exception
+ {
+
+ public NoParameterGivenException(String Message) : base(Message) { }
+
+ }
+}
diff --git a/MotionRecognition/src/Exceptions/WrongFileTypeException.cs b/MotionRecognition/src/Exceptions/WrongFileTypeException.cs
new file mode 100644
index 0000000..c7c41e1
--- /dev/null
+++ b/MotionRecognition/src/Exceptions/WrongFileTypeException.cs
@@ -0,0 +1,11 @@
+using System;
+
+namespace MotionRecognition
+{
+ public class WrongFileTypeException : Exception
+ {
+
+ public WrongFileTypeException(String Message) : base(Message) { }
+
+ }
+}
diff --git a/MotionRecognition/src/Recognizer/BaseTrainHelper.cs b/MotionRecognition/src/Recognizer/BaseTrainHelper.cs
new file mode 100644
index 0000000..24460dd
--- /dev/null
+++ b/MotionRecognition/src/Recognizer/BaseTrainHelper.cs
@@ -0,0 +1,33 @@
+using System.IO;
+
+namespace MotionRecognition
+{
+ public static class BaseTrainHelper
+ {
+
+ // Helper function which returns the total number of files in a directory.
+ public static int GetFileCount(string dataDirectory)
+ {
+ // Get total number of '.csv' files inside Directory.
+ return Directory.GetFiles(
+ dataDirectory,
+ "*.csv*",
+ SearchOption.TopDirectoryOnly
+ ).Length;
+ }
+
+ // This helper function copies a 1D array into a 2D array.
+ public static void Project1DInto2D(double[] source, ref double[][] dest, int index)
+ {
+ double[] temp = new double[source.Length];
+
+ for (int i = 0; i < source.Length; i++)
+ {
+ temp[i] = source[i];
+ }
+
+ dest[index] = temp;
+ }
+
+ }
+}
diff --git a/MotionRecognition/src/Recognizer/EncogWrapper.cs b/MotionRecognition/src/Recognizer/EncogWrapper.cs
new file mode 100644
index 0000000..42acb79
--- /dev/null
+++ b/MotionRecognition/src/Recognizer/EncogWrapper.cs
@@ -0,0 +1,141 @@
+using System;
+using Encog.ML.Data;
+using Encog.ML.Train;
+using Encog.ML.Data.Basic;
+using Encog.Neural.Networks.Layers;
+using Encog.Engine.Network.Activation;
+using Encog.Neural.Networks.Training.Propagation.Resilient;
+using Encog.Persist;
+using System.IO;
+using Encog.Neural.Networks;
+
+namespace MotionRecognition
+{
+ // Layer settings which holds information to generate custom layers.
+ public struct EncogLayerSettings
+ {
+ public IActivationFunction activationFunction;
+ public bool hasBias;
+ public int neuronCount;
+ }
+
+ // Settings which are used while training the network.
+ public struct EncogTrainSettings
+ {
+ public double maxTrainingError;
+ public uint maxEpochCount;
+ public double[][] dataset;
+ public double[][] answers;
+ }
+
+ // Settings which are used while predicting with the network.
+ public struct EncogPredictSettings
+ {
+ public double threshold;
+ public double[] data;
+ }
+
+ public static class EncogWrapper
+ {
+ // Setup a new network.
+ public static void Instantiate(ref NetworkContainer container)
+ {
+ if (container == null)
+ container = new NetworkContainer();
+
+ if (container.network != null)
+ throw new IncorrectActionOrderException("Network has already been instantiated.");
+
+ container.network = new BasicNetwork();
+ }
+
+ // Add a custom layer to the network.
+ public static void AddLayer(ref NetworkContainer container, ref EncogLayerSettings settings)
+ {
+ if (settings.neuronCount <= 0)
+ throw new InvalidNeuronCountException("Neuroncount should be higher than 0.");
+
+ try
+ {
+ container.network.AddLayer(new BasicLayer(
+ settings.activationFunction,
+ settings.hasBias,
+ settings.neuronCount));
+ }
+ catch
+ {
+ throw new EncogException("Adding layer failed.");
+ }
+ }
+
+ public static void FinalizeNetwork(ref NetworkContainer container)
+ {
+ try
+ {
+ container.network.Structure.FinalizeStructure();
+ container.network.Reset();
+ }
+ catch
+ {
+ throw new EncogException("Failed to finalize network.");
+ }
+ }
+
+ public static void SaveNetworkToFS(ref NetworkContainer container, string fileName)
+ {
+ try
+ {
+ EncogDirectoryPersistence.SaveObject(new FileInfo(fileName), container.network);
+ }
+ catch
+ {
+ throw new EncogException("Failed to save network to file system.");
+ }
+ }
+
+ public static void LoadNetworkFromFS(ref NetworkContainer container, string fileName)
+ {
+ try
+ {
+ container.network = (BasicNetwork)EncogDirectoryPersistence.LoadObject(new FileInfo(fileName));
+ }
+ catch
+ {
+ throw new EncogException("Failed to load network from file system.");
+ }
+ }
+
+ // Train network using the according settings.
+ public static void Train(ref NetworkContainer container, ref EncogTrainSettings settings)
+ {
+ if (settings.maxTrainingError <= 0)
+ throw new EncogException("Maxtrainingerror should be higher than 0");
+
+ // Create training data.
+ IMLDataSet trainingSet = new BasicMLDataSet(settings.dataset, settings.answers);
+
+ // Train the neural network.
+ IMLTrain train = new ResilientPropagation(container.network, trainingSet);
+
+ uint epoch = 0;
+
+ do
+ {
+ train.Iteration();
+ if (container.verbose) Console.WriteLine("Epoch # " + epoch + " Error: " + train.Error);
+ epoch++;
+ } while (train.Error > settings.maxTrainingError && (epoch < settings.maxEpochCount || settings.maxEpochCount == 0));
+ }
+
+ // Predict data using a network.
+ public static bool Predict(ref NetworkContainer container, ref EncogPredictSettings settings)
+ {
+ IMLData output = container.network.Compute(new BasicMLData(settings.data));
+
+ if (container.verbose) Console.WriteLine("Raw output: " + output[0]);
+
+ // Return true or false according to threshold.
+ return (1 - output[0] < settings.threshold);
+ }
+ }
+}
diff --git a/MotionRecognition/src/Recognizer/NetworkContainer.cs b/MotionRecognition/src/Recognizer/NetworkContainer.cs
new file mode 100644
index 0000000..fafe288
--- /dev/null
+++ b/MotionRecognition/src/Recognizer/NetworkContainer.cs
@@ -0,0 +1,15 @@
+using Encog.Neural.Networks;
+
+namespace MotionRecognition
+{
+ public class NetworkContainer
+ {
+ public BasicNetwork network;
+ public bool verbose;
+
+ public NetworkContainer()
+ {
+ verbose = false;
+ }
+ }
+}
diff --git a/MotionRecognition/src/RecognizerController/CountNetworkPredictController.cs b/MotionRecognition/src/RecognizerController/CountNetworkPredictController.cs
new file mode 100644
index 0000000..8ce69c4
--- /dev/null
+++ b/MotionRecognition/src/RecognizerController/CountNetworkPredictController.cs
@@ -0,0 +1,88 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Text;
+using System.Text.RegularExpressions;
+
+namespace MotionRecognition
+{
+
+ public struct CountNetworkPredictSettings
+ {
+ public EncogPredictSettings predictSettings;
+
+ public string trainedNetwork;
+ public string predictData;
+
+ public uint networkInputSize;
+ };
+
+ public class CountNetworkPredictController : INetworkPredictController
+ {
+
+ // Prepare network predictor to predict the output of a dataset.
+ public static void PreparePredictor(ref NetworkContainer container, ref CountNetworkPredictSettings settings)
+ {
+ TestForErrors(ref settings);
+
+ EncogWrapper.LoadNetworkFromFS(ref container, settings.trainedNetwork);
+
+ List baseFilters = new List(1);
+ ICSVFilter quaternions = new CSVEvenColumnFilter();
+ baseFilters.Add(quaternions);
+
+ // Setup loader.
+ CSVLoaderSettings CSVSettings = new CSVLoaderSettings
+ {
+ filePath = settings.predictData,
+ trimUp = 1,
+ trimDown = 0,
+ filters = baseFilters
+ };
+
+ var data = CSVLoader.LoadData(ref CSVSettings);
+
+ // Initialize CountBased Transformer settings.
+ IntervalBasedTransformerSettings countSettings = new IntervalBasedTransformerSettings
+ {
+ sampleList = data,
+ count = settings.networkInputSize
+ };
+ CountBasedTransformer countTransformer = new CountBasedTransformer();
+
+ settings.predictSettings = new EncogPredictSettings
+ {
+ threshold = 0.5,
+ data = countTransformer.GetNeuralInput(countSettings)
+ };
+ }
+
+ // Predict the output of a dataset using an existing network.
+ public static bool Predict(ref NetworkContainer container, ref CountNetworkPredictSettings settings)
+ {
+
+ if (settings.predictSettings.data == null)
+ throw new IncorrectActionOrderException("Prepare predictor before predicting.");
+
+ return EncogWrapper.Predict(ref container, ref settings.predictSettings);
+
+ }
+
+ // Test if all inputs are valid.
+ private static void TestForErrors(ref CountNetworkPredictSettings settings)
+ {
+
+ if (!File.Exists(settings.trainedNetwork))
+ throw new FileNotFoundException("Trained network was not found.");
+
+ if (!Regex.IsMatch(settings.trainedNetwork, @"(\.eg$)"))
+ throw new WrongFileTypeException("Wrong network location given.");
+
+ if (!File.Exists(settings.predictData))
+ throw new FileNotFoundException("Network input was not found.");
+
+ if (!Regex.IsMatch(settings.predictData, @"(\.csv$)"))
+ throw new WrongFileTypeException("Wrong network input given.");
+ }
+ }
+}
diff --git a/MotionRecognition/src/RecognizerController/CountNetworkTrainController.cs b/MotionRecognition/src/RecognizerController/CountNetworkTrainController.cs
new file mode 100644
index 0000000..3e91628
--- /dev/null
+++ b/MotionRecognition/src/RecognizerController/CountNetworkTrainController.cs
@@ -0,0 +1,173 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using Encog.Engine.Network.Activation;
+
+namespace MotionRecognition
+{
+
+ public struct CountNetworkTrainSettings
+ {
+ public EncogTrainSettings trainSettings;
+ public string correctInputDirectory;
+ public string incorrectInputDirectory;
+
+ public string outputDirectory;
+ public string outputName;
+
+ public uint sampleCount;
+ }
+
+ public class CountNetworkTrainController : INetworkTrainController
+ {
+
+ public static void PrepareData(ref NetworkContainer container, ref CountNetworkTrainSettings settings)
+ {
+ if (settings.trainSettings.dataset != null)
+ throw new IncorrectActionOrderException("This action has already been completed.");
+
+ TestForErrors(ref settings);
+
+ settings.trainSettings = new EncogTrainSettings
+ {
+ maxTrainingError = 0.01
+ };
+
+ int correctFileCount = BaseTrainHelper.GetFileCount(settings.correctInputDirectory);
+ int incorrectFileCount = BaseTrainHelper.GetFileCount(settings.incorrectInputDirectory);
+
+ if (correctFileCount <= 0)
+ throw new FileNotFoundException("correctFiles not found.");
+
+ if (incorrectFileCount <= 0)
+ throw new FileNotFoundException("incorretFiles not found.");
+
+ settings.trainSettings.dataset = new double[correctFileCount + incorrectFileCount][];
+ settings.trainSettings.answers = new double[correctFileCount + incorrectFileCount][];
+
+ // Compute correct training data.
+ ComputeData(
+ settings.sampleCount,
+ settings.correctInputDirectory,
+ ref settings.trainSettings.dataset,
+ ref settings.trainSettings.answers,
+ 1.0,
+ 0);
+
+ // Compute incorrect training data.
+ ComputeData(
+ settings.sampleCount,
+ settings.incorrectInputDirectory,
+ ref settings.trainSettings.dataset,
+ ref settings.trainSettings.answers,
+ 0.0,
+ correctFileCount);
+ }
+
+ public static void PrepareNetwork(ref NetworkContainer container, ref CountNetworkTrainSettings settings)
+ {
+ if (settings.trainSettings.dataset == null)
+ throw new IncorrectActionOrderException("Prepare data before preparing network.");
+
+ EncogLayerSettings inputLayerSettings = new EncogLayerSettings
+ {
+ activationFunction = null,
+ hasBias = true,
+ neuronCount = settings.trainSettings.dataset[0].Length
+ };
+
+ EncogWrapper.Instantiate(ref container);
+ EncogWrapper.AddLayer(ref container, ref inputLayerSettings);
+
+ EncogLayerSettings hiddenLayerOneSettings = new EncogLayerSettings
+ {
+ activationFunction = new ActivationElliott(),
+ hasBias = true,
+ neuronCount = 100
+ };
+
+ EncogWrapper.AddLayer(ref container, ref hiddenLayerOneSettings);
+
+ EncogLayerSettings outputLayerSettings = new EncogLayerSettings
+ {
+ activationFunction = new ActivationElliott(),
+ hasBias = false,
+ neuronCount = 1
+ };
+
+ EncogWrapper.AddLayer(ref container, ref outputLayerSettings);
+ EncogWrapper.FinalizeNetwork(ref container);
+ }
+
+ public static void Train(ref NetworkContainer container, ref CountNetworkTrainSettings settings)
+ {
+ if (settings.trainSettings.dataset == null)
+ throw new IncorrectActionOrderException("Prepare data before training network.");
+
+ if (container == null)
+ throw new IncorrectActionOrderException("Prepare network before training network.");
+
+ EncogWrapper.Train(ref container, ref settings.trainSettings);
+ EncogWrapper.SaveNetworkToFS(ref container, settings.outputDirectory + settings.outputName + ".eg");
+ }
+
+ private static void ComputeData(
+ uint networkInputSize,
+ string inputDataDirectory,
+ ref double[][] outputData,
+ ref double[][] outputAnswers,
+ double outputValue,
+ int index)
+ {
+ DirectoryInfo inputDirectory = new DirectoryInfo(inputDataDirectory);
+
+ foreach (var file in inputDirectory.GetFiles("*.csv"))
+ {
+ List baseFilters = new List(1);
+ ICSVFilter quaternions = new CSVEvenColumnFilter();
+ baseFilters.Add(quaternions);
+
+ // Setup loader.
+ CSVLoaderSettings settings = new CSVLoaderSettings
+ {
+ filePath = file.FullName,
+ trimUp = 1,
+ trimDown = 0,
+ filters = baseFilters
+ };
+
+ var data = CSVLoader.LoadData(ref settings);
+
+ // Initialize CountBased Transformer settings.
+ IntervalBasedTransformerSettings countSettings = new IntervalBasedTransformerSettings
+ {
+ sampleList = data,
+ count = networkInputSize
+ };
+ CountBasedTransformer countTransformer = new CountBasedTransformer();
+
+ BaseTrainHelper.Project1DInto2D(
+ countTransformer.GetNeuralInput(countSettings),
+ ref outputData,
+ index);
+
+ // Set answer to given value.
+ outputAnswers[index] = new double[] { outputValue };
+ index++;
+ }
+ }
+
+ // Test if input is valid.
+ public static void TestForErrors(ref CountNetworkTrainSettings settings)
+ {
+ if (!Directory.Exists(settings.correctInputDirectory))
+ throw new DirectoryNotFoundException("Correct data directory was not found.");
+
+ if (!Directory.Exists(settings.incorrectInputDirectory))
+ throw new DirectoryNotFoundException("Incorrect data directory was not found.");
+
+ if (!Directory.Exists(settings.outputDirectory))
+ throw new DirectoryNotFoundException("Output data directory was not found.");
+ }
+ }
+}
diff --git a/MotionRecognition/src/RecognizerController/INetworkPredictController.cs b/MotionRecognition/src/RecognizerController/INetworkPredictController.cs
new file mode 100644
index 0000000..02bdf03
--- /dev/null
+++ b/MotionRecognition/src/RecognizerController/INetworkPredictController.cs
@@ -0,0 +1,11 @@
+namespace MotionRecognition
+{
+ public interface INetworkPredictController
+ {
+
+ static void PreparePredictor(ref NetworkContainer container, ref T settings) { }
+
+ static bool Predict(ref NetworkContainer container, ref T settings) { return false; }
+
+ }
+}
diff --git a/MotionRecognition/src/RecognizerController/INetworkTrainController.cs b/MotionRecognition/src/RecognizerController/INetworkTrainController.cs
new file mode 100644
index 0000000..38820b8
--- /dev/null
+++ b/MotionRecognition/src/RecognizerController/INetworkTrainController.cs
@@ -0,0 +1,12 @@
+namespace MotionRecognition
+{
+ public interface INetworkTrainController
+ {
+ static void PrepareData(ref NetworkContainer container, ref T settings) { }
+
+ static void PrepareNetwork(ref NetworkContainer container, ref T settings) { }
+
+ static void Train(ref NetworkContainer container, ref T settings) { }
+
+ }
+}
diff --git a/MotionRecognition/src/RecognizerController/ImageNetworkPredictController.cs b/MotionRecognition/src/RecognizerController/ImageNetworkPredictController.cs
new file mode 100644
index 0000000..5783537
--- /dev/null
+++ b/MotionRecognition/src/RecognizerController/ImageNetworkPredictController.cs
@@ -0,0 +1,85 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Text.RegularExpressions;
+
+namespace MotionRecognition
+{
+ public struct ImageNetworkPredictSettings
+ {
+ public EncogPredictSettings predictSettings;
+
+ public string trainedNetwork;
+ public string predictData;
+
+ public uint networkInputSize;
+ };
+
+ public class ImageNetworkPredictController : INetworkPredictController
+ {
+
+ // Prepare input data for prediction.
+ public static void PreparePredictor(ref NetworkContainer container, ref ImageNetworkPredictSettings settings)
+ {
+ TestForErrors(ref settings);
+
+ EncogWrapper.LoadNetworkFromFS(ref container, settings.trainedNetwork);
+
+ List baseFilters = new List(1);
+ ICSVFilter quaternions = new CSVEvenColumnFilter();
+ baseFilters.Add(quaternions);
+
+ // Setup loader.
+ CSVLoaderSettings CSVSettings = new CSVLoaderSettings
+ {
+ filePath = settings.predictData,
+ trimUp = 1,
+ trimDown = 0,
+ filters = baseFilters
+ };
+
+ var data = CSVLoader.LoadData(ref CSVSettings);
+
+ // Initialize image Transformer.
+ ImageTransformerSettings imageSettings = new ImageTransformerSettings
+ {
+ focusJoints = (LeapMotionJoint[])Enum.GetValues(typeof(LeapMotionJoint)),
+ samples = data,
+ size = 10
+ };
+ ImageTransformer imageTransformer = new ImageTransformer();
+
+ settings.predictSettings = new EncogPredictSettings
+ {
+ threshold = 0.5,
+ data = imageTransformer.GetNeuralInput(imageSettings)
+ };
+
+ }
+
+ // Predict output for a given input.
+ public static bool Predict(ref NetworkContainer container, ref ImageNetworkPredictSettings settings)
+ {
+ if (settings.predictSettings.data == null)
+ throw new IncorrectActionOrderException("Prepare predictor before predicting.");
+
+ return EncogWrapper.Predict(ref container, ref settings.predictSettings);
+ }
+
+ // Test if input data is valid.
+ private static void TestForErrors(ref ImageNetworkPredictSettings settings)
+ {
+ if (!File.Exists(settings.trainedNetwork))
+ throw new FileNotFoundException("Trained network was not found.");
+
+ if (!Regex.IsMatch(settings.trainedNetwork, @"(\.eg$)"))
+ throw new WrongFileTypeException("Wrong network location given.");
+
+ if (!File.Exists(settings.predictData))
+ throw new FileNotFoundException("Network input was not found.");
+
+ if (!Regex.IsMatch(settings.predictData, @"(\.csv$)"))
+ throw new WrongFileTypeException("Wrong network input given.");
+ }
+ }
+}
diff --git a/MotionRecognition/src/RecognizerController/ImageNetworkTrainController.cs b/MotionRecognition/src/RecognizerController/ImageNetworkTrainController.cs
new file mode 100644
index 0000000..8196b96
--- /dev/null
+++ b/MotionRecognition/src/RecognizerController/ImageNetworkTrainController.cs
@@ -0,0 +1,180 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using Encog.Engine.Network.Activation;
+
+namespace MotionRecognition
+{
+
+ public struct ImageNetworkTrainSettings
+ {
+ public EncogTrainSettings trainSettings;
+ public string correctInputDirectory;
+ public string incorrectInputDirectory;
+
+ public string outputDirectory;
+ public string outputName;
+
+ public uint sampleCount;
+ }
+
+ public class ImageNetworkTrainController : INetworkTrainController
+ {
+
+ // Prepare data which is used to train the network.
+ public static void PrepareData(ref NetworkContainer container, ref ImageNetworkTrainSettings settings)
+ {
+ if (settings.trainSettings.dataset != null)
+ throw new IncorrectActionOrderException("This action has already been completed.");
+
+ TestForErrors(ref settings);
+
+ settings.trainSettings = new EncogTrainSettings
+ {
+ maxTrainingError = 0.02,
+ maxEpochCount = 200
+ };
+
+ int correctFileCount = BaseTrainHelper.GetFileCount(settings.correctInputDirectory);
+ int incorrectFileCount = BaseTrainHelper.GetFileCount(settings.incorrectInputDirectory);
+
+ settings.trainSettings.dataset = new double[correctFileCount + incorrectFileCount][];
+ settings.trainSettings.answers = new double[correctFileCount + incorrectFileCount][];
+
+ // Compute correct training data.
+ ComputeData(
+ settings.sampleCount,
+ settings.correctInputDirectory,
+ ref settings.trainSettings.dataset,
+ ref settings.trainSettings.answers,
+ 1.0,
+ 0);
+
+ // Compute incorrect training data.
+ ComputeData(
+ settings.sampleCount,
+ settings.incorrectInputDirectory,
+ ref settings.trainSettings.dataset,
+ ref settings.trainSettings.answers,
+ 0.0,
+ correctFileCount);
+ }
+
+ // Prepare network for training, this is mainly setting up the layers and activation functions.
+ public static void PrepareNetwork(ref NetworkContainer container, ref ImageNetworkTrainSettings settings)
+ {
+ if (settings.trainSettings.dataset == null)
+ throw new IncorrectActionOrderException("Prepare data before preparing network.");
+
+ EncogWrapper.Instantiate(ref container);
+
+ EncogLayerSettings inputLayerSettings = new EncogLayerSettings
+ {
+ activationFunction = null,
+ hasBias = true,
+ neuronCount = settings.trainSettings.dataset[0].Length
+ };
+
+ EncogWrapper.AddLayer(ref container, ref inputLayerSettings);
+
+ EncogLayerSettings hiddenLayerOneSettings = new EncogLayerSettings
+ {
+ activationFunction = new ActivationElliott(),
+ hasBias = true,
+ neuronCount = 100
+ };
+
+ EncogWrapper.AddLayer(ref container, ref hiddenLayerOneSettings);
+
+ EncogLayerSettings outputLayerSettings = new EncogLayerSettings
+ {
+ activationFunction = new ActivationElliott(),
+ hasBias = false,
+ neuronCount = 1
+ };
+
+ EncogWrapper.AddLayer(ref container, ref outputLayerSettings);
+ EncogWrapper.FinalizeNetwork(ref container);
+ }
+
+ // Start actual training of the network.
+ public static void Train(ref NetworkContainer container, ref ImageNetworkTrainSettings settings)
+ {
+ if (settings.trainSettings.dataset == null)
+ throw new IncorrectActionOrderException("Prepare data before training network.");
+
+ if (container == null)
+ throw new IncorrectActionOrderException("Prepare network before training network.");
+
+ EncogWrapper.Train(ref container, ref settings.trainSettings);
+ if (settings.outputDirectory[settings.outputDirectory.Length - 1].Equals("/"))
+ {
+ EncogWrapper.SaveNetworkToFS(ref container, settings.outputDirectory + settings.outputName + ".eg");
+ return;
+ }
+
+ EncogWrapper.SaveNetworkToFS(ref container, settings.outputDirectory + "/" + settings.outputName + ".eg");
+ }
+
+ // Convert data from a CSV file to the actual input array for the network.
+ private static void ComputeData(
+ uint sampleCount,
+ string inputDataDirectory,
+ ref double[][] outputData,
+ ref double[][] outputAnswers,
+ double outputValue,
+ int index)
+ {
+ DirectoryInfo inputDirectory = new DirectoryInfo(inputDataDirectory);
+
+ foreach (var file in inputDirectory.GetFiles("*.csv"))
+ {
+ List baseFilters = new List(1);
+ ICSVFilter quaternions = new CSVEvenColumnFilter();
+ baseFilters.Add(quaternions);
+
+ // Setup loader.
+ CSVLoaderSettings settings = new CSVLoaderSettings
+ {
+ filePath = file.FullName,
+ trimUp = 1,
+ trimDown = 0,
+ filters = baseFilters
+ };
+
+ var data = CSVLoader.LoadData(ref settings);
+
+ // Initialize image Transformer.
+ ImageTransformerSettings imageSettings = new ImageTransformerSettings
+ {
+ focusJoints = (LeapMotionJoint[])Enum.GetValues(typeof(LeapMotionJoint)),
+ samples = data,
+ size = sampleCount
+ };
+ ImageTransformer imageTransformer = new ImageTransformer();
+
+ BaseTrainHelper.Project1DInto2D(
+ imageTransformer.GetNeuralInput(imageSettings),
+ ref outputData,
+ index);
+
+ // Set answer to given value.
+ outputAnswers[index] = new double[] { outputValue };
+ index++;
+ }
+ }
+
+ // Test if all inputs are valid.
+ public static void TestForErrors(ref ImageNetworkTrainSettings settings)
+ {
+ if (!Directory.Exists(settings.correctInputDirectory))
+ throw new DirectoryNotFoundException("Correct data directory was not found.");
+
+ if (!Directory.Exists(settings.incorrectInputDirectory))
+ throw new DirectoryNotFoundException("Incorrect data directory was not found.");
+
+ if (!Directory.Exists(settings.outputDirectory))
+ throw new DirectoryNotFoundException("Output data directory was not found.");
+ }
+ }
+}
diff --git a/MotionRecognition/src/Structures/Vector3.cs b/MotionRecognition/src/Structures/Vector3.cs
index 5590909..eb9f902 100644
--- a/MotionRecognition/src/Structures/Vector3.cs
+++ b/MotionRecognition/src/Structures/Vector3.cs
@@ -1,4 +1,6 @@
-namespace MotionRecognition
+using System.Globalization;
+
+namespace MotionRecognition
{
/*
* Vector3 contains an x, y and z coordinate which are used to display a 3D position.
@@ -23,9 +25,9 @@ public static Vector3 Parse(string input)
if (points.Length > 3)
throw new InputTooLargeException("Too many arguments at parsing Vector3.");
- vec3.x = float.Parse(points[0]);
- vec3.y = float.Parse(points[1]);
- vec3.z = float.Parse(points[2]);
+ vec3.x = float.Parse(points[0], CultureInfo.InvariantCulture);
+ vec3.y = float.Parse(points[1], CultureInfo.InvariantCulture);
+ vec3.z = float.Parse(points[2], CultureInfo.InvariantCulture);
return vec3;
}
diff --git a/Sandbox/CorrectData/.gitkeep b/Sandbox/CorrectData/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/Sandbox/CorrectTestData/.gitkeep b/Sandbox/CorrectTestData/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/Sandbox/Data/data.csv b/Sandbox/Data/data.csv
deleted file mode 100644
index 48b2139..0000000
--- a/Sandbox/Data/data.csv
+++ /dev/null
@@ -1,61 +0,0 @@
-System.Single,UnityEngine.Vector3,UnityEngine.Quaternion,UnityEngine.Vector3,UnityEngine.Quaternion,UnityEngine.Vector3,UnityEngine.Quaternion,UnityEngine.Vector3,UnityEngine.Quaternion,UnityEngine.Vector3,UnityEngine.Quaternion,UnityEngine.Vector3,UnityEngine.Quaternion,UnityEngine.Vector3,UnityEngine.Quaternion,UnityEngine.Vector3,UnityEngine.Quaternion,UnityEngine.Vector3,UnityEngine.Quaternion,UnityEngine.Vector3,UnityEngine.Quaternion,UnityEngine.Vector3,UnityEngine.Quaternion,UnityEngine.Vector3,UnityEngine.Quaternion,UnityEngine.Vector3,UnityEngine.Quaternion,UnityEngine.Vector3,UnityEngine.Quaternion,UnityEngine.Vector3,UnityEngine.Quaternion,UnityEngine.Vector3,UnityEngine.Quaternion,UnityEngine.Vector3,UnityEngine.Quaternion,UnityEngine.Vector3,UnityEngine.Quaternion,UnityEngine.Vector3,UnityEngine.Quaternion,UnityEngine.Vector3,UnityEngine.Quaternion,UnityEngine.Vector3,UnityEngine.Quaternion
-0.020000,(0.068936| -0.272771| 0.317765),(0.040222| -0.936280| -0.333830| -0.101585),(0.035760| -0.266596| 0.333188),(-0.126612| -0.327247| -0.370695| -0.859921),(0.021879| -0.260664| 0.346932),(-0.229612| -0.301433| -0.549529| -0.744604),(0.000991| -0.250742| 0.372054),(-0.312031| -0.362693| -0.509507| -0.715188),(-0.006950| -0.244973| 0.390519),(-0.448612| -0.459984| -0.421810| -0.639718),(0.033664| -0.228902| 0.346042),(0.128234| -0.902902| -0.392292| -0.120130),(0.015900| -0.196813| 0.380635),(0.165706| -0.882357| -0.420939| -0.129608),(0.005378| -0.186794| 0.401896),(0.195638| -0.694734| -0.688997| -0.065987),(0.000333| -0.188836| 0.415750),(-0.202327| 0.574807| 0.792229| 0.032159),(0.048419| -0.226380| 0.349606),(0.031578| -0.898009| -0.404434| -0.170341),(0.037770| -0.192659| 0.386210),(0.048356| -0.890715| -0.416266| -0.176097),(0.029160| -0.181457| 0.411038),(-0.112456| 0.645611| 0.742273| 0.139897),(0.023269| -0.186368| 0.426081),(-0.142356| 0.440827| 0.879878| 0.105931),(0.063066| -0.229045| 0.352974),(-0.052437| -0.896264| -0.404933| -0.173176),(0.059727| -0.199191| 0.388112),(-0.027604| -0.878829| -0.439755| -0.183064),(0.054010| -0.190021| 0.412713),(-0.047116| 0.619629| 0.763311| 0.176623),(0.048258| -0.195150| 0.427517),(-0.082360| 0.443847| 0.877620| 0.161243),(0.076244| -0.236286| 0.357296),(-0.146670| -0.889730| -0.373574| -0.217512),(0.081357| -0.209350| 0.386942),(-0.185868| -0.884703| -0.377571| -0.200483),(0.081889| -0.200308| 0.405239),(0.087839| 0.647693| 0.711230| 0.258710),(0.077529| -0.202833| 0.417146),(0.024470| 0.460024| 0.845031| 0.271480)
-0.040000,(-0.000023| 0.000197| -0.000042),(0.001137| -0.000589| -0.000003| 0.999999),(-0.033196| 0.006158| 0.015377),(0.285749| -0.713832| -0.382407| 0.512403),(-0.047057| 0.012086| 0.029144),(0.466705| -0.566768| -0.421483| 0.532271),(-0.067920| 0.021996| 0.054296),(0.416195| -0.507183| -0.494969| 0.569695),(-0.075873| 0.027751| 0.072767),(0.313143| -0.385108| -0.609708| 0.617972),(-0.035301| 0.043830| 0.028314),(0.057602| -0.047981| 0.083470| 0.993686),(-0.053102| 0.075815| 0.062984),(0.088780| -0.070120| 0.119173| 0.986407),(-0.063642| 0.085759| 0.084282),(0.395834| -0.029187| 0.203375| 0.895043),(-0.068699| 0.083688| 0.098128),(-0.530127| 0.007942| -0.236361| -0.814270),(-0.020550| 0.046342| 0.031901),(0.082569| -0.062492| -0.022363| 0.994373),(-0.031241| 0.079973| 0.068575),(0.094766| -0.073715| -0.007121| 0.992741),(-0.039878| 0.091167| 0.093430),(-0.471603| 0.073362| -0.107746| -0.872124),(-0.045794| 0.086319| 0.108492),(-0.663015| 0.067109| -0.169086| -0.726166),(-0.005907| 0.043672| 0.035281),(0.092361| -0.037075| -0.101781| 0.989816),(-0.009270| 0.073462| 0.070472),(0.128006| -0.054776| -0.077971| 0.987185),(-0.014983| 0.082664| 0.095093),(-0.507449| 0.087247| -0.037037| -0.856453),(-0.020739| 0.077623| 0.109932),(-0.668006| 0.098052| -0.093568| -0.731709),(0.007266| 0.036420| 0.039603),(0.076663| -0.048810| -0.207779| 0.973945),(0.012372| 0.063300| 0.069299),(0.084483| -0.019467| -0.238772| 0.967198),(0.012948| 0.072369| 0.087609),(-0.465808| 0.117133| 0.123990| -0.868291),(0.008638| 0.069937| 0.099564),(-0.645844| 0.163703| 0.048968| -0.744103)
-0.060000,(-0.000093| 0.000435| -0.000123),(0.002247| -0.000756| 0.000572| 0.999997),(-0.033227| 0.006088| 0.015320),(0.287083| -0.711806| -0.385145| 0.512425),(-0.047041| 0.012002| 0.029142),(0.465914| -0.564380| -0.425033| 0.532678),(-0.067872| 0.021881| 0.054347),(0.416308| -0.505696| -0.496973| 0.569189),(-0.075909| 0.027618| 0.072808),(0.315538| -0.386077| -0.609350| 0.616500),(-0.035375| 0.043713| 0.028418),(0.057463| -0.048269| 0.083317| 0.993693),(-0.053280| 0.075520| 0.063195),(0.088644| -0.070909| 0.119393| 0.986336),(-0.063899| 0.085400| 0.084508),(0.393136| -0.030285| 0.203808| 0.896097),(-0.069012| 0.083355| 0.098341),(-0.525893| 0.009270| -0.236856| -0.816854),(-0.020633| 0.046226| 0.032037),(0.082603| -0.062284| -0.022542| 0.994379),(-0.031400| 0.079734| 0.068800),(0.093178| -0.073588| -0.007716| 0.992896),(-0.040074| 0.090951| 0.093660),(-0.468034| 0.073445| -0.107207| -0.874104),(-0.046023| 0.086191| 0.108747),(-0.657822| 0.067432| -0.168349| -0.731014),(-0.005992| 0.043559| 0.035428),(0.092486| -0.036505| -0.101832| 0.989820),(-0.009400| 0.073226| 0.070722),(0.126918| -0.053664| -0.078862| 0.987316),(-0.015101| 0.082413| 0.095371),(-0.505121| 0.086434| -0.035999| -0.857955),(-0.020854| 0.077402| 0.110224),(-0.665295| 0.097486| -0.092487| -0.734388),(0.007180| 0.036301| 0.039739),(0.076961| -0.047788| -0.207903| 0.973945),(0.012310| 0.063072| 0.069523),(0.082926| -0.016176| -0.241053| 0.966827),(0.012999| 0.072123| 0.087851),(0.463305| -0.114457| -0.127374| 0.869496),(0.008761| 0.069748| 0.099857),(-0.640668| 0.160949| 0.053989| -0.748816)
-0.080000,(-0.000026| 0.000153| -0.000044),(0.000550| -0.000368| 0.000597| 1.000000),(-0.033246| 0.006058| 0.015273),(0.288267| -0.711016| -0.385756| 0.512397),(-0.047001| 0.011969| 0.029156),(0.465378| -0.562720| -0.427326| 0.533069),(-0.067754| 0.021842| 0.054436),(0.416181| -0.504594| -0.498402| 0.569012),(-0.075792| 0.027575| 0.072909),(0.316426| -0.386346| -0.609530| 0.615699),(-0.035437| 0.043671| 0.028415),(0.057529| -0.048314| 0.083315| 0.993688),(-0.053423| 0.075443| 0.063183),(0.087443| -0.071478| 0.119490| 0.986391),(-0.064108| 0.085384| 0.084459),(0.389630| -0.030835| 0.203818| 0.897606),(-0.069273| 0.083438| 0.098290),(-0.521360| 0.009856| -0.236879| -0.819741),(-0.020701| 0.046199| 0.032048),(0.082766| -0.062175| -0.022541| 0.994372),(-0.031528| 0.079704| 0.068796),(0.091462| -0.073622| -0.008059| 0.993051),(-0.040228| 0.091049| 0.093626),(-0.463913| 0.073222| -0.106491| -0.876404),(-0.046200| 0.086443| 0.108758),(-0.652819| 0.067167| -0.167491| -0.735706),(-0.006060| 0.043546| 0.035447),(0.092676| -0.036290| -0.101793| 0.989814),(-0.009520| 0.073189| 0.070760),(0.126327| -0.053320| -0.079056| 0.987395),(-0.015231| 0.082418| 0.095413),(-0.503094| 0.085733| -0.035571| -0.859233),(-0.020982| 0.077470| 0.110290),(-0.663139| 0.096707| -0.092058| -0.736492),(0.007116| 0.036299| 0.039761),(0.077244| -0.047468| -0.207890| 0.973942),(0.012213| 0.063045| 0.069573),(0.082682| -0.015335| -0.241513| 0.966747),(0.012919| 0.072104| 0.087908),(0.462122| -0.113223| -0.128199| 0.870166),(0.008703| 0.069757| 0.099931),(-0.639062| 0.159594| 0.055095| -0.750396)
-0.100000,(-0.000011| 0.000160| -0.000008),(-0.000051| -0.000822| -0.000002| 1.000000),(-0.033273| 0.006061| 0.015213),(0.288920| -0.711045| -0.385214| 0.512396),(-0.046983| 0.012026| 0.029119),(0.464279| -0.562707| -0.428114| 0.533408),(-0.067683| 0.021986| 0.054416),(0.415643| -0.505173| -0.498532| 0.568778),(-0.075739| 0.027772| 0.072875),(0.317067| -0.388163| -0.608898| 0.614851),(-0.035474| 0.043680| 0.028349),(0.057412| -0.048308| 0.083430| 0.993685),(-0.053519| 0.075517| 0.063031),(0.084930| -0.071851| 0.119215| 0.986616),(-0.064262| 0.085622| 0.084224),(0.384656| -0.031576| 0.203575| 0.899778),(-0.069494| 0.083844| 0.098053),(-0.515477| 0.010794| -0.236757| -0.823476),(-0.020745| 0.046211| 0.032004),(0.082823| -0.062177| -0.022383| 0.994371),(-0.031612| 0.079820| 0.068644),(0.088104| -0.073836| -0.008543| 0.993334),(-0.040336| 0.091432| 0.093386),(-0.457574| 0.073500| -0.105829| -0.879787),(-0.046357| 0.087083| 0.108580),(-0.645813| 0.067566| -0.166921| -0.741956),(-0.006109| 0.043560| 0.035430),(0.092863| -0.036299| -0.101622| 0.989814),(-0.009623| 0.073261| 0.070690),(0.124491| -0.053511| -0.078936| 0.987627),(-0.015365| 0.082648| 0.095305),(-0.499219| 0.085679| -0.035771| -0.861487),(-0.021136| 0.077849| 0.110224),(-0.659245| 0.096621| -0.092459| -0.739940),(0.007060| 0.036314| 0.039767),(0.077605| -0.047486| -0.207743| 0.973943),(0.012095| 0.063069| 0.069582),(0.082937| -0.015688| -0.241019| 0.966843),(0.012758| 0.072150| 0.087916),(0.461538| -0.113245| -0.127172| 0.870624),(0.008524| 0.069826| 0.099937),(-0.638376| 0.159518| 0.053789| -0.751091)
-0.120000,(-0.000008| 0.000173| 0.000000),(-0.000214| -0.000996| -0.000127| 1.000000),(-0.033310| 0.006075| 0.015146),(0.289481| -0.711198| -0.384385| 0.512490),(-0.046980| 0.012102| 0.029066),(0.463198| -0.562982| -0.428455| 0.533784),(-0.067637| 0.022164| 0.054366),(0.415123| -0.506001| -0.498312| 0.568613),(-0.075711| 0.028010| 0.072807),(0.317684| -0.390106| -0.608091| 0.614101),(-0.035515| 0.043703| 0.028264),(0.057274| -0.048154| 0.083573| 0.993688),(-0.053610| 0.075623| 0.062847),(0.082291| -0.072021| 0.118886| 0.986868),(-0.064405| 0.085906| 0.083953),(0.379652| -0.032173| 0.203328| 0.901935),(-0.069703| 0.084301| 0.097781),(-0.509636| 0.011616| -0.236656| -0.827122),(-0.020791| 0.046235| 0.031942),(0.082879| -0.062072| -0.022187| 0.994377),(-0.031692| 0.079964| 0.068461),(0.084631| -0.073942| -0.009014| 0.993624),(-0.040440| 0.091858| 0.093107),(-0.451129| 0.073731| -0.105263| -0.883157),(-0.046510| 0.087774| 0.108362),(-0.638755| 0.067953| -0.166507| -0.748097),(-0.006162| 0.043582| 0.035395),(0.093072| -0.036228| -0.101417| 0.989818),(-0.009728| 0.073358| 0.070590),(0.122542| -0.053681| -0.078732| 0.987878),(-0.015502| 0.082917| 0.095162),(-0.495192| 0.085641| -0.036159| -0.863796),(-0.021298| 0.078277| 0.110123),(-0.655206| 0.096571| -0.093097| -0.743447),(0.006999| 0.036336| 0.039759),(0.078008| -0.047456| -0.207562| 0.973951),(0.011968| 0.063108| 0.069572),(0.083347| -0.016178| -0.240317| 0.966974),(0.012577| 0.072213| 0.087902),(0.461152| -0.113429| -0.125725| 0.871015),(0.008317| 0.069910| 0.099918),(-0.637973| 0.159629| 0.051922| -0.751541)
-0.140000,(0.000001| 0.000179| -0.000004),(-0.001135| -0.001790| -0.001319| 0.999997),(-0.033349| 0.006184| 0.015020),(0.289024| -0.712859| -0.381704| 0.512445),(-0.046974| 0.012317| 0.028938),(0.461522| -0.564710| -0.427504| 0.534173),(-0.067553| 0.022551| 0.054233),(0.413717| -0.507653| -0.497607| 0.568783),(-0.075575| 0.028485| 0.072669),(0.316646| -0.391396| -0.607985| 0.613921),(-0.035495| 0.043850| 0.028046),(0.056849| -0.048188| 0.083914| 0.993682),(-0.053609| 0.076031| 0.062386),(0.077002| -0.072232| 0.117848| 0.987403),(-0.064430| 0.086552| 0.083326),(0.377648| -0.032700| 0.204332| 0.902531),(-0.069778| 0.085009| 0.097136),(-0.509678| 0.012136| -0.238618| -0.826524),(-0.020778| 0.046358| 0.031769),(0.082803| -0.062411| -0.021720| 0.994373),(-0.031670| 0.080347| 0.068049),(0.079566| -0.074093| -0.009984| 0.994022),(-0.040418| 0.092551| 0.092522),(-0.447505| 0.074731| -0.106154| -0.884809),(-0.046557| 0.088622| 0.107783),(-0.636396| 0.069334| -0.168522| -0.749529),(-0.006168| 0.043675| 0.035284),(0.093353| -0.036774| -0.100970| 0.989817),(-0.009782| 0.073599| 0.070351),(0.120634| -0.054435| -0.078262| 0.988109),(-0.015618| 0.083342| 0.094840),(-0.492661| 0.086971| -0.038080| -0.865027),(-0.021484| 0.078820| 0.109806),(-0.653358| 0.098170| -0.095942| -0.744501),(0.006957| 0.036403| 0.039716),(0.078647| -0.048202| -0.207144| 0.973952),(0.011878| 0.063262| 0.069460),(0.082771| -0.017377| -0.239628| 0.967174),(0.012434| 0.072458| 0.087744),(0.460242| -0.115115| -0.123229| 0.871631),(0.008108| 0.070190| 0.099731),(-0.639491| 0.162140| 0.047355| -0.750013)
-0.160000,(-0.000090| 0.000582| -0.000218),(-0.004340| -0.002966| -0.003943| 0.999979),(-0.033427| 0.006493| 0.014806),(0.285951| -0.718084| -0.373935| 0.512601),(-0.046984| 0.012963| 0.028638),(0.456380| -0.572589| -0.421902| 0.534657),(-0.067456| 0.023752| 0.053788),(0.409411| -0.515773| -0.492730| 0.568839),(-0.075415| 0.029997| 0.072143),(0.313515| -0.399181| -0.605046| 0.613419),(-0.035352| 0.044270| 0.027525),(0.056349| -0.047720| 0.084947| 0.993646),(-0.053311| 0.077330| 0.061118),(0.059172| -0.072185| 0.113495| 0.989145),(-0.064087| 0.088870| 0.081496),(0.363285| -0.034640| 0.202775| 0.908684),(-0.069577| 0.087906| 0.095287),(-0.498105| 0.014818| -0.238547| -0.833527),(-0.020637| 0.046717| 0.031293),(0.082797| -0.063020| -0.020414| 0.994362),(-0.031203| 0.081869| 0.066514),(0.051911| -0.074506| -0.015858| 0.995742),(-0.039722| 0.095592| 0.090130),(0.428919| -0.077576| 0.105702| 0.893777),(-0.046001| 0.092414| 0.105465),(-0.626289| 0.073089| -0.172051| -0.756848),(-0.006067| 0.043962| 0.034913),(0.093992| -0.038127| -0.099814| 0.989823),(-0.009522| 0.074645| 0.069353),(0.104754| -0.055524| -0.079559| 0.989755),(-0.015290| 0.085276| 0.093383),(-0.484158| 0.090303| -0.041867| -0.869301),(-0.021280| 0.081128| 0.108376),(-0.650681| 0.102407| -0.103031| -0.745327),(0.006972| 0.036618| 0.039494),(0.079801| -0.050333| -0.205977| 0.973998),(0.012003| 0.063902| 0.068824),(0.072975| -0.019496| -0.239492| 0.967956),(0.012606| 0.073540| 0.086810),(0.455899| -0.119687| -0.118212| 0.873989),(0.008200| 0.071507| 0.098803),(-0.635895| 0.167121| 0.040395| -0.752381)
-0.180000,(-0.000118| 0.000305| -0.000229),(-0.004832| -0.005108| -0.007701| 0.999946),(-0.033523| 0.006979| 0.014537),(0.278580| -0.726014| -0.363970| 0.512662),(-0.047022| 0.013853| 0.028230),(0.449384| -0.583339| -0.413915| 0.535205),(-0.067422| 0.025300| 0.053151),(0.404168| -0.526785| -0.485290| 0.568894),(-0.075374| 0.031895| 0.071387),(0.311030| -0.409676| -0.599690| 0.613024),(-0.034987| 0.044913| 0.026867),(0.054638| -0.047722| 0.086036| 0.993647),(-0.052837| 0.078670| 0.059815),(0.052275| -0.073963| 0.115493| 0.989170),(-0.063728| 0.090577| 0.079831),(0.363623| -0.038750| 0.210481| 0.906628),(-0.069395| 0.089670| 0.093550),(-0.499998| 0.020027| -0.248002| -0.829516),(-0.020275| 0.047180| 0.030759),(0.081913| -0.064463| -0.018894| 0.994373),(-0.030543| 0.083258| 0.065078),(0.035145| -0.076252| -0.017623| 0.996313),(-0.039014| 0.097801| 0.088011),(0.424423| -0.083787| 0.112996| 0.894470),(-0.045534| 0.094855| 0.103270),(-0.625967| 0.081109| -0.183219| -0.753669),(-0.005786| 0.044241| 0.034551),(0.094294| -0.040527| -0.098413| 0.989839),(-0.009114| 0.075402| 0.068574),(0.101389| -0.058249| -0.077947| 0.990077),(-0.015007| 0.086240| 0.092324),(-0.489700| 0.098249| -0.051643| -0.864797),(-0.021266| 0.081943| 0.107136),(-0.660617| 0.112299| -0.117069| -0.732987),(0.007084| 0.036735| 0.039345),(0.080994| -0.053560| -0.204594| 0.974019),(0.012420| 0.064343| 0.068301),(0.067285| -0.019574| -0.242406| 0.967641),(0.013181| 0.074231| 0.086046),(0.456966| -0.127684| -0.114081| 0.872848),(0.008620| 0.072305| 0.097988),(-0.637896| 0.178172| 0.032725| -0.748513)
-0.200000,(-0.000190| 0.000680| -0.000565),(-0.007447| -0.000990| -0.005966| 0.999954),(-0.033563| 0.007415| 0.014492),(0.270414| -0.734860| -0.352534| 0.512423),(-0.047061| 0.014725| 0.027958),(0.442647| -0.597116| -0.402158| 0.534589),(-0.067457| 0.026908| 0.052527),(0.398140| -0.540837| -0.475192| 0.568483),(-0.075373| 0.033936| 0.070605),(0.305391| -0.422432| -0.593669| 0.613062),(-0.034562| 0.045549| 0.026253),(0.053758| -0.047327| 0.086612| 0.993664),(-0.052212| 0.080140| 0.058417),(0.043967| -0.077164| 0.118778| 0.988941),(-0.063243| 0.092683| 0.077950),(0.356614| -0.042962| 0.215905| 0.907946),(-0.069094| 0.092161| 0.091612),(-0.494392| 0.024485| -0.254349| -0.830833),(-0.019836| 0.047706| 0.030142),(0.081050| -0.065973| -0.017992| 0.994362),(-0.029762| 0.084647| 0.063604),(0.025121| -0.079229| -0.016460| 0.996404),(-0.038200| 0.099830| 0.085991),(0.423058| -0.088671| 0.119408| 0.893813),(-0.044864| 0.097088| 0.101213),(-0.628181| 0.086382| -0.191757| -0.749104),(-0.005393| 0.044644| 0.034014),(0.093892| -0.043385| -0.097831| 0.989814),(-0.008430| 0.076541| 0.067382),(0.093864| -0.062117| -0.076602| 0.990688),(-0.014339| 0.087807| 0.090735),(-0.494595| 0.105090| -0.059789| -0.860673),(-0.020770| 0.083457| 0.105435),(-0.669801| 0.119705| -0.128182| -0.721531),(0.007367| 0.037045| 0.038962),(0.080662| -0.057844| -0.203831| 0.973962),(0.013051| 0.065220| 0.067291),(0.056697| -0.023960| -0.242715| 0.968143),(0.013888| 0.075504| 0.084651),(0.459440| -0.137521| -0.106564| 0.871004),(0.009118| 0.073569| 0.096464),(-0.649652| 0.190814| 0.018188| -0.735671)
-0.220000,(-0.000018| 0.000953| -0.000766),(-0.012921| -0.005036| -0.011957| 0.999833),(-0.033630| 0.008307| 0.014166),(0.256189| -0.749897| -0.330729| 0.512485),(-0.047202| 0.016198| 0.027230),(0.435078| -0.617763| -0.379266| 0.534073),(-0.067576| 0.029345| 0.051290),(0.389536| -0.558133| -0.459520| 0.570606),(-0.075159| 0.036874| 0.069258),(0.293813| -0.431133| -0.588984| 0.617168),(-0.033782| 0.046774| 0.024948),(0.051854| -0.046260| 0.088438| 0.993655),(-0.051188| 0.082565| 0.055900),(0.038435| -0.080660| 0.127524| 0.987803),(-0.062516| 0.095837| 0.074808),(0.349915| -0.049042| 0.228523| 0.907156),(-0.068694| 0.095795| 0.088352),(-0.488185| 0.031515| -0.268585| -0.829786),(-0.019050| 0.048692| 0.028930),(0.079705| -0.068247| -0.015367| 0.994361),(-0.028525| 0.086745| 0.061285),(0.022134| -0.082127| -0.011917| 0.996305),(-0.036992| 0.102569| 0.083134),(0.424820| -0.096410| 0.131265| 0.890507),(-0.043933| 0.100141| 0.098311),(-0.627872| 0.096154| -0.205319| -0.744564),(-0.004723| 0.045390| 0.033026),(0.093857| -0.048043| -0.095621| 0.989818),(-0.007358| 0.078136| 0.065617),(0.096069| -0.066542| -0.073187| 0.990448),(-0.013308| 0.089822| 0.088664),(-0.500775| 0.116068| -0.070883| -0.854827),(-0.020028| 0.085598| 0.103273),(-0.676091| 0.132964| -0.142278| -0.710618),(0.007803| 0.037621| 0.038298),(0.081310| -0.064923| -0.201349| 0.973978),(0.014104| 0.066449| 0.065815),(0.051878| -0.027278| -0.246333| 0.967411),(0.015274| 0.077221| 0.082796),(0.457644| -0.150195| -0.102166| 0.870383),(0.010378| 0.075664| 0.094611),(-0.648350| 0.207234| 0.009289| -0.732536)
-0.240000,(0.000009| 0.000405| -0.000325),(-0.005654| -0.002330| -0.005275| 0.999968),(-0.033603| 0.008734| 0.013943),(0.250834| -0.755494| -0.321411| 0.512841),(-0.047206| 0.016827| 0.026861),(0.432493| -0.625494| -0.369510| 0.534013),(-0.067571| 0.030308| 0.050740),(0.386632| -0.564511| -0.452680| 0.571773),(-0.075019| 0.038006| 0.068676),(0.289898| -0.434091| -0.586494| 0.619313),(-0.033445| 0.047321| 0.024369),(0.052014| -0.045435| 0.090048| 0.993540),(-0.050766| 0.083536| 0.054888),(0.037665| -0.081326| 0.131820| 0.987214),(-0.062205| 0.097055| 0.073580),(0.348391| -0.050848| 0.234227| 0.906187),(-0.068503| 0.097178| 0.087080),(-0.486651| 0.033787| -0.274843| -0.828547),(-0.018711| 0.049151| 0.028389),(0.080088| -0.068760| -0.013404| 0.994323),(-0.028030| 0.087587| 0.060363),(0.022720| -0.082723| -0.009150| 0.996272),(-0.036512| 0.103616| 0.082039),(0.426355| -0.099059| 0.136655| 0.888670),(-0.043555| 0.101298| 0.097201),(-0.628035| 0.099731| -0.211161| -0.742319),(-0.004427| 0.045760| 0.032570),(0.094767| -0.049526| -0.093805| 0.989832),(-0.006921| 0.078794| 0.064897),(0.098526| -0.067850| -0.070909| 0.990283),(-0.012885| 0.090616| 0.087851),(-0.503497| 0.120053| -0.075818| -0.852250),(-0.019710| 0.086450| 0.102434),(-0.678266| 0.137959| -0.148134| -0.706385),(0.008012| 0.037930| 0.037962),(0.082488| -0.067383| -0.199420| 0.974108),(0.014537| 0.066980| 0.065198),(0.051772| -0.028236| -0.246901| 0.967245),(0.015838| 0.077920| 0.082055),(0.457341| -0.154730| -0.099882| 0.870012),(0.010909| 0.076519| 0.093881),(-0.647253| 0.213168| 0.005722| -0.731840)
-0.260000,(0.000054| 0.001020| -0.001377),(-0.011118| -0.003282| -0.008099| 0.999900),(-0.033719| 0.009428| 0.013640),(0.239716| -0.766994| -0.302622| 0.512521),(-0.047392| 0.018033| 0.026152),(0.425835| -0.642392| -0.348916| 0.533156),(-0.067706| 0.032373| 0.049533),(0.378363| -0.578033| -0.440055| 0.573647),(-0.074787| 0.040514| 0.067368),(0.278126| -0.439476| -0.584811| 0.622498),(-0.032877| 0.048281| 0.023157),(0.049908| -0.044568| 0.090686| 0.993629),(-0.049977| 0.085297| 0.052817),(0.041199| -0.081972| 0.139318| 0.985989),(-0.061592| 0.099280| 0.071203),(0.341863| -0.053537| 0.240429| 0.906894),(-0.068096| 0.099920| 0.084615),(-0.477632| 0.037340| -0.281138| -0.831526),(-0.018143| 0.049943| 0.027253),(0.078274| -0.070738| -0.012003| 0.994347),(-0.027234| 0.088975| 0.058628),(0.033649| -0.085254| -0.002740| 0.995787),(-0.035848| 0.105150| 0.080255),(0.430429| -0.103804| 0.144222| 0.884961),(-0.043067| 0.103087| 0.095418),(-0.625732| 0.105595| -0.217941| -0.741492),(-0.003950| 0.046404| 0.031625),(0.093821| -0.053608| -0.092714| 0.989812),(-0.006280| 0.079991| 0.063389),(0.107055| -0.073737| -0.065392| 0.989356),(-0.012455| 0.091984| 0.086225),(-0.508620| 0.128345| -0.085489| -0.847069),(-0.019518| 0.087943| 0.100745),(-0.681242| 0.146855| -0.159269| -0.699268),(0.008327| 0.038500| 0.037277),(0.081960| -0.073676| -0.197965| 0.973994),(0.014854| 0.068042| 0.064029),(0.059135| -0.041752| -0.238345| 0.968479),(0.015766| 0.079240| 0.080765),(0.459752| -0.168319| -0.083380| 0.867955),(0.010545| 0.078048| 0.092499),(-0.646934| 0.225591| -0.013833| -0.728282)
-0.280000,(-0.000007| 0.002383| -0.003487),(-0.018873| -0.005842| -0.014273| 0.999703),(-0.033521| 0.010694| 0.013075),(0.222083| -0.783714| -0.271180| 0.512770),(-0.047210| 0.020017| 0.025064),(0.415028| -0.665927| -0.317154| 0.532641),(-0.067383| 0.035564| 0.047767),(0.367117| -0.598863| -0.417639| 0.576338),(-0.074053| 0.044352| 0.065411),(0.266052| -0.453549| -0.575110| 0.626704),(-0.031659| 0.049881| 0.021215),(0.048802| -0.042215| 0.093685| 0.993509),(-0.048406| 0.087866| 0.049826),(0.057497| -0.080412| 0.154335| 0.983061),(-0.060248| 0.102282| 0.068023),(0.337186| -0.055845| 0.250446| 0.905795),(-0.066993| 0.103639| 0.081311),(-0.467021| 0.041445| -0.290297| -0.834207),(-0.016929| 0.051280| 0.025432),(0.077538| -0.072910| -0.007639| 0.994290),(-0.025777| 0.090873| 0.056263),(0.064188| -0.088454| 0.012122| 0.993936),(-0.034651| 0.107151| 0.078187),(0.431781| -0.110090| 0.153116| 0.882043),(-0.042093| 0.105942| 0.093468),(-0.606244| 0.114243| -0.221003| -0.755364),(-0.002879| 0.047523| 0.030096),(0.094425| -0.059193| -0.088734| 0.989801),(-0.004916| 0.081805| 0.061118),(0.126003| -0.081237| -0.055273| 0.987152),(-0.011262| 0.094295| 0.083955),(-0.505297| 0.138606| -0.094614| -0.846470),(-0.018561| 0.091114| 0.098653),(-0.666628| 0.158357| -0.166273| -0.709143),(0.009140| 0.039516| 0.036143),(0.083131| -0.082786| -0.193331| 0.974094),(0.015915| 0.069689| 0.062172),(0.072917| -0.056490| -0.229209| 0.968997),(0.016676| 0.081351| 0.078775),(0.455303| -0.183350| -0.069008| 0.868516),(0.011342| 0.080892| 0.090584),(-0.629066| 0.238486| -0.025911| -0.739411)
-0.300000,(-0.000206| 0.001584| -0.002071),(-0.013876| -0.006510| -0.012251| 0.999807),(-0.033490| 0.011662| 0.012592),(0.205374| -0.796478| -0.246108| 0.512714),(-0.047128| 0.021601| 0.024143),(0.403641| -0.683853| -0.292681| 0.532688),(-0.067165| 0.038181| 0.046215),(0.357310| -0.616445| -0.398356| 0.577614),(-0.073672| 0.047534| 0.063617),(0.259671| -0.469794| -0.563203| 0.628226),(-0.030683| 0.051037| 0.019612),(0.045802| -0.040823| 0.095022| 0.993583),(-0.046999| 0.089869| 0.047289),(0.068413| -0.078161| 0.163219| 0.981107),(-0.058886| 0.104490| 0.065381),(0.342573| -0.056984| 0.259645| 0.901100),(-0.065749| 0.106040| 0.078605),(0.471656| -0.044120| 0.300167| 0.827946),(-0.015975| 0.052180| 0.023996),(0.075049| -0.075109| -0.004995| 0.994335),(-0.024648| 0.092131| 0.054407),(0.090505| -0.092249| 0.024825| 0.991304),(-0.033875| 0.108048| 0.076630),(0.444014| -0.117476| 0.166245| 0.872590),(-0.041574| 0.106905| 0.091845),(-0.606612| 0.123436| -0.232090| -0.750280),(-0.002086| 0.048208| 0.028962),(0.093314| -0.064142| -0.086209| 0.989821),(-0.003958| 0.082855| 0.059517),(0.146642| -0.088868| -0.045793| 0.984125),(-0.010622| 0.095339| 0.082450),(-0.509812| 0.149708| -0.105800| -0.840527),(-0.018215| 0.092515| 0.097124),(-0.660746| 0.170606| -0.176164| -0.709418),(0.009659| 0.040092| 0.035388),(0.082779| -0.090433| -0.190232| 0.974054),(0.016599| 0.070661| 0.060936),(0.087655| -0.069468| -0.221306| 0.968770),(0.017120| 0.082531| 0.077518),(0.455200| -0.197828| -0.055165| 0.866380),(0.011594| 0.082538| 0.089296),(-0.617468| 0.251662| -0.038538| -0.744255)
-0.320000,(-0.000153| 0.001509| -0.002261),(-0.008138| -0.004510| -0.007324| 0.999930),(-0.033559| 0.012174| 0.012291),(0.195034| -0.803724| -0.230960| 0.512491),(-0.047091| 0.022529| 0.023598),(0.394959| -0.694148| -0.279476| 0.532973),(-0.066946| 0.039800| 0.045299),(0.350085| -0.627171| -0.387389| 0.577950),(-0.073344| 0.049530| 0.062535),(0.255473| -0.480920| -0.555801| 0.628119),(-0.030148| 0.051636| 0.018642),(0.043596| -0.040162| 0.095536| 0.993660),(-0.046197| 0.091012| 0.045663),(0.072430| -0.077209| 0.167930| 0.980098),(-0.058130| 0.105973| 0.063561),(0.337380| -0.058551| 0.263139| 0.901945),(-0.065110| 0.107905| 0.076679),(0.466300| -0.046681| 0.304603| 0.829218),(-0.015466| 0.052627| 0.023156),(0.073229| -0.076589| -0.003608| 0.994364),(-0.024009| 0.092800| 0.053265),(0.105129| -0.094448| 0.031582| 0.989460),(-0.033392| 0.108788| 0.075624),(0.441670| -0.121590| 0.170088| 0.872476),(-0.041227| 0.108091| 0.090829),(-0.597801| 0.128981| -0.235089| -0.755468),(-0.001690| 0.048526| 0.028329),(0.092407| -0.067285| -0.084817| 0.989818),(-0.003461| 0.083414| 0.058554),(0.157398| -0.093575| -0.040437| 0.982260),(-0.010268| 0.096150| 0.081526),(-0.504218| 0.155402| -0.109488| -0.842393),(-0.017990| 0.093900| 0.096265),(-0.648488| 0.177033| -0.178680| -0.718468),(0.009871| 0.040349| 0.035001),(0.082435| -0.095179| -0.188465| 0.973975),(0.016802| 0.071120| 0.060317),(0.098963| -0.079135| -0.214174| 0.968542),(0.017050| 0.083087| 0.076929),(0.455018| -0.206910| -0.044838| 0.864949),(0.011387| 0.083393| 0.088672),(-0.608229| 0.258927| -0.046841| -0.748880)
-0.340000,(-0.000032| 0.001297| -0.001881),(-0.009324| -0.005812| -0.006121| 0.999921),(-0.033652| 0.012654| 0.011810),(0.187546| -0.810313| -0.213630| 0.512428),(-0.047044| 0.023374| 0.022947),(0.388562| -0.701863| -0.267130| 0.533901),(-0.066625| 0.041245| 0.044404),(0.344649| -0.634858| -0.377988| 0.579049),(-0.072803| 0.051283| 0.061539),(0.252139| -0.488350| -0.550427| 0.628468),(-0.029769| 0.052216| 0.017450),(0.041829| -0.038956| 0.096620| 0.993679),(-0.045635| 0.092127| 0.043763),(0.077492| -0.074023| 0.170990| 0.979428),(-0.057558| 0.107272| 0.061529),(0.340819| -0.057105| 0.267929| 0.899331),(-0.064605| 0.109317| 0.074598),(0.469924| -0.046098| 0.310522| 0.824998),(-0.015130| 0.053110| 0.022128),(0.072150| -0.077609| -0.001467| 0.994369),(-0.023652| 0.093516| 0.051869),(0.120297| -0.095084| 0.037547| 0.987460),(-0.033211| 0.109398| 0.074350),(0.446770| -0.124016| 0.176592| 0.868235),(-0.041195| 0.108826| 0.089502),(-0.598012| 0.132516| -0.241834| -0.752554),(-0.001468| 0.048936| 0.027542),(0.092382| -0.070075| -0.082603| 0.989814),(-0.003391| 0.083948| 0.057505),(0.174141| -0.098439| -0.032419| 0.979252),(-0.010547| 0.096617| 0.080578),(0.505911| -0.160211| 0.117368| 0.839412),(-0.018461| 0.094664| 0.095294),(-0.642149| 0.181805| -0.185275| -0.721294),(0.009917| 0.040750| 0.034494),(0.083265| -0.099794| -0.185819| 0.973950),(0.016605| 0.071688| 0.059655),(0.116571| -0.089816| -0.204470| 0.967748),(0.016393| 0.083628| 0.076382),(0.459425| -0.215366| -0.031527| 0.861134),(0.010540| 0.084156| 0.088065),(-0.600871| 0.264261| -0.056870| -0.752254)
-0.360000,(-0.000003| 0.001245| -0.001798),(-0.009415| -0.006077| -0.005681| 0.999921),(-0.033718| 0.013141| 0.011216),(0.181751| -0.815569| -0.196756| 0.512934),(-0.046977| 0.024165| 0.022226),(0.383734| -0.707898| -0.255320| 0.535202),(-0.066296| 0.042532| 0.043505),(0.340755| -0.640878| -0.368911| 0.580574),(-0.072259| 0.052819| 0.060566),(0.250182| -0.494192| -0.545068| 0.629352),(-0.029460| 0.052791| 0.016233),(0.041389| -0.036971| 0.098424| 0.993596),(-0.045188| 0.093161| 0.041921),(0.082917| -0.069918| 0.174006| 0.978753),(-0.057087| 0.108434| 0.059583),(0.346333| -0.054482| 0.273258| 0.895776),(-0.064181| 0.110520| 0.072620),(0.475579| -0.044295| 0.316926| 0.819402),(-0.014862| 0.053614| 0.021062),(0.072403| -0.077683| 0.001393| 0.994345),(-0.023392| 0.094223| 0.050469),(0.134394| -0.094628| 0.043447| 0.985442),(-0.033105| 0.109981| 0.073049),(0.453301| -0.125209| 0.183838| 0.863160),(-0.041222| 0.109450| 0.088146),(-0.600597| 0.134700| -0.249602| -0.747555),(-0.001300| 0.049390| 0.026695),(0.093631| -0.071813| -0.079628| 0.989816),(-0.003415| 0.084482| 0.056447),(0.190875| -0.102171| -0.023756| 0.975994),(-0.010921| 0.097021| 0.079623),(0.509467| -0.163706| 0.126271| 0.835284),(-0.019016| 0.095270| 0.094299),(-0.638297| 0.185104| -0.193022| -0.721842),(0.009936| 0.041210| 0.033896),(0.085349| -0.103278| -0.182411| 0.974051),(0.016352| 0.072281| 0.058945),(0.134365| -0.098955| -0.194211| 0.966662),(0.015693| 0.084165| 0.075796),(0.464964| -0.222175| -0.017955| 0.856811),(0.009660| 0.084865| 0.087419),(-0.595433| 0.267996| -0.067237| -0.754398)
-0.380000,(-0.000025| 0.000711| -0.000986),(-0.018361| -0.014883| -0.015478| 0.999601),(-0.033717| 0.014164| 0.010243),(0.160665| -0.828078| -0.160810| 0.512459),(-0.046784| 0.025863| 0.020772),(0.370375| -0.723824| -0.226066| 0.536465),(-0.065726| 0.045321| 0.041368),(0.330752| -0.656576| -0.346146| 0.582833),(-0.071398| 0.056137| 0.058176),(0.246850| -0.509254| -0.530737| 0.630907),(-0.028269| 0.053860| 0.013848),(0.036168| -0.035095| 0.100325| 0.993678),(-0.043476| 0.095285| 0.038004),(0.093416| -0.064858| 0.181434| 0.976805),(-0.055390| 0.110715| 0.055425),(0.360204| -0.054279| 0.289172| 0.885261),(-0.062684| 0.112730| 0.068354),(0.488351| -0.046693| 0.335651| 0.804159),(-0.013813| 0.054399| 0.019120),(0.068735| -0.080431| 0.005887| 0.994370),(-0.021741| 0.096117| 0.047041),(0.140328| -0.094776| 0.046870| 0.984443),(-0.031466| 0.112185| 0.069143),(0.466013| -0.134228| 0.203721| 0.850478),(-0.040022| 0.111480| 0.083936),(-0.615766| 0.147451| -0.277194| -0.722671),(-0.000577| 0.049983| 0.025342),(0.092551| -0.078323| -0.074596| 0.989816),(-0.002587| 0.085711| 0.054162),(0.207842| -0.110096| -0.012620| 0.971865),(-0.010611| 0.098267| 0.077089),(0.520276| -0.178624| 0.150641| 0.821410),(-0.019304| 0.096488| 0.091403),(-0.645253| 0.202489| -0.222631| -0.702198),(0.010163| 0.041748| 0.033194),(0.086346| -0.113414| -0.176331| 0.973955),(0.016749| 0.073296| 0.057543),(0.150383| -0.111739| -0.187059| 0.964318),(0.015666| 0.085174| 0.074211),(0.480297| -0.245140| 0.011584| 0.842073),(0.008970| 0.085807| 0.085456),(-0.605584| 0.292683| -0.104213| -0.732629)
-0.400000,(0.000440| 0.000347| -0.000777),(-0.010398| -0.008766| -0.006191| 0.999888),(-0.033659| 0.014660| 0.009510),(0.154632| -0.831953| -0.141972| 0.513603),(-0.046690| 0.026620| 0.019797),(0.367370| -0.729346| -0.209475| 0.537785),(-0.065556| 0.046512| 0.040043),(0.329676| -0.662571| -0.332459| 0.584624),(-0.071162| 0.057556| 0.056718),(0.249063| -0.515650| -0.521493| 0.632549),(-0.027844| 0.054379| 0.012501),(0.035961| -0.032061| 0.102610| 0.993554),(-0.043029| 0.096227| 0.035905),(0.097975| -0.060905| 0.187212| 0.975522),(-0.055082| 0.111774| 0.053115),(0.363677| -0.051383| 0.298845| 0.880790),(-0.062521| 0.113842| 0.065955),(0.490738| -0.044460| 0.346838| 0.798062),(-0.013460| 0.054855| 0.017980),(0.069505| -0.079550| 0.009584| 0.994359),(-0.021349| 0.097027| 0.045211),(0.144743| -0.093291| 0.051506| 0.983714),(-0.031217| 0.113268| 0.067056),(0.470105| -0.134926| 0.215620| 0.845165),(-0.039992| 0.112562| 0.081704),(-0.620224| 0.149247| -0.292767| -0.712274),(-0.000358| 0.050412| 0.024472),(0.094612| -0.079250| -0.070536| 0.989845),(-0.002461| 0.086491| 0.052802),(0.214611| -0.111321| -0.005607| 0.970319),(-0.010755| 0.099188| 0.075541),(0.523521| -0.181442| 0.164185| 0.816117),(-0.019705| 0.097480| 0.089705),(-0.646640| 0.205914| -0.238750| -0.694590),(0.010188| 0.042202| 0.032619),(0.089596| -0.116228| -0.171694| 0.974159),(0.016641| 0.074010| 0.056649),(0.159720| -0.116972| -0.179436| 0.963644),(0.015245| 0.085947| 0.073214),(0.486670| -0.251755| 0.029127| 0.836016),(0.008242| 0.086561| 0.084270),(-0.610725| 0.299685| -0.126265| -0.721984)
-0.420000,(0.000695| -0.000551| 0.000040),(-0.009165| -0.001773| -0.001152| 0.999956),(-0.033646| 0.014650| 0.009532),(0.151933| -0.835755| -0.125356| 0.512559),(-0.046703| 0.026914| 0.019412),(0.364405| -0.736246| -0.192294| 0.536819),(-0.065623| 0.047374| 0.039014),(0.327375| -0.671785| -0.317485| 0.583724),(-0.071278| 0.058829| 0.055379),(0.247904| -0.528053| -0.510757| 0.631531),(-0.027678| 0.054400| 0.011736),(0.034094| -0.031493| 0.102478| 0.993652),(-0.042776| 0.096703| 0.034317),(0.100613| -0.057728| 0.187122| 0.975464),(-0.054781| 0.112514| 0.051314),(0.365065| -0.047584| 0.299199| 0.880308),(-0.062234| 0.114794| 0.064104),(0.491309| -0.040485| 0.347399| 0.797678),(-0.013329| 0.054928| 0.017296),(0.067932| -0.080904| 0.010565| 0.994348),(-0.021208| 0.097545| 0.043761),(0.148517| -0.093615| 0.053253| 0.983027),(-0.031125| 0.114086| 0.065383),(0.470117| -0.133529| 0.218407| 0.844665),(-0.039965| 0.113608| 0.079976),(-0.621920| 0.147359| -0.297939| -0.709037),(-0.000287| 0.050570| 0.023958),(0.093434| -0.082249| -0.069416| 0.989791),(-0.002360| 0.087244| 0.051510),(0.212762| -0.112814| -0.004436| 0.970559),(-0.010666| 0.100488| 0.073926),(0.520163| -0.180725| 0.167985| 0.817649),(-0.019684| 0.099150| 0.088070),(-0.644191| 0.204435| -0.244541| -0.695288),(0.010173| 0.042496| 0.032342),(0.088807| -0.121166| -0.169839| 0.973954),(0.016573| 0.074786| 0.055730),(0.158677| -0.122953| -0.175793| 0.963743),(0.015046| 0.087050| 0.072005),(0.486399| -0.254481| 0.038583| 0.834965),(0.007908| 0.087810| 0.082944),(-0.612515| 0.301218| -0.139664| -0.717347)
-0.440000,(0.000487| -0.000686| 0.000372),(-0.008938| -0.003522| -0.001279| 0.999953),(-0.033618| 0.014727| 0.009323),(0.150272| -0.838422| -0.109003| 0.512430),(-0.046761| 0.027233| 0.018765),(0.363116| -0.741880| -0.173468| 0.536349),(-0.065827| 0.048154| 0.037693),(0.326891| -0.679238| -0.301622| 0.583783),(-0.071549| 0.059953| 0.053759),(0.248395| -0.537321| -0.500411| 0.631803),(-0.027554| 0.054488| 0.010831),(0.032816| -0.029910| 0.103120| 0.993677),(-0.042624| 0.097363| 0.032349),(0.093456| -0.054604| 0.186393| 0.976495),(-0.054634| 0.113794| 0.048742),(0.355198| -0.043481| 0.299925| 0.884302),(-0.062181| 0.116574| 0.061359),(0.481990| -0.035955| 0.349587| 0.802609),(-0.013248| 0.055079| 0.016486),(0.067179| -0.081088| 0.012376| 0.994364),(-0.021184| 0.098262| 0.041992),(0.144677| -0.093394| 0.055703| 0.983485),(-0.031192| 0.115415| 0.063107),(0.463042| -0.130653| 0.223171| 0.847772),(-0.040136| 0.115399| 0.077620),(-0.616326| 0.143440| -0.305220| -0.711624),(-0.000270| 0.050813| 0.023324),(0.093257| -0.083966| -0.067379| 0.989805),(-0.002335| 0.088098| 0.050068),(0.208142| -0.112684| -0.003240| 0.971581),(-0.010618| 0.102009| 0.072079),(0.513876| -0.178345| 0.172219| 0.821258),(-0.019690| 0.101152| 0.086209),(-0.638300| 0.201248| -0.250563| -0.699494),(0.010102| 0.042872| 0.031938),(0.089255| -0.124702| -0.167101| 0.973941),(0.016485| 0.075618| 0.054688),(0.155884| -0.125957| -0.173795| 0.964173),(0.014978| 0.088297| 0.070646),(0.481535| -0.253988| 0.044526| 0.837635),(0.007821| 0.089382| 0.081533),(-0.608047| 0.299473| -0.147932| -0.720216)
-0.460000,(0.000463| -0.000783| 0.000481),(-0.007568| -0.002000| -0.000849| 0.999969),(-0.033592| 0.014791| 0.009165),(0.149165| -0.840279| -0.095582| 0.512392),(-0.046828| 0.027512| 0.018171),(0.361383| -0.747112| -0.156086| 0.535596),(-0.066053| 0.048859| 0.036423),(0.325762| -0.686463| -0.286668| 0.583498),(-0.071858| 0.060989| 0.052178),(0.247773| -0.546377| -0.490709| 0.631891),(-0.027480| 0.054553| 0.010095),(0.032201| -0.028454| 0.103671| 0.993683),(-0.042488| 0.097916| 0.030693),(0.085943| -0.051940| 0.184974| 0.977600),(-0.054455| 0.114954| 0.046499),(0.344183| -0.039900| 0.298744| 0.889212),(-0.062060| 0.118276| 0.058930),(0.470380| -0.032023| 0.349080| 0.809852),(-0.013199| 0.055207| 0.015796),(0.066842| -0.081072| 0.013860| 0.994368),(-0.021127| 0.098899| 0.040433),(0.139105| -0.092988| 0.056964| 0.984255),(-0.031133| 0.116705| 0.061033),(0.454188| -0.127520| 0.225154| 0.852501),(-0.040122| 0.117224| 0.075488),(-0.608756| 0.139234| -0.308870| -0.717377),(-0.000257| 0.051026| 0.022750),(0.093238| -0.085212| -0.065734| 0.989810),(-0.002266| 0.088838| 0.048784),(0.203065| -0.112280| -0.002825| 0.972703),(-0.010469| 0.103359| 0.070423),(0.507915| -0.175686| 0.174482| 0.825053),(-0.019545| 0.102942| 0.084553),(-0.633228| 0.197802| -0.254226| -0.703751),(0.010062| 0.043201| 0.031532),(0.089571| -0.127459| -0.164837| 0.973940),(0.016508| 0.076343| 0.053690),(0.151365| -0.127603| -0.173443| 0.964740),(0.015117| 0.089417| 0.069336),(0.476034| -0.252547| 0.047217| 0.841060),(0.008007| 0.090835| 0.080207),(-0.602851| 0.296826| -0.151830| -0.724854)
-0.480000,(0.000807| -0.001528| 0.001007),(-0.012632| -0.002446| -0.001074| 0.999917),(-0.033564| 0.015022| 0.008577),(0.150076| -0.841978| -0.076942| 0.512475),(-0.046918| 0.027993| 0.017049),(0.361100| -0.753288| -0.131869| 0.533643),(-0.066352| 0.049840| 0.034463),(0.326439| -0.695701| -0.265394| 0.582240),(-0.072268| 0.062370| 0.049830),(0.249233| -0.558727| -0.476377| 0.631484),(-0.027420| 0.054779| 0.008860),(0.035744| -0.025526| 0.104725| 0.993531),(-0.042336| 0.098704| 0.028393),(0.079971| -0.047441| 0.183282| 0.978653),(-0.054227| 0.116497| 0.043470),(0.332998| -0.033953| 0.296766| 0.894366),(-0.061888| 0.120515| 0.055667),(0.457553| -0.025548| 0.347545| 0.818049),(-0.013161| 0.055511| 0.014593),(0.070657| -0.080098| 0.016194| 0.994148),(-0.021050| 0.099805| 0.038202),(0.135023| -0.091409| 0.058651| 0.984872),(-0.031009| 0.118444| 0.058156),(0.445350| -0.121968| 0.227142| 0.857435),(-0.040021| 0.119669| 0.072550),(-0.600777| 0.132097| -0.312549| -0.723831),(-0.000248| 0.051433| 0.021657),(0.097353| -0.085977| -0.063186| 0.989514),(-0.002164| 0.089852| 0.046866),(0.200327| -0.110883| -0.001895| 0.973432),(-0.010235| 0.105103| 0.068061),(0.503757| -0.170936| 0.177441| 0.827964),(-0.019289| 0.105213| 0.082200),(-0.629865| 0.191876| -0.258828| -0.706727),(0.010025| 0.043745| 0.030613),(0.093949| -0.130323| -0.161391| 0.973726),(0.016590| 0.077343| 0.052067),(0.148785| -0.128819| -0.173027| 0.965055),(0.015399| 0.090898| 0.067330),(0.472037| -0.249383| 0.050226| 0.844077),(0.008387| 0.092735| 0.078200),(-0.598599| 0.291868| -0.155891| -0.729514)
-0.500000,(0.000489| -0.000961| 0.000584),(-0.002439| 0.000080| -0.001755| 0.999996),(-0.033521| 0.015047| 0.008826),(0.144804| -0.843601| -0.069490| 0.512388),(-0.047025| 0.028244| 0.016654),(0.354219| -0.760298| -0.113640| 0.532506),(-0.066744| 0.050557| 0.033069),(0.320468| -0.704534| -0.249754| 0.581855),(-0.072833| 0.063462| 0.047995),(0.244076| -0.568047| -0.467360| 0.631922),(-0.027223| 0.054754| 0.008632),(0.031549| -0.025500| 0.104643| 0.993682),(-0.041795| 0.099302| 0.027032),(0.058246| -0.047138| 0.177045| 0.981346),(-0.053423| 0.118024| 0.041113),(0.310049| -0.033626| 0.290978| 0.904473),(-0.061082| 0.122812| 0.052985),(0.437050| -0.025100| 0.343254| 0.830984),(-0.012966| 0.055510| 0.014356),(0.066303| -0.080994| 0.016626| 0.994368),(-0.020556| 0.100439| 0.036879),(0.115751| -0.092227| 0.056182| 0.987390),(-0.030266| 0.120086| 0.055965),(0.425408| -0.120921| 0.224464| 0.868344),(-0.039246| 0.122160| 0.070251),(-0.583262| 0.130185| -0.310750| -0.739115),(-0.000081| 0.051474| 0.021488),(0.093043| -0.087681| -0.062680| 0.989811),(-0.001767| 0.090460| 0.045883),(0.185169| -0.111918| -0.002755| 0.976309),(-0.009671| 0.106446| 0.066525),(0.492003| -0.170511| 0.178573| 0.834848),(-0.018711| 0.107039| 0.080631),(-0.621033| 0.190752| -0.261353| -0.713881),(0.010144| 0.043862| 0.030566),(0.089592| -0.132878| -0.160481| 0.973942),(0.016803| 0.077820| 0.051409),(0.137419| -0.132107| -0.170126| 0.966810),(0.015632| 0.091761| 0.066278),(0.462776| -0.250048| 0.055301| 0.848679),(0.008624| 0.093887| 0.077084),(-0.589809| 0.290853| -0.160832| -0.735977)
-0.520000,(0.000493| -0.000778| 0.000426),(-0.003410| -0.000194| -0.001202| 0.999994),(-0.033474| 0.015169| 0.008691),(0.143269| -0.844317| -0.064068| 0.512346),(-0.047062| 0.028456| 0.016223),(0.352392| -0.763495| -0.102956| 0.531314),(-0.066935| 0.050956| 0.032183),(0.319296| -0.708805| -0.240428| 0.581240),(-0.073118| 0.064019| 0.046914),(0.243593| -0.572919| -0.461439| 0.632061),(-0.027099| 0.054855| 0.008290),(0.032034| -0.024883| 0.105016| 0.993643),(-0.041483| 0.099697| 0.026180),(0.050357| -0.046068| 0.174019| 0.982375),(-0.052957| 0.118852| 0.039811),(0.301841| -0.032521| 0.288235| 0.908160),(-0.060599| 0.123995| 0.051544),(0.429631| -0.023983| 0.341075| 0.835770),(-0.012840| 0.055620| 0.014005),(0.066697| -0.081002| 0.017359| 0.994328),(-0.020271| 0.100836| 0.036044),(0.109227| -0.092015| 0.055350| 0.988200),(-0.029845| 0.120940| 0.054743),(0.418391| -0.119755| 0.223615| 0.872126),(-0.038802| 0.123399| 0.068986),(-0.576918| 0.128597| -0.310220| -0.744576),(0.000035| 0.051601| 0.021163),(0.093447| -0.088242| -0.061895| 0.989773),(-0.001530| 0.090840| 0.045197),(0.180539| -0.112012| -0.002652| 0.977165),(-0.009345| 0.107158| 0.065594),(0.488558| -0.169782| 0.179689| 0.836778),(-0.018372| 0.107967| 0.079689),(-0.618695| 0.189666| -0.263172| -0.715530),(0.010240| 0.044020| 0.030291),(0.089921| -0.134041| -0.159417| 0.973927),(0.016946| 0.078139| 0.050863),(0.134547| -0.133716| -0.167895| 0.967382),(0.015777| 0.092251| 0.065555),(0.460615| -0.250080| 0.058831| 0.849608),(0.008768| 0.094499| 0.076333),(-0.587664| 0.289975| -0.164443| -0.737241)
-0.540000,(0.000467| -0.000474| -0.000120),(0.001070| -0.001844| -0.003562| 0.999992),(-0.033473| 0.015367| 0.008626),(0.137158| -0.845193| -0.064891| 0.512470),(-0.047033| 0.028801| 0.015941),(0.345152| -0.767665| -0.098852| 0.530838),(-0.066918| 0.051549| 0.031544),(0.313662| -0.713532| -0.235719| 0.580452),(-0.073211| 0.064763| 0.046106),(0.241210| -0.578716| -0.456451| 0.631315),(-0.026805| 0.054999| 0.008297),(0.030894| -0.025219| 0.105058| 0.993666),(-0.040917| 0.100002| 0.026007),(0.043431| -0.047126| 0.173390| 0.982766),(-0.052302| 0.119384| 0.039384),(0.295035| -0.035156| 0.289101| 0.910022),(-0.059975| 0.124708| 0.051019),(0.422320| -0.027451| 0.342409| 0.838837),(-0.012558| 0.055659| 0.014056),(0.065473| -0.081449| 0.017440| 0.994372),(-0.019653| 0.101074| 0.035834),(0.099417| -0.092717| 0.053677| 0.989262),(-0.029036| 0.121595| 0.054181),(0.408246| -0.122274| 0.223194| 0.876681),(-0.038004| 0.124421| 0.068351),(-0.566798| 0.132053| -0.310347| -0.751656),(0.000262| 0.051538| 0.021255),(0.092461| -0.088759| -0.061728| 0.989830),(-0.000998| 0.090988| 0.045037),(0.169091| -0.112535| -0.004065| 0.979147),(-0.008606| 0.107828| 0.065108),(0.476181| -0.171728| 0.178953| 0.843645),(-0.017611| 0.109103| 0.079186),(-0.606259| 0.192253| -0.262553| -0.725641),(0.010381| 0.043876| 0.030416),(0.088972| -0.134381| -0.159333| 0.973981),(0.017197| 0.078031| 0.050906),(0.128226| -0.135318| -0.164475| 0.968605),(0.016023| 0.092331| 0.065437),(0.452193| -0.251657| 0.062506| 0.853395),(0.009016| 0.094782| 0.076178),(-0.578258| 0.291384| -0.167348| -0.743444)
-0.560000,(0.000137| -0.000232| -0.000354),(0.001801| -0.001762| -0.002093| 0.999995),(-0.033466| 0.015500| 0.008540),(0.133702| -0.845571| -0.067467| 0.512428),(-0.047005| 0.029019| 0.015738),(0.340584| -0.770113| -0.098078| 0.530386),(-0.066896| 0.051899| 0.031153),(0.310313| -0.716002| -0.234448| 0.579725),(-0.073270| 0.065178| 0.045634),(0.240354| -0.581551| -0.454453| 0.630477),(-0.026622| 0.055092| 0.008378),(0.030341| -0.025772| 0.104937| 0.993682),(-0.040598| 0.100139| 0.026102),(0.039654| -0.048289| 0.173067| 0.982926),(-0.051956| 0.119606| 0.039386),(0.291281| -0.037509| 0.290056| 0.910833),(-0.059667| 0.124997| 0.050974),(0.417743| -0.030431| 0.343625| 0.840528),(-0.012391| 0.055672| 0.014185),(0.064991| -0.081842| 0.017244| 0.994375),(-0.019338| 0.101097| 0.036010),(0.096152| -0.093377| 0.053084| 0.989554),(-0.028658| 0.121742| 0.054286),(0.403367| -0.124500| 0.223022| 0.878667),(-0.037648| 0.124754| 0.068427),(-0.558720| 0.134999| -0.309025| -0.757701),(0.000385| 0.051467| 0.021416),(0.092231| -0.088989| -0.061852| 0.989823),(-0.000684| 0.090964| 0.045178),(0.162968| -0.112457| -0.006042| 0.980183),(-0.008115| 0.108119| 0.065114),(0.466716| -0.172947| 0.176010| 0.849285),(-0.017070| 0.109766| 0.079198),(-0.595528| 0.194183| -0.259036| -0.735214),(0.010435| 0.043727| 0.030589),(0.088895| -0.134251| -0.159627| 0.973958),(0.017360| 0.077841| 0.051121),(0.123992| -0.134956| -0.164742| 0.969161),(0.016296| 0.092273| 0.065587),(0.444164| -0.251660| 0.060303| 0.857759),(0.009377| 0.094948| 0.076340),(-0.568808| 0.291699| -0.163791| -0.751360)
-0.580000,(0.000058| -0.000135| -0.000374),(0.001450| -0.001117| -0.001742| 0.999997),(-0.033450| 0.015619| 0.008473),(0.130892| -0.845851| -0.069657| 0.512397),(-0.046955| 0.029219| 0.015589),(0.336478| -0.772162| -0.097948| 0.530052),(-0.066829| 0.052222| 0.030862),(0.307242| -0.718263| -0.233443| 0.578970),(-0.073277| 0.065570| 0.045269),(0.239518| -0.584696| -0.452160| 0.629534),(-0.026467| 0.055179| 0.008446),(0.030034| -0.026214| 0.104894| 0.993684),(-0.040346| 0.100229| 0.026246),(0.038415| -0.049246| 0.173521| 0.982848),(-0.051699| 0.119708| 0.039533),(0.289958| -0.039421| 0.291164| 0.910820),(-0.059435| 0.125108| 0.051112),(0.415670| -0.032837| 0.344739| 0.841009),(-0.012245| 0.055693| 0.014284),(0.064684| -0.082150| 0.017116| 0.994372),(-0.019091| 0.101089| 0.036216),(0.095360| -0.094008| 0.053207| 0.989565),(-0.028379| 0.121773| 0.054509),(0.400566| -0.126394| 0.222824| 0.879728),(-0.037380| 0.124903| 0.068643),(-0.553034| 0.137479| -0.307605| -0.761992),(0.000500| 0.051421| 0.021532),(0.092078| -0.089162| -0.061938| 0.989816),(-0.000414| 0.090945| 0.045297),(0.158489| -0.112446| -0.007451| 0.980909),(-0.007693| 0.108357| 0.065142),(0.458699| -0.173789| 0.173060| 0.854075),(-0.016588| 0.110333| 0.079238),(-0.586054| 0.195536| -0.255217| -0.743755),(0.010502| 0.043617| 0.030705),(0.088805| -0.134126| -0.159853| 0.973946),(0.017501| 0.077690| 0.051290),(0.121278| -0.134963| -0.164342| 0.969571),(0.016505| 0.092214| 0.065722),(0.438149| -0.251724| 0.058736| 0.860936),(0.009663| 0.095074| 0.076494),(-0.560442| 0.291573| -0.159970| -0.758486)
-0.600000,(0.000012| -0.000091| -0.000708),(0.002680| -0.000451| -0.001825| 0.999995),(-0.033415| 0.015745| 0.008467),(0.127862| -0.845943| -0.074040| 0.512396),(-0.046858| 0.029425| 0.015553),(0.331644| -0.774114| -0.100373| 0.529798),(-0.066685| 0.052543| 0.030752),(0.303562| -0.720416| -0.234080| 0.577977),(-0.073223| 0.065949| 0.045100),(0.238512| -0.588208| -0.449989| 0.628198),(-0.026299| 0.055266| 0.008655),(0.029809| -0.026889| 0.104791| 0.993684),(-0.040105| 0.100212| 0.026773),(0.041054| -0.050713| 0.175471| 0.982320),(-0.051496| 0.119525| 0.040288),(0.293266| -0.042035| 0.293376| 0.908933),(-0.059248| 0.124788| 0.051940),(0.416938| -0.036089| 0.346038| 0.839714),(-0.012079| 0.055697| 0.014509),(0.064336| -0.082482| 0.016747| 0.994373),(-0.018845| 0.100941| 0.036780),(0.098108| -0.094986| 0.054195| 0.989149),(-0.028149| 0.121467| 0.055297),(0.401389| -0.129190| 0.222876| 0.878933),(-0.037157| 0.124565| 0.069468),(-0.549714| 0.141022| -0.305451| -0.764609),(0.000645| 0.051339| 0.021748),(0.091778| -0.089173| -0.062319| 0.989819),(-0.000078| 0.090819| 0.045634),(0.154730| -0.112345| -0.009377| 0.981504),(-0.007155| 0.108468| 0.065469),(0.449587| -0.174754| 0.167764| 0.859761),(-0.015936| 0.110824| 0.079609),(-0.574448| 0.197150| -0.248052| -0.754726),(0.010612| 0.043448| 0.030885),(0.088432| -0.133602| -0.160475| 0.973950),(0.017710| 0.077421| 0.051614),(0.119139| -0.134648| -0.164340| 0.969881),(0.016818| 0.092015| 0.066075),(0.431100| -0.251460| 0.054522| 0.864840),(0.010123| 0.095109| 0.076907),(-0.548793| 0.290707| -0.151054| -0.769089)
-0.620000,(0.000000| 0.000100| -0.000379),(0.001011| 0.000687| -0.000288| 0.999999),(-0.033395| 0.015784| 0.008500),(0.127273| -0.845868| -0.075962| 0.512385),(-0.046822| 0.029472| 0.015603),(0.330631| -0.774443| -0.101842| 0.529670),(-0.066640| 0.052596| 0.030816),(0.302754| -0.720829| -0.234763| 0.577609),(-0.073209| 0.066007| 0.045159),(0.238274| -0.589166| -0.449437| 0.627787),(-0.026267| 0.055293| 0.008758),(0.029969| -0.027128| 0.104676| 0.993685),(-0.040066| 0.100152| 0.027088),(0.044529| -0.051214| 0.176714| 0.981920),(-0.051479| 0.119321| 0.040796),(0.297028| -0.042826| 0.294048| 0.907456),(-0.059218| 0.124470| 0.052517),(0.419870| -0.037045| 0.346023| 0.838216),(-0.012037| 0.055701| 0.014595),(0.064343| -0.082561| 0.016471| 0.994371),(-0.018808| 0.100827| 0.037092),(0.101890| -0.095456| 0.055189| 0.988666),(-0.028149| 0.121172| 0.055809),(0.404491| -0.130190| 0.222835| 0.877372),(-0.037150| 0.124156| 0.070021),(-0.551430| 0.142230| -0.304370| -0.763581),(0.000693| 0.051320| 0.021808),(0.091672| -0.089106| -0.062646| 0.989814),(0.000019| 0.090731| 0.045811),(0.155730| -0.112471| -0.009749| 0.981328),(-0.007006| 0.108365| 0.065727),(0.448468| -0.175112| 0.165439| 0.860722),(-0.015736| 0.110780| 0.079900),(-0.572409| 0.197697| -0.244814| -0.757186),(0.010670| 0.043404| 0.030913),(0.088165| -0.133331| -0.160888| 0.973943),(0.017809| 0.077316| 0.051729),(0.119896| -0.134498| -0.164752| 0.969738),(0.016960| 0.091888| 0.066253),(0.430039| -0.251389| 0.051868| 0.865552),(0.010327| 0.095025| 0.077120),(-0.546489| 0.290600| -0.146875| -0.771576)
-0.640000,(-0.000001| 0.000126| -0.000388),(0.000950| 0.000808| -0.000219| 0.999999),(-0.033366| 0.015811| 0.008547),(0.126741| -0.845850| -0.077614| 0.512299),(-0.046783| 0.029501| 0.015667),(0.329807| -0.774714| -0.103171| 0.529530),(-0.066596| 0.052627| 0.030897),(0.302032| -0.721160| -0.235444| 0.577297),(-0.073191| 0.066039| 0.045235),(0.237902| -0.589910| -0.449096| 0.627473),(-0.026235| 0.055311| 0.008857),(0.029965| -0.027450| 0.104618| 0.993682),(-0.040030| 0.100096| 0.027367),(0.047504| -0.051744| 0.177799| 0.981557),(-0.051462| 0.119141| 0.041243),(0.300210| -0.043582| 0.294513| 0.906221),(-0.059187| 0.124192| 0.053023),(0.422463| -0.037923| 0.345897| 0.836925),(-0.011997| 0.055703| 0.014677),(0.064185| -0.082742| 0.016265| 0.994369),(-0.018776| 0.100726| 0.037367),(0.105189| -0.095982| 0.056114| 0.988218),(-0.028153| 0.120909| 0.056261),(0.407215| -0.131124| 0.222733| 0.875998),(-0.037144| 0.123789| 0.070509),(-0.553127| 0.143323| -0.303393| -0.762537),(0.000742| 0.051305| 0.021866),(0.091394| -0.089159| -0.062904| 0.989819),(0.000102| 0.090654| 0.045971),(0.156775| -0.112737| -0.009938| 0.981129),(-0.006888| 0.108258| 0.065966),(0.447848| -0.175552| 0.163541| 0.861318),(-0.015577| 0.110706| 0.080168),(-0.571100| 0.198283| -0.242144| -0.758877),(0.010730| 0.043371| 0.030942),(0.087725| -0.133209| -0.161219| 0.973945),(0.017902| 0.077232| 0.051832),(0.120585| -0.134493| -0.165106| 0.969593),(0.017087| 0.091780| 0.066413),(0.429353| -0.251496| 0.049604| 0.865994),(0.010501| 0.094940| 0.077311),(-0.544987| 0.290736| -0.143486| -0.773223)
-0.660000,(-0.000004| 0.000180| -0.000280),(0.000744| 0.001192| 0.000004| 0.999999),(-0.033344| 0.015841| 0.008595),(0.126586| -0.845690| -0.079295| 0.512344),(-0.046756| 0.029517| 0.015751),(0.329666| -0.774651| -0.104607| 0.529428),(-0.066574| 0.052617| 0.031021),(0.301825| -0.721257| -0.236072| 0.577028),(-0.073194| 0.066022| 0.045362),(0.237685| -0.590511| -0.448669| 0.627294),(-0.026225| 0.055334| 0.008952),(0.030332| -0.027545| 0.104467| 0.993684),(-0.040022| 0.100018| 0.027680),(0.051570| -0.052128| 0.179219| 0.981073),(-0.051477| 0.118919| 0.041750),(0.303601| -0.044096| 0.294697| 0.905006),(-0.059179| 0.123882| 0.053588),(0.424708| -0.038536| 0.345192| 0.836051),(-0.011973| 0.055713| 0.014740),(0.064334| -0.082696| 0.015942| 0.994368),(-0.018777| 0.100604| 0.037655),(0.109602| -0.096496| 0.057560| 0.987605),(-0.028216| 0.120557| 0.056761),(0.411709| -0.131867| 0.223234| 0.873655),(-0.037202| 0.123237| 0.071049),(-0.558106| 0.144189| -0.303715| -0.758607),(0.000784| 0.051301| 0.021889),(0.091347| -0.088987| -0.063304| 0.989813),(0.000139| 0.090548| 0.046137),(0.159619| -0.113304| -0.009075| 0.980613),(-0.006894| 0.107998| 0.066260),(0.450495| -0.176236| 0.163391| 0.859825),(-0.015580| 0.110326| 0.080485),(-0.573859| 0.199057| -0.241706| -0.756731),(0.010797| 0.043351| 0.030924),(0.087434| -0.132881| -0.161678| 0.973939),(0.017958| 0.077146| 0.051921),(0.123236| -0.135105| -0.164141| 0.969339),(0.017087| 0.091600| 0.066601),(0.431700| -0.252259| 0.049556| 0.864607),(0.010486| 0.094677| 0.077516),(-0.547201| 0.291564| -0.143039| -0.771428)
-0.680000,(-0.000017| 0.000011| -0.000162),(-0.000053| 0.001126| -0.000066| 1.000000),(-0.033317| 0.015861| 0.008655),(0.126313| -0.845691| -0.079537| 0.512373),(-0.046730| 0.029528| 0.015825),(0.329664| -0.774704| -0.104713| 0.529330),(-0.066549| 0.052616| 0.031113),(0.301630| -0.721432| -0.235955| 0.576959),(-0.073171| 0.066024| 0.045453),(0.237211| -0.590992| -0.448200| 0.627357),(-0.026207| 0.055347| 0.008993),(0.030615| -0.027502| 0.104396| 0.993684),(-0.039992| 0.099971| 0.027855),(0.055403| -0.052124| 0.180338| 0.980659),(-0.051449| 0.118770| 0.042080),(0.306545| -0.044163| 0.294519| 0.904068),(-0.059123| 0.123676| 0.053964),(0.426997| -0.038654| 0.344348| 0.835227),(-0.011942| 0.055722| 0.014750),(0.064406| -0.082663| 0.015796| 0.994369),(-0.018764| 0.100526| 0.037805),(0.113726| -0.096912| 0.059039| 0.987010),(-0.028256| 0.120302| 0.057077),(0.415555| -0.132258| 0.223690| 0.871656),(-0.037232| 0.122832| 0.071396),(-0.562426| 0.144610| -0.304033| -0.755202),(0.000831| 0.051307| 0.021870),(0.091237| -0.088963| -0.063511| 0.989812),(0.000185| 0.090495| 0.046194),(0.162419| -0.113882| -0.008111| 0.980095),(-0.006885| 0.107825| 0.066415),(0.453079| -0.176726| 0.163486| 0.858347),(-0.015570| 0.110055| 0.080657),(-0.576689| 0.199572| -0.241667| -0.754452),(0.010866| 0.043357| 0.030878),(0.087091| -0.132862| -0.161874| 0.973940),(0.018029| 0.077121| 0.051921),(0.125606| -0.135846| -0.163288| 0.969075),(0.017122| 0.091516| 0.066670),(0.433497| -0.252852| 0.049414| 0.863542),(0.010511| 0.094535| 0.077595),(-0.549547| 0.292376| -0.143164| -0.769428)
-0.700000,(-0.000122| 0.000110| -0.000288),(-0.000323| 0.002640| 0.000231| 0.999997),(-0.033262| 0.015892| 0.008771),(0.126288| -0.845729| -0.079668| 0.512296),(-0.046699| 0.029515| 0.015979),(0.330737| -0.774462| -0.104691| 0.529019),(-0.066547| 0.052541| 0.031322),(0.302052| -0.721337| -0.235817| 0.576913),(-0.073166| 0.065935| 0.045678),(0.236533| -0.591211| -0.447748| 0.627729),(-0.026197| 0.055371| 0.009045),(0.031185| -0.027509| 0.104239| 0.993683),(-0.039972| 0.099892| 0.028127),(0.062178| -0.052187| 0.182305| 0.979885),(-0.051440| 0.118504| 0.042619),(0.312350| -0.044067| 0.294202| 0.902187),(-0.059060| 0.123295| 0.054593),(0.431815| -0.038511| 0.342789| 0.833396),(-0.011903| 0.055752| 0.014733),(0.064540| -0.082711| 0.015500| 0.994361),(-0.018749| 0.100429| 0.037988),(0.120232| -0.097613| 0.061202| 0.986038),(-0.028311| 0.119925| 0.057520),(0.422240| -0.132640| 0.224008| 0.868297),(-0.037257| 0.122202| 0.071897),(-0.570428| 0.144892| -0.304153| -0.749072),(0.000908| 0.051346| 0.021790),(0.090962| -0.089048| -0.063941| 0.989802),(0.000270| 0.090448| 0.046220),(0.167047| -0.114824| -0.006851| 0.979216),(-0.006847| 0.107575| 0.066603),(0.458126| -0.177374| 0.163268| 0.855572),(-0.015519| 0.109623| 0.080881),(-0.582410| 0.200151| -0.241183| -0.750046),(0.010996| 0.043406| 0.030748),(0.086325| -0.133010| -0.162253| 0.973925),(0.018181| 0.077127| 0.051846),(0.129568| -0.136975| -0.162604| 0.968509),(0.017245| 0.091421| 0.066712),(0.436938| -0.253730| 0.048168| 0.861618),(0.010635| 0.094339| 0.077664),(-0.554224| 0.293649| -0.142407| -0.765720)
-0.720000,(-0.000121| 0.000008| 0.000027),(-0.001097| 0.001956| 0.000418| 0.999997),(-0.033232| 0.015886| 0.008875),(0.126687| -0.845766| -0.078322| 0.512344),(-0.046704| 0.029461| 0.016106),(0.332539| -0.773937| -0.103471| 0.528897),(-0.066593| 0.052422| 0.031488),(0.303211| -0.720925| -0.234927| 0.577183),(-0.073202| 0.065799| 0.045860),(0.236518| -0.590973| -0.447113| 0.628411),(-0.026215| 0.055366| 0.009034),(0.031631| -0.027198| 0.104176| 0.993684),(-0.039987| 0.099854| 0.028176),(0.066289| -0.051725| 0.183393| 0.979437),(-0.051453| 0.118373| 0.042803),(0.316246| -0.043185| 0.293837| 0.900990),(-0.059031| 0.123101| 0.054832),(0.435686| -0.037436| 0.341788| 0.831839),(-0.011898| 0.055770| 0.014665),(0.064681| -0.082566| 0.015426| 0.994365),(-0.018738| 0.100426| 0.037946),(0.123551| -0.097567| 0.062006| 0.985582),(-0.028309| 0.119786| 0.057591),(0.427028| -0.132155| 0.224145| 0.865991),(-0.037225| 0.121896| 0.072005),(-0.576936| 0.144208| -0.304523| -0.744053),(0.000945| 0.051389| 0.021680),(0.090792| -0.089055| -0.064106| 0.989806),(0.000320| 0.090482| 0.046105),(0.169949| -0.115121| -0.006216| 0.978686),(-0.006823| 0.107474| 0.066569),(0.462979| -0.177400| 0.163790| 0.852850),(-0.015497| 0.109345| 0.080865),(-0.588780| 0.200107| -0.242197| -0.744739),(0.011076| 0.043477| 0.030612),(0.085802| -0.133236| -0.162303| 0.973932),(0.018296| 0.077212| 0.051671),(0.131644| -0.137479| -0.162648| 0.968150),(0.017359| 0.091454| 0.066581),(0.440139| -0.254142| 0.047748| 0.859889),(0.010734| 0.094278| 0.077541),(-0.559604| 0.294555| -0.143477| -0.761246)
-0.740000,(-0.000086| 0.000086| 0.000015),(-0.000409| 0.001918| 0.000309| 0.999998),(-0.033211| 0.015883| 0.008978),(0.126902| -0.845736| -0.078097| 0.512375),(-0.046713| 0.029404| 0.016253),(0.334151| -0.773323| -0.103409| 0.528793),(-0.066625| 0.052284| 0.031716),(0.304094| -0.720099| -0.235405| 0.577554),(-0.073201| 0.065622| 0.046133),(0.236088| -0.589728| -0.447923| 0.629165),(-0.026232| 0.055363| 0.009073),(0.032028| -0.027058| 0.104083| 0.993685),(-0.039992| 0.099804| 0.028319),(0.069935| -0.051561| 0.184323| 0.979018),(-0.051452| 0.118227| 0.043087),(0.319659| -0.042785| 0.293390| 0.899950),(-0.058988| 0.122889| 0.055172),(0.439146| -0.036916| 0.340763| 0.830463),(-0.011893| 0.055780| 0.014650),(0.064769| -0.082480| 0.015252| 0.994369),(-0.018699| 0.100394| 0.038009),(0.126577| -0.097469| 0.062184| 0.985196),(-0.028249| 0.119613| 0.057787),(0.431508| -0.132034| 0.223604| 0.863927),(-0.037126| 0.121557| 0.072242),(-0.583030| 0.144099| -0.304155| -0.739460),(0.000980| 0.051412| 0.021619),(0.090576| -0.089019| -0.064374| 0.989812),(0.000386| 0.090462| 0.046097),(0.172937| -0.115321| -0.006068| 0.978140),(-0.006759| 0.107304| 0.066669),(0.467431| -0.177672| 0.163466| 0.850423),(-0.015422| 0.109005| 0.080990),(-0.594397| 0.200460| -0.242117| -0.740194),(0.011152| 0.043514| 0.030516),(0.085235| -0.133287| -0.162514| 0.973940),(0.018418| 0.077231| 0.051584),(0.133821| -0.137696| -0.163168| 0.967734),(0.017502| 0.091406| 0.066562),(0.442832| -0.254554| 0.046272| 0.858464),(0.010878| 0.094140| 0.077540),(-0.564316| 0.295642| -0.143278| -0.757374)
-0.760000,(-0.000088| 0.000109| 0.000020),(-0.000326| 0.002106| 0.000323| 0.999998),(-0.033186| 0.015883| 0.009071),(0.127127| -0.845856| -0.078104| 0.512120),(-0.046716| 0.029353| 0.016392),(0.335679| -0.772879| -0.103656| 0.528425),(-0.066646| 0.052153| 0.031940),(0.304876| -0.719418| -0.236205| 0.577664),(-0.073186| 0.065450| 0.046405),(0.235535| -0.588564| -0.449043| 0.629664),(-0.026240| 0.055364| 0.009118),(0.032497| -0.027264| 0.103929| 0.993680),(-0.039988| 0.099757| 0.028468),(0.073370| -0.051754| 0.185072| 0.978615),(-0.051440| 0.118091| 0.043369),(0.322904| -0.042744| 0.292794| 0.898987),(-0.058939| 0.122690| 0.055505),(0.442469| -0.036743| 0.339609| 0.829179),(-0.011881| 0.055790| 0.014643),(0.064923| -0.082721| 0.015004| 0.994343),(-0.018649| 0.100361| 0.038085),(0.129422| -0.097658| 0.062112| 0.984812),(-0.028172| 0.119449| 0.057991),(0.435770| -0.132214| 0.222765| 0.861974),(-0.037010| 0.121238| 0.072485),(-0.588798| 0.144268| -0.303422| -0.735145),(0.001019| 0.051433| 0.021569),(0.090421| -0.089292| -0.064719| 0.989779),(0.000458| 0.090436| 0.046106),(0.175820| -0.115782| -0.006144| 0.977570),(-0.006683| 0.107133| 0.066786),(0.471651| -0.178196| 0.162803| 0.848108),(-0.015332| 0.108678| 0.081132),(-0.599661| 0.201036| -0.241604| -0.735948),(0.011229| 0.043545| 0.030431),(0.084721| -0.133618| -0.162810| 0.973890),(0.018542| 0.077238| 0.051517),(0.135891| -0.138144| -0.163852| 0.967265),(0.017649| 0.091347| 0.066564),(0.445342| -0.255180| 0.044503| 0.857072),(0.011030| 0.093999| 0.077558),(-0.568727| 0.296883| -0.142643| -0.753700)
-0.780000,(-0.000083| 0.000142| 0.000071),(-0.000018| 0.001939| 0.000120| 0.999998),(-0.033161| 0.015896| 0.009181),(0.127020| -0.845716| -0.078538| 0.512311),(-0.046689| 0.029324| 0.016581),(0.336603| -0.772175| -0.104978| 0.528606),(-0.066592| 0.052056| 0.032257),(0.305048| -0.718493| -0.237687| 0.578116),(-0.073077| 0.065317| 0.046779),(0.234489| -0.587402| -0.450220| 0.630299),(-0.026237| 0.055375| 0.009191),(0.032888| -0.027033| 0.103836| 0.993683),(-0.039956| 0.099696| 0.028702),(0.077659| -0.051592| 0.186187| 0.978081),(-0.051395| 0.117908| 0.043783),(0.326655| -0.042521| 0.292300| 0.897803),(-0.058846| 0.122422| 0.055985),(0.446380| -0.036472| 0.338529| 0.827534),(-0.011853| 0.055806| 0.014656),(0.064965| -0.082487| 0.014783| 0.994363),(-0.018557| 0.100308| 0.038228),(0.132918| -0.097388| 0.062045| 0.984377),(-0.028027| 0.119257| 0.058301),(0.439515| -0.132186| 0.221214| 0.860475),(-0.036805| 0.120924| 0.072844),(-0.593398| 0.144451| -0.301588| -0.732160),(0.001078| 0.051453| 0.021527),(0.090139| -0.089059| -0.065043| 0.989805),(0.000563| 0.090385| 0.046153),(0.179055| -0.115931| -0.005964| 0.976967),(-0.006563| 0.106931| 0.066963),(0.475324| -0.178462| 0.161783| 0.846195),(-0.015182| 0.108337| 0.081340),(-0.604243| 0.201489| -0.240583| -0.732402),(0.011330| 0.043569| 0.030343),(0.084050| -0.133398| -0.163107| 0.973929),(0.018678| 0.077220| 0.051475),(0.138692| -0.138554| -0.163643| 0.966845),(0.017779| 0.091243| 0.066614),(0.447975| -0.255638| 0.043230| 0.855628),(0.011165| 0.093806| 0.077629),(-0.572752| 0.297866| -0.142019| -0.750375)
-0.800000,(-0.000322| 0.000288| 0.000144),(0.000660| 0.003742| 0.000560| 0.999993),(-0.033128| 0.015879| 0.009392),(0.127324| -0.845596| -0.080544| 0.512121),(-0.046638| 0.029219| 0.016984),(0.338572| -0.770633| -0.109619| 0.528657),(-0.066457| 0.051799| 0.032974),(0.305514| -0.716201| -0.242678| 0.578640),(-0.072813| 0.064957| 0.047644),(0.232531| -0.584150| -0.454428| 0.631026),(-0.026261| 0.055360| 0.009396),(0.033608| -0.027355| 0.103521| 0.993683),(-0.039944| 0.099547| 0.029200),(0.083798| -0.052087| 0.187371| 0.977321),(-0.051358| 0.117576| 0.044555),(0.331640| -0.042878| 0.290690| 0.896480),(-0.058731| 0.121974| 0.056852),(0.451785| -0.036704| 0.336010| 0.825615),(-0.011840| 0.055797| 0.014763),(0.065097| -0.082664| 0.014168| 0.994348),(-0.018451| 0.100184| 0.038558),(0.137140| -0.097546| 0.061434| 0.983821),(-0.027833| 0.118946| 0.058864),(0.444212| -0.132525| 0.218029| 0.858823),(-0.036515| 0.120440| 0.073478),(-0.600197| 0.145017| -0.298166| -0.727895),(0.001144| 0.051448| 0.021539),(0.089699| -0.089106| -0.065847| 0.989787),(0.000688| 0.090251| 0.046338),(0.183536| -0.116612| -0.006049| 0.976053),(-0.006422| 0.106539| 0.067352),(0.481220| -0.179263| 0.159828| 0.843058),(-0.014999| 0.107695| 0.081773),(-0.611964| 0.202498| -0.238672| -0.726314),(0.011468| 0.043564| 0.030270),(0.082947| -0.133325| -0.163919| 0.973897),(0.018867| 0.077133| 0.051502),(0.142324| -0.139300| -0.163878| 0.966170),(0.017972| 0.091021| 0.066784),(0.451592| -0.256383| 0.040187| 0.853650),(0.011368| 0.093427| 0.077828),(-0.579849| 0.299778| -0.140769| -0.744374)
-0.820000,(-0.000251| -0.000131| 0.000376),(0.001065| 0.004241| 0.002334| 0.999988),(-0.033143| 0.015708| 0.009704),(0.130520| -0.844776| -0.083484| 0.512201),(-0.046646| 0.028914| 0.017537),(0.342792| -0.767565| -0.115989| 0.529041),(-0.066412| 0.051268| 0.033904),(0.308059| -0.712580| -0.248693| 0.579208),(-0.072668| 0.064293| 0.048736),(0.232232| -0.580009| -0.458971| 0.631667),(-0.026462| 0.055219| 0.009729),(0.034624| -0.027319| 0.103113| 0.993691),(-0.040154| 0.099256| 0.029848),(0.088847| -0.051492| 0.186113| 0.977147),(-0.051472| 0.117169| 0.045452),(0.334594| -0.041871| 0.285898| 0.896971),(-0.058727| 0.121536| 0.057834),(0.454624| -0.035490| 0.330005| 0.826531),(-0.011996| 0.055708| 0.014973),(0.065599| -0.082292| 0.013375| 0.994357),(-0.018568| 0.100024| 0.038921),(0.137964| -0.096617| 0.059138| 0.983938),(-0.027798| 0.118774| 0.059345),(0.444670| -0.130685| 0.212140| 0.860341),(-0.036335| 0.120299| 0.074043),(-0.601543| 0.142903| -0.291059| -0.730075),(0.001066| 0.051405| 0.021628),(0.089542| -0.088453| -0.066862| 0.989792),(0.000645| 0.090129| 0.046545),(0.185093| -0.115659| -0.007954| 0.975859),(-0.006367| 0.106286| 0.067692),(0.484589| -0.177529| 0.155388| 0.842325),(-0.014835| 0.107303| 0.082181),(-0.617269| 0.200625| -0.233870| -0.723901),(0.011500| 0.043548| 0.030251),(0.082152| -0.132496| -0.164966| 0.973900),(0.018948| 0.077085| 0.051515),(0.142507| -0.137926| -0.166262| 0.965932),(0.018149| 0.090909| 0.066866),(0.453619| -0.254428| 0.034702| 0.853400),(0.011630| 0.093233| 0.077973),(-0.584104| 0.298105| -0.135184| -0.742753)
-0.840000,(-0.000219| -0.000179| 0.000559),(0.001485| 0.004677| 0.002953| 0.999984),(-0.033144| 0.015498| 0.010037),(0.134745| -0.843668| -0.087243| 0.512305),(-0.046686| 0.028545| 0.018064),(0.347812| -0.764423| -0.121432| 0.529092),(-0.066496| 0.050644| 0.034723),(0.311544| -0.709325| -0.253212| 0.579381),(-0.072741| 0.063547| 0.049667),(0.232978| -0.576877| -0.461807| 0.632194),(-0.026708| 0.055047| 0.010116),(0.035783| -0.027295| 0.102742| 0.993690),(-0.040451| 0.098923| 0.030544),(0.092330| -0.051083| 0.184770| 0.977101),(-0.051696| 0.116697| 0.046365),(0.338296| -0.040564| 0.281891| 0.896910),(-0.058839| 0.120975| 0.058841),(0.458657| -0.033731| 0.324841| 0.826423),(-0.012196| 0.055606| 0.015224),(0.066231| -0.081817| 0.012549| 0.994365),(-0.018748| 0.099880| 0.039279),(0.136178| -0.095539| 0.056387| 0.984453),(-0.027829| 0.118642| 0.059746),(0.445341| -0.128374| 0.206825| 0.861635),(-0.036224| 0.120144| 0.074521),(-0.604238| 0.140007| -0.284822| -0.730870),(0.000955| 0.051362| 0.021739),(0.089449| -0.087597| -0.067929| 0.989804),(0.000552| 0.090021| 0.046763),(0.185170| -0.114317| -0.010211| 0.975982),(-0.006371| 0.106010| 0.068011),(0.489697| -0.175459| 0.151818| 0.840454),(-0.014744| 0.106786| 0.082560),(-0.624767| 0.198168| -0.229972| -0.719381),(0.011516| 0.043541| 0.030238),(0.081390| -0.131395| -0.166093| 0.973922),(0.019048| 0.077060| 0.051506),(0.140407| -0.135288| -0.170323| 0.965905),(0.018404| 0.090827| 0.066886),(0.456144| -0.251930| 0.028439| 0.853027),(0.011964| 0.093011| 0.078048),(-0.591261| 0.296511| -0.130420| -0.738568)
-0.860000,(-0.000217| -0.000366| 0.001052),(0.003857| 0.007193| 0.005670| 0.999951),(-0.033149| 0.015088| 0.010576),(0.142918| -0.841420| -0.095720| 0.512274),(-0.046822| 0.027847| 0.018842),(0.356782| -0.759269| -0.129802| 0.528553),(-0.066822| 0.049487| 0.035868),(0.318184| -0.703853| -0.260433| 0.579245),(-0.073128| 0.062177| 0.050966),(0.235272| -0.571123| -0.466879| 0.632843),(-0.027162| 0.054707| 0.010870),(0.037513| -0.027705| 0.101953| 0.993696),(-0.041105| 0.098260| 0.031840),(0.095862| -0.051495| 0.183160| 0.977042),(-0.052327| 0.115776| 0.047966),(0.342773| -0.038941| 0.276764| 0.896879),(-0.059339| 0.119862| 0.060577),(0.464610| -0.031001| 0.318374| 0.825721),(-0.012585| 0.055389| 0.015774),(0.067270| -0.081192| 0.010914| 0.994366),(-0.019242| 0.099501| 0.040129),(0.133844| -0.094346| 0.052738| 0.985091),(-0.028182| 0.118221| 0.060713),(0.445084| -0.124568| 0.198364| 0.864312),(-0.036369| 0.119680| 0.075601),(-0.606871| 0.134975| -0.274742| -0.733490),(0.000705| 0.051246| 0.022067),(0.089391| -0.086098| -0.069930| 0.989801),(0.000241| 0.089731| 0.047367),(0.185323| -0.112071| -0.013998| 0.976166),(-0.006567| 0.105440| 0.068811),(0.495861| -0.171413| 0.144742| 0.838922),(-0.014773| 0.105882| 0.083459),(-0.633923| 0.193287| -0.221778| -0.715260),(0.011470| 0.043480| 0.030356),(0.080413| -0.129238| -0.168304| 0.973912),(0.019103| 0.076926| 0.051710),(0.136350| -0.129914| -0.178339| 0.965778),(0.018757| 0.090608| 0.067158),(0.457746| -0.246382| 0.015203| 0.854128),(0.012505| 0.092633| 0.078433),(-0.599478| 0.292338| -0.118442| -0.735619)
-0.880000,(-0.000070| -0.000142| 0.000402),(0.001534| 0.002643| 0.002170| 0.999993),(-0.033169| 0.014936| 0.010782),(0.145668| -0.840793| -0.098971| 0.511911),(-0.046886| 0.027602| 0.019117),(0.359703| -0.757680| -0.132904| 0.528083),(-0.066955| 0.049095| 0.036252),(0.320302| -0.702169| -0.263175| 0.578882),(-0.073285| 0.061718| 0.051396),(0.235896| -0.569340| -0.468924| 0.632705),(-0.027326| 0.054576| 0.011151),(0.037867| -0.028272| 0.101337| 0.993729),(-0.041339| 0.098025| 0.032293),(0.096693| -0.052092| 0.182304| 0.977089),(-0.052560| 0.115458| 0.048512),(0.343991| -0.038760| 0.274789| 0.897028),(-0.059534| 0.119481| 0.061165),(0.466375| -0.030380| 0.315986| 0.825666),(-0.012729| 0.055299| 0.015992),(0.067394| -0.081385| 0.010004| 0.994351),(-0.019428| 0.099353| 0.040449),(0.132942| -0.094374| 0.051241| 0.985289),(-0.028329| 0.118057| 0.061071),(0.444811| -0.123613| 0.195226| 0.865303),(-0.036453| 0.119502| 0.075994),(-0.607544| 0.133518| -0.271060| -0.734567),(0.000604| 0.051188| 0.022216),(0.089143| -0.085973| -0.070958| 0.989761),(0.000115| 0.089613| 0.047608),(0.185153| -0.111686| -0.015621| 0.976217),(-0.006658| 0.105234| 0.069115),(0.497567| -0.170283| 0.141922| 0.838623),(-0.014810| 0.105574| 0.083795),(-0.636578| 0.191789| -0.218547| -0.714299),(0.011433| 0.043438| 0.030438),(0.079863| -0.128866| -0.169403| 0.973816),(0.019096| 0.076859| 0.051824),(0.134736| -0.128454| -0.181341| 0.965640),(0.018847| 0.090516| 0.067294),(0.457937| -0.244724| 0.010330| 0.854574),(0.012658| 0.092494| 0.078606),(-0.601797| 0.291018| -0.113861| -0.734973)
-0.900000,(-0.000365| -0.000423| 0.001675),(0.012474| 0.006360| 0.006715| 0.999879),(-0.033220| 0.014400| 0.011290),(0.155952| -0.835650| -0.121871| 0.512363),(-0.047034| 0.026630| 0.020104),(0.369039| -0.748755| -0.155415| 0.528226),(-0.067274| 0.047366| 0.037978),(0.327728| -0.691496| -0.282110| 0.578655),(-0.073739| 0.059545| 0.053459),(0.240354| -0.557605| -0.480753| 0.632600),(-0.027927| 0.054096| 0.012595),(0.039853| -0.029753| 0.100520| 0.993691),(-0.042412| 0.096613| 0.035185),(0.106127| -0.056025| 0.185012| 0.975381),(-0.053854| 0.113138| 0.052196),(0.354376| -0.040628| 0.274398| 0.893013),(-0.060762| 0.116504| 0.065089),(0.475913| -0.031161| 0.313602| 0.821090),(-0.013273| 0.054909| 0.017252),(0.068877| -0.080136| 0.007495| 0.994373),(-0.020488| 0.098081| 0.043054),(0.140390| -0.095309| 0.053047| 0.984069),(-0.029678| 0.115836| 0.064407),(0.453282| -0.122274| 0.191710| 0.861877),(-0.037696| 0.116552| 0.079446),(-0.617315| 0.130932| -0.265035| -0.729065),(0.000202| 0.050836| 0.023188),(0.089596| -0.082388| -0.073837| 0.989815),(-0.000618| 0.088412| 0.049752),(0.194198| -0.109510| -0.017497| 0.974674),(-0.007522| 0.102983| 0.071937),(0.509657| -0.167649| 0.134778| 0.833054),(-0.015553| 0.102484| 0.086681),(-0.649967| 0.189060| -0.209262| -0.705697),(0.011251| 0.043036| 0.031059),(0.079581| -0.122931| -0.173212| 0.973937),(0.018949| 0.075931| 0.053229),(0.135497| -0.118121| -0.192843| 0.964624),(0.019070| 0.089182| 0.069125),(0.457995| -0.236175| -0.012117| 0.856922),(0.013185| 0.090892| 0.080634),(-0.606714| 0.285868| -0.090174| -0.736238)
-0.920000,(-0.000186| -0.000118| 0.001060),(0.008163| 0.004093| 0.004344| 0.999949),(-0.033365| 0.014063| 0.011651),(0.160880| -0.832837| -0.135878| 0.511897),(-0.047224| 0.026068| 0.020712),(0.373231| -0.743815| -0.169243| 0.528011),(-0.067553| 0.046415| 0.038960),(0.330879| -0.685716| -0.293663| 0.577991),(-0.074105| 0.058365| 0.054606),(0.241924| -0.551450| -0.488084| 0.631783),(-0.028351| 0.053778| 0.013457),(0.039431| -0.031633| 0.099015| 0.993801),(-0.043080| 0.095777| 0.036834),(0.110847| -0.059203| 0.185424| 0.974590),(-0.054638| 0.111768| 0.054299),(0.360163| -0.042546| 0.273228| 0.890965),(-0.061507| 0.114745| 0.067328),(0.480959| -0.032433| 0.311247| 0.818995),(-0.013670| 0.054634| 0.018025),(0.068148| -0.080394| 0.005035| 0.994418),(-0.021144| 0.097320| 0.044552),(0.143468| -0.096639| 0.052587| 0.983520),(-0.030485| 0.114503| 0.066311),(0.458657| -0.122461| 0.189047| 0.859592),(-0.038456| 0.114747| 0.081406),(-0.623524| 0.130317| -0.261080| -0.725308),(-0.000125| 0.050576| 0.023816),(0.088278| -0.081267| -0.076469| 0.989826),(-0.001099| 0.087712| 0.050979),(0.196820| -0.108945| -0.020063| 0.974161),(-0.008060| 0.101736| 0.073496),(0.515074| -0.166841| 0.129767| 0.830677),(-0.016038| 0.100773| 0.088257),(-0.656954| 0.188149| -0.203532| -0.701132),(0.011034| 0.042748| 0.031505),(0.077856| -0.120394| -0.176350| 0.973830),(0.018707| 0.075359| 0.054107),(0.134976| -0.113804| -0.198600| 0.964048),(0.018937| 0.088361| 0.070235),(0.458488| -0.232640| -0.022898| 0.857405),(0.013156| 0.089877| 0.081829),(-0.609274| 0.283533| -0.078283| -0.736387)
-0.940000,(-0.000801| 0.000136| 0.000843),(0.009449| 0.004079| 0.003442| 0.999941),(-0.033258| 0.013799| 0.011934),(0.166276| -0.828506| -0.153466| 0.512229),(-0.047138| 0.025416| 0.021454),(0.379773| -0.735632| -0.188304| 0.528356),(-0.067491| 0.045069| 0.040429),(0.336176| -0.675513| -0.310141| 0.578343),(-0.074062| 0.056564| 0.056424),(0.245513| -0.539517| -0.498761| 0.632363),(-0.028576| 0.053488| 0.014514),(0.041433| -0.032810| 0.098578| 0.993725),(-0.043453| 0.094629| 0.039193),(0.124617| -0.060904| 0.185840| 0.972741),(-0.054981| 0.109668| 0.057492),(0.376155| -0.044095| 0.271535| 0.884778),(-0.061696| 0.111942| 0.070755),(0.494996| -0.034036| 0.307618| 0.811906),(-0.013857| 0.054367| 0.018966),(0.069688| -0.079484| 0.003406| 0.994391),(-0.021378| 0.096345| 0.046573),(0.149450| -0.095262| 0.048878| 0.982955),(-0.030595| 0.112785| 0.068934),(0.467287| -0.122438| 0.182387| 0.856380),(-0.038406| 0.112501| 0.084130),(-0.629778| 0.130937| -0.251573| -0.723151),(-0.000228| 0.050297| 0.024550),(0.089109| -0.078596| -0.078271| 0.989826),(-0.001172| 0.086780| 0.052579),(0.201265| -0.105499| -0.025411| 0.973507),(-0.007948| 0.100132| 0.075552),(0.521530| -0.165447| 0.120653| 0.828298),(-0.015767| 0.098678| 0.090358),(-0.664288| 0.187946| -0.193067| -0.697225),(0.011062| 0.042401| 0.031971),(0.078091| -0.115825| -0.178824| 0.973914),(0.018804| 0.074497| 0.055260),(0.138395| -0.106239| -0.205883| 0.962898),(0.019268| 0.087065| 0.071766),(0.461013| -0.227555| -0.037405| 0.856905),(0.013682| 0.088324| 0.083496),(-0.611798| 0.280514| -0.060750| -0.737106)
-0.960000,(-0.000511| -0.000019| 0.000910),(0.016272| 0.013116| 0.010954| 0.999722),(-0.033194| 0.012949| 0.012878),(0.179997| -0.819182| -0.184998| 0.512170),(-0.047035| 0.024101| 0.022983),(0.386537| -0.723565| -0.219939| 0.527891),(-0.067432| 0.042968| 0.042748),(0.341115| -0.664711| -0.333077| 0.575204),(-0.074250| 0.054077| 0.058975),(0.247940| -0.533435| -0.509200| 0.628242),(-0.029332| 0.052589| 0.016660),(0.044939| -0.035083| 0.096328| 0.993716),(-0.044425| 0.092464| 0.043153),(0.134492| -0.063865| 0.181018| 0.972145),(-0.055801| 0.107024| 0.062177),(0.362559| -0.046376| 0.252978| 0.895769),(-0.062282| 0.109543| 0.075519),(0.477487| -0.035596| 0.285546| 0.830182),(-0.014524| 0.053649| 0.020756),(0.071653| -0.078002| -0.001032| 0.994374),(-0.022298| 0.094574| 0.049822),(0.150155| -0.094930| 0.044073| 0.983107),(-0.031316| 0.110764| 0.072773),(0.450754| -0.117065| 0.160653| 0.870234),(-0.038690| 0.110790| 0.088186),(-0.617197| 0.124132| -0.226054| -0.743343),(-0.000669| 0.049710| 0.025849),(0.088873| -0.074030| -0.083109| 0.989805),(-0.001777| 0.085208| 0.055086),(0.203550| -0.101872| -0.030943| 0.973258),(-0.008359| 0.097752| 0.078649),(0.523177| -0.157241| 0.102609| 0.831284),(-0.015754| 0.095843| 0.093628),(-0.667681| 0.178235| -0.170031| -0.702512),(0.010980| 0.041833| 0.032706),(0.075986| -0.108211| -0.184519| 0.973894),(0.018673| 0.073258| 0.056893),(0.137714| -0.095887| -0.213964| 0.962320),(0.019453| 0.085366| 0.073852),(0.456973| -0.212761| -0.063271| 0.861339),(0.014330| 0.086342| 0.085813),(-0.612996| 0.266799| -0.029471| -0.743092)
-0.980000,(-0.000597| 0.000049| 0.000716),(0.017163| 0.008984| 0.007953| 0.999781),(-0.033113| 0.012291| 0.013506),(0.189572| -0.809153| -0.216409| 0.512349),(-0.046940| 0.023018| 0.024075),(0.390379| -0.712422| -0.248674| 0.527466),(-0.067384| 0.041142| 0.044504),(0.343822| -0.653199| -0.355890| 0.573114),(-0.074365| 0.051811| 0.060988),(0.249004| -0.522899| -0.522941| 0.625385),(-0.029841| 0.051799| 0.018604),(0.047493| -0.037410| 0.094422| 0.993695),(-0.044980| 0.090510| 0.046744),(0.138582| -0.066355| 0.174117| 0.972664),(-0.056120| 0.104584| 0.066389),(0.353778| -0.049321| 0.238232| 0.903136),(-0.062387| 0.107105| 0.079838),(0.465560| -0.038624| 0.268332| 0.842472),(-0.014978| 0.052962| 0.022465),(0.073078| -0.076509| -0.004831| 0.994376),(-0.022854| 0.092822| 0.052952),(0.148550| -0.094088| 0.038235| 0.983676),(-0.031648| 0.108587| 0.076448),(0.439902| -0.114224| 0.144286| 0.878989),(-0.038697| 0.108650| 0.092027),(-0.605915| 0.120818| -0.205634| -0.758937),(-0.000969| 0.049084| 0.027165),(0.088713| -0.069434| -0.087018| 0.989817),(-0.002139| 0.083464| 0.057667),(0.206557| -0.097736| -0.036900| 0.972841),(-0.008523| 0.095031| 0.081799),(0.527087| -0.151812| 0.087943| 0.831504),(-0.015604| 0.092485| 0.096822),(-0.674119| 0.172806| -0.152357| -0.701775),(0.010929| 0.041170| 0.033527),(0.074493| -0.100317| -0.189308| 0.973935),(0.018629| 0.071789| 0.058695),(0.137729| -0.084765| -0.221565| 0.961642),(0.019724| 0.083370| 0.076104),(0.451593| -0.199276| -0.085783| 0.865445),(0.015046| 0.084141| 0.088281),(-0.605544| 0.253212| 0.001278| -0.754453)
-1.000000,(-0.000628| 0.000065| 0.000686),(0.017956| 0.008493| 0.007623| 0.999774),(-0.033072| 0.011592| 0.014241),(0.196523| -0.798904| -0.247320| 0.511823),(-0.046891| 0.021940| 0.025205),(0.392241| -0.701536| -0.276520| 0.526812),(-0.067377| 0.039397| 0.046211),(0.344589| -0.641643| -0.378750| 0.571053),(-0.074491| 0.049655| 0.062932),(0.248102| -0.511452| -0.537914| 0.622504),(-0.030291| 0.050962| 0.020568),(0.047727| -0.040755| 0.091546| 0.993821),(-0.045434| 0.088632| 0.050173),(0.139113| -0.069660| 0.165975| 0.973780),(-0.056337| 0.102267| 0.070358),(0.344766| -0.053117| 0.224034| 0.910013),(-0.062412| 0.104749| 0.083909),(0.453906| -0.042562| 0.252059| 0.853595),(-0.015384| 0.052202| 0.024238),(0.072236| -0.076082| -0.009380| 0.994437),(-0.023320| 0.091086| 0.056013),(0.144517| -0.094148| 0.031380| 0.984513),(-0.031904| 0.106433| 0.079994),(0.429210| -0.112804| 0.128893| 0.886815),(-0.038677| 0.106479| 0.095714),(-0.594046| 0.118989| -0.186377| -0.773443),(-0.001250| 0.048365| 0.028599),(0.086431| -0.065987| -0.091511| 0.989849),(-0.002456| 0.081694| 0.060270),(0.207367| -0.094477| -0.043741| 0.972708),(-0.008657| 0.092333| 0.084914),(0.529448| -0.147613| 0.073574| 0.832155),(-0.015472| 0.089169| 0.099951),(-0.679321| 0.168632| -0.135540| -0.701225),(0.010853| 0.040407| 0.034523),(0.071009| -0.093572| -0.194546| 0.973835),(0.018571| 0.070259| 0.060605),(0.135532| -0.074740| -0.229357| 0.960958),(0.019953| 0.081345| 0.078423),(0.444212| -0.187123| -0.107071| 0.869596),(0.015680| 0.081947| 0.090793),(-0.594645| 0.240492| 0.030919| -0.766554)
-1.020000,(-0.000593| -0.001054| 0.002441),(0.027575| 0.012630| 0.014350| 0.999437),(-0.032760| 0.010390| 0.015066),(0.213574| -0.776878| -0.297232| 0.512348),(-0.046620| 0.019911| 0.026682),(0.400981| -0.678610| -0.319901| 0.525705),(-0.067292| 0.035936| 0.048628),(0.352460| -0.618594| -0.413383| 0.567652),(-0.074731| 0.045332| 0.065731),(0.254046| -0.489635| -0.559848| 0.618295),(-0.031041| 0.049304| 0.023636),(0.053166| -0.043526| 0.088579| 0.993697),(-0.046294| 0.085142| 0.055436),(0.131347| -0.072969| 0.153139| 0.976715),(-0.056880| 0.098300| 0.076137),(0.325242| -0.055875| 0.204139| 0.921642),(-0.062692| 0.100765| 0.089775),(0.434812| -0.044476| 0.230499| 0.869385),(-0.016089| 0.050784| 0.026989),(0.075949| -0.072329| -0.014793| 0.994375),(-0.024144| 0.088053| 0.060652),(0.129573| -0.091031| 0.020272| 0.987175),(-0.032350| 0.102892| 0.085096),(0.413528| -0.105831| 0.108305| 0.897811),(-0.038663| 0.102719| 0.100979),(-0.582661| 0.110097| -0.161838| -0.788792),(-0.001737| 0.047147| 0.030734),(0.087620| -0.057183| -0.096546| 0.989814),(-0.003013| 0.078718| 0.064154),(0.203069| -0.085164| -0.053380| 0.973992),(-0.008807| 0.088066| 0.089354),(-0.530875| 0.134423| -0.052794| -0.835054),(-0.015090| 0.084015| 0.104363),(-0.685606| 0.154249| -0.110404| -0.702824),(0.010741| 0.039238| 0.035864),(0.070193| -0.079361| -0.200583| 0.973931),(0.018565| 0.067897| 0.063201),(0.121451| -0.052141| -0.241081| 0.961463),(0.020561| 0.078368| 0.081339),(0.432746| -0.161392| -0.136191| 0.876434),(0.016942| 0.078585| 0.093923),(-0.583531| 0.213821| 0.069764| -0.780324)
-1.040000,(-0.000249| -0.000736| 0.001536),(0.014432| 0.006513| 0.009049| 0.999834),(-0.032691| 0.009590| 0.015705),(0.221485| -0.765614| -0.321036| 0.511582),(-0.046589| 0.018710| 0.027601),(0.405463| -0.665910| -0.341318| 0.525038),(-0.067379| 0.034048| 0.049949),(0.356299| -0.606045| -0.430816| 0.565825),(-0.074977| 0.043039| 0.067213),(0.256227| -0.477635| -0.571731| 0.615903),(-0.031517| 0.048293| 0.025192),(0.052604| -0.046010| 0.085289| 0.993902),(-0.046881| 0.083441| 0.057780),(0.121277| -0.075527| 0.144618| 0.979119),(-0.057350| 0.096522| 0.078579),(0.313159| -0.057360| 0.193559| 0.927996),(-0.063059| 0.098989| 0.092237),(0.424674| -0.045007| 0.219654| 0.877142),(-0.016555| 0.049917| 0.028421),(0.074595| -0.071688| -0.019074| 0.994451),(-0.024754| 0.086501| 0.062832),(0.120172| -0.090649| 0.013632| 0.988512),(-0.032849| 0.101107| 0.087447),(0.405140| -0.102671| 0.097930| 0.903178),(-0.038979| 0.100811| 0.103389),(-0.575845| 0.105293| -0.149631| -0.796823),(-0.002108| 0.046406| 0.031916),(0.085030| -0.054191| -0.100520| 0.989813),(-0.003515| 0.077251| 0.066027),(0.198003| -0.081944| -0.058892| 0.974993),(-0.009190| 0.086096| 0.091432),(-0.527952| 0.127682| -0.042239| -0.838558),(-0.015246| 0.081723| 0.106436),(-0.684601| 0.145989| -0.097771| -0.707424),(0.010542| 0.038558| 0.036724),(0.066742| -0.073887| -0.204875| 0.973711),(0.018258| 0.066755| 0.064577),(0.112794| -0.044440| -0.245353| 0.961824),(0.020353| 0.076969| 0.082844),(0.427167| -0.150717| -0.147086| 0.879306),(0.016931| 0.076980| 0.095490),(-0.577690| 0.201332| 0.084937| -0.786464)
-1.060000,(-0.000088| -0.000620| 0.001370),(0.011454| 0.005115| 0.007238| 0.999895),(-0.032589| 0.009124| 0.015765),(0.230519| -0.753549| -0.341674| 0.512136),(-0.046696| 0.017810| 0.027719),(0.412958| -0.656341| -0.353273| 0.523336),(-0.067810| 0.032421| 0.050200),(0.361992| -0.594923| -0.442539| 0.564966),(-0.075519| 0.040974| 0.067587),(0.257299| -0.462448| -0.583178| 0.616314),(-0.031999| 0.047530| 0.026265),(0.055951| -0.046491| 0.084613| 0.993755),(-0.047520| 0.081741| 0.059760),(0.118254| -0.076875| 0.140954| 0.979918),(-0.057922| 0.094177| 0.080851),(0.322881| -0.055876| 0.191619| 0.925153),(-0.063482| 0.095967| 0.094645),(0.437807| -0.042085| 0.217551| 0.871336),(-0.017035| 0.049316| 0.029363),(0.077167| -0.069254| -0.020584| 0.994397),(-0.025338| 0.084951| 0.064709),(0.119369| -0.087587| 0.009544| 0.988933),(-0.033310| 0.098588| 0.089694),(0.420542| -0.097803| 0.094516| 0.897021),(-0.039232| 0.097193| 0.105591),(-0.600485| 0.098864| -0.146772| -0.779809),(-0.002496| 0.045959| 0.032589),(0.086411| -0.049607| -0.101685| 0.989814),(-0.003861| 0.076152| 0.067316),(0.190600| -0.075207| -0.064396| 0.976662),(-0.009231| 0.084536| 0.092804),(-0.531020| 0.119583| -0.034199| -0.838182),(-0.015022| 0.079676| 0.107726),(-0.690408| 0.137095| -0.088140| -0.704821),(0.010327| 0.038199| 0.037051),(0.067234| -0.067034| -0.206308| 0.973870),(0.018040| 0.065905| 0.065376),(0.104407| -0.033757| -0.248715| 0.962341),(0.020304| 0.075789| 0.083702),(0.429819| -0.140246| -0.154512| 0.878472),(0.016997| 0.075352| 0.096339),(-0.585496| 0.191294| 0.093568| -0.782206)
-1.080000,(-0.000106| -0.000620| 0.001229),(0.009631| 0.006067| 0.009405| 0.999891),(-0.032506| 0.008459| 0.016043),(0.240795| -0.741954| -0.359280| 0.512290),(-0.046727| 0.016628| 0.028209),(0.422357| -0.643045| -0.367593| 0.522477),(-0.067956| 0.030373| 0.051077),(0.368352| -0.579466| -0.457176| 0.565267),(-0.075558| 0.038402| 0.068708),(0.256838| -0.442093| -0.597458| 0.617764),(-0.032568| 0.046611| 0.027324),(0.058480| -0.046822| 0.083298| 0.993705),(-0.048240| 0.079953| 0.061612),(0.117693| -0.076295| 0.136024| 0.980727),(-0.058485| 0.091715| 0.083029),(0.335344| -0.051282| 0.187434| 0.921837),(-0.063801| 0.092787| 0.096953),(0.455292| -0.035264| 0.213049| 0.863757),(-0.017607| 0.048623| 0.030274),(0.078802| -0.067091| -0.022583| 0.994374),(-0.026127| 0.083343| 0.066439),(0.121920| -0.085060| 0.006530| 0.988867),(-0.034036| 0.096039| 0.091781),(0.433752| -0.091248| 0.090073| 0.891863),(-0.039714| 0.093767| 0.107618),(-0.617532| 0.089631| -0.141014| -0.768593),(-0.002969| 0.045487| 0.033247),(0.086648| -0.045674| -0.103384| 0.989807),(-0.004495| 0.075012| 0.068528),(0.188953| -0.070818| -0.067156| 0.977124),(-0.009754| 0.082799| 0.094145),(-0.535877| 0.110475| -0.027849| -0.836574),(-0.015289| 0.077453| 0.108979),(-0.695752| 0.125548| -0.079440| -0.702749),(0.010053| 0.037890| 0.037390),(0.066484| -0.061402| -0.208097| 0.973912),(0.017484| 0.065192| 0.066174),(0.102233| -0.029202| -0.247273| 0.963095),(0.019567| 0.074685| 0.084641),(0.437203| -0.132183| -0.156120| 0.875790),(0.016264| 0.073769| 0.097238),(-0.593787| 0.180573| 0.097602| -0.778000)
-1.100000,(-0.000121| -0.000686| 0.001375),(0.010945| 0.006608| 0.010126| 0.999867),(-0.032552| 0.007650| 0.016550),(0.248567| -0.731050| -0.377674| 0.511021),(-0.046870| 0.015397| 0.028886),(0.429104| -0.630550| -0.383084| 0.521078),(-0.068202| 0.028433| 0.052066),(0.372185| -0.565236| -0.472616| 0.564465),(-0.075728| 0.036034| 0.069892),(0.254371| -0.423991| -0.611892| 0.617345),(-0.033150| 0.045591| 0.028487),(0.057974| -0.048767| 0.079520| 0.993950),(-0.048946| 0.078213| 0.063435),(0.114542| -0.077563| 0.129157| 0.981928),(-0.059066| 0.089429| 0.085117),(0.342814| -0.048578| 0.180975| 0.920525),(-0.064185| 0.089920| 0.099148),(0.466856| -0.030318| 0.206323| 0.859393),(-0.018191| 0.047787| 0.031315),(0.077386| -0.066602| -0.026968| 0.994409),(-0.026885| 0.081752| 0.068161),(0.121047| -0.084213| 0.001120| 0.989068),(-0.034740| 0.093678| 0.093796),(0.442033| -0.086201| 0.083246| 0.888958),(-0.040218| 0.090687| 0.109587),(-0.629399| 0.081740| -0.133221| -0.761201),(-0.003472| 0.044829| 0.034079),(0.083889| -0.043473| -0.107409| 0.989715),(-0.005124| 0.073802| 0.069823),(0.184498| -0.068039| -0.072370| 0.977800),(-0.010283| 0.081101| 0.095546),(-0.537405| 0.102926| -0.019393| -0.836795),(-0.015606| 0.075356| 0.110309),(-0.698221| 0.115537| -0.069139| -0.703106),(0.009713| 0.037362| 0.037958),(0.062796| -0.057504| -0.212135| 0.973524),(0.016923| 0.064326| 0.067121),(0.096950| -0.025840| -0.248820| 0.963339),(0.018876| 0.073500| 0.085702),(0.440315| -0.125091| -0.160877| 0.874410),(0.015583| 0.072194| 0.098269),(-0.598210| 0.170947| 0.104452| -0.775894)
-1.120000,(0.000721| -0.000821| 0.001400),(0.012984| -0.002225| 0.008050| 0.999881),(-0.032369| 0.006883| 0.016428),(0.264176| -0.714597| -0.396247| 0.512396),(-0.047056| 0.013878| 0.028755),(0.446805| -0.612941| -0.392325| 0.520337),(-0.068840| 0.025625| 0.052095),(0.385716| -0.541392| -0.486057| 0.567333),(-0.076268| 0.032384| 0.070186),(0.258174| -0.387607| -0.628614| 0.622857),(-0.033822| 0.044358| 0.029531),(0.060978| -0.048422| 0.080562| 0.993704),(-0.050150| 0.076005| 0.065154),(0.103521| -0.075936| 0.123359| 0.984022),(-0.060184| 0.086216| 0.086958),(0.373348| -0.039596| 0.185691| 0.908054),(-0.064980| 0.085079| 0.100981),(-0.512621| 0.017543| -0.214195| -0.831283),(-0.018918| 0.046782| 0.032444),(0.080999| -0.062872| -0.026325| 0.994381),(-0.028364| 0.079332| 0.070317),(0.126779| -0.080741| 0.002055| 0.988637),(-0.036526| 0.089438| 0.096211),(-0.474769| 0.078808| -0.092459| -0.871685),(-0.041902| 0.084610| 0.111486),(-0.665895| 0.071553| -0.144495| -0.728413),(-0.004150| 0.044039| 0.035140),(0.087278| -0.037363| -0.106068| 0.989816),(-0.006518| 0.071966| 0.071647),(0.184452| -0.063294| -0.069524| 0.978334),(-0.012022| 0.078184| 0.097345),(-0.551898| 0.094335| -0.026760| -0.828127),(-0.017324| 0.071449| 0.111649),(-0.712338| 0.104616| -0.076952| -0.689717),(0.009177| 0.036731| 0.038817),(0.066687| -0.048829| -0.211253| 0.973931),(0.015564| 0.062943| 0.068833),(0.102171| -0.021202| -0.241036| 0.964890),(0.016776| 0.071238| 0.087644),(0.467675| -0.120253| -0.146368| 0.863363),(0.012990| 0.068722| 0.099806),(-0.637119| 0.166816| 0.083954| -0.747800)
-1.140000,(0.000233| 0.000146| 0.000309),(0.004682| -0.001273| 0.002674| 0.999985),(-0.032365| 0.006686| 0.016315),(0.269118| -0.709363| -0.402272| 0.512403),(-0.047203| 0.013420| 0.028602),(0.453304| -0.607002| -0.394822| 0.519789),(-0.069167| 0.024721| 0.051959),(0.390430| -0.532801| -0.490585| 0.568343),(-0.076553| 0.031183| 0.070138),(-0.259092| 0.374084| 0.634497| -0.624777),(-0.034075| 0.044010| 0.029778),(0.061149| -0.048850| 0.080343| 0.993690),(-0.050587| 0.075452| 0.065523),(0.096462| -0.075775| 0.119916| 0.985177),(-0.060590| 0.085427| 0.087288),(0.382984| -0.036922| 0.187053| 0.903865),(-0.065286| 0.083749| 0.101274),(-0.527426| 0.013720| -0.216920| -0.821327),(-0.019190| 0.046495| 0.032743),(0.081518| -0.062176| -0.026625| 0.994374),(-0.028883| 0.078647| 0.070890),(0.126741| -0.079660| 0.001154| 0.988731),(-0.037135| 0.088244| 0.096812),(-0.483807| 0.076860| -0.095050| -0.866596),(-0.042497| 0.082879| 0.111895),(-0.675622| 0.068988| -0.148064| -0.718925),(-0.004414| 0.043804| 0.035450),(0.087858| -0.035879| -0.106107| 0.989816),(-0.007002| 0.071506| 0.072131),(0.180576| -0.061654| -0.070031| 0.979126),(-0.012589| 0.077580| 0.097779),(-0.552617| 0.091886| -0.028251| -0.827873),(-0.017902| 0.070661| 0.111982),(-0.713526| 0.101695| -0.079016| -0.688691),(0.008944| 0.036532| 0.039096),(0.067593| -0.046458| -0.211449| 0.973942),(0.015020| 0.062535| 0.069363),(0.102095| -0.020717| -0.238438| 0.965554),(0.015959| 0.070615| 0.088212),(-0.474161| 0.119206| 0.140903| -0.860876),(0.012003| 0.067764| 0.100222),(-0.647830| 0.165867| 0.075974| -0.739616)
-1.159999,(0.000187| 0.000259| 0.000236),(0.004591| -0.001528| 0.002433| 0.999985),(-0.032425| 0.006479| 0.016250),(0.273025| -0.704610| -0.407675| 0.512623),(-0.047386| 0.013000| 0.028504),(0.458564| -0.601468| -0.397279| 0.519735),(-0.069498| 0.023935| 0.051873),(0.394214| -0.525005| -0.494672| 0.569444),(-0.076852| 0.030155| 0.070122),(-0.259856| 0.362291| 0.639469| -0.626339),(-0.034331| 0.043682| 0.030000),(0.060393| -0.049003| 0.079703| 0.993780),(-0.050995| 0.074981| 0.065823),(0.089385| -0.075456| 0.116486| 0.986280),(-0.060973| 0.084788| 0.087541),(0.389687| -0.034602| 0.187917| 0.900907),(-0.065595| 0.082684| 0.101491),(-0.538156| 0.010549| -0.219025| -0.813822),(-0.019462| 0.046211| 0.033013),(0.081119| -0.061336| -0.027315| 0.994440),(-0.029354| 0.078049| 0.071375),(0.125847| -0.078403| -0.000131| 0.988947),(-0.037678| 0.087242| 0.097312),(-0.490295| 0.075029| -0.096935| -0.862893),(-0.043033| 0.081448| 0.112235),(-0.682609| 0.066787| -0.150929| -0.711903),(-0.004683| 0.043555| 0.035739),(0.087566| -0.034342| -0.106553| 0.989848),(-0.007445| 0.071087| 0.072553),(0.176390| -0.059848| -0.071041| 0.979928),(-0.013095| 0.077064| 0.098155),(-0.552251| 0.089611| -0.029168| -0.828335),(-0.018422| 0.070010| 0.112280),(-0.713619| 0.099164| -0.080564| -0.688785),(0.008696| 0.036308| 0.039367),(0.067654| -0.044126| -0.212031| 0.973919),(0.014519| 0.062141| 0.069834),(0.101324| -0.019845| -0.236812| 0.966054),(0.015235| 0.070050| 0.088713),(-0.478736| 0.117957| 0.136692| -0.859194),(0.011141| 0.066931| 0.100597),(-0.655712| 0.164718| 0.069602| -0.733529)
-1.179999,(-0.000033| 0.000141| 0.000171),(-0.000770| -0.003999| -0.002948| 0.999987),(-0.032459| 0.006657| 0.015987),(0.272873| -0.706464| -0.404650| 0.512550),(-0.047478| 0.013153| 0.028182),(0.460484| -0.602117| -0.393952| 0.519818),(-0.069656| 0.024025| 0.051502),(0.396292| -0.524119| -0.492813| 0.570427),(-0.077007| 0.030169| 0.069770),(-0.262704| 0.359486| 0.638536| -0.627717),(-0.034279| 0.043879| 0.029724),(0.060209| -0.049363| 0.080712| 0.993692),(-0.051032| 0.075376| 0.065346),(0.085308| -0.075322| 0.115988| 0.986710),(-0.061038| 0.085165| 0.086936),(0.397336| -0.034854| 0.192536| 0.896571),(-0.065681| 0.082760| 0.100816),(-0.548930| 0.011114| -0.225228| -0.804876),(-0.019421| 0.046340| 0.032852),(0.081734| -0.061896| -0.026125| 0.994387),(-0.029376| 0.078268| 0.071128),(0.125231| -0.077593| -0.000415| 0.989089),(-0.037739| 0.087332| 0.096961),(-0.497994| 0.076712| -0.101641| -0.857780),(-0.043180| 0.081240| 0.111715),(-0.690766| 0.069696| -0.157375| -0.702295),(-0.004678| 0.043610| 0.035699),(0.088965| -0.035002| -0.105331| 0.989831),(-0.007488| 0.071223| 0.072464),(0.175243| -0.058902| -0.071439| 0.980162),(-0.013173| 0.077269| 0.097996),(-0.553446| 0.091949| -0.032200| -0.827168),(-0.018620| 0.070186| 0.112049),(-0.715757| 0.102997| -0.085332| -0.685421),(0.008632| 0.036296| 0.039440),(0.069843| -0.044764| -0.210967| 0.973967),(0.014421| 0.062092| 0.069938),(0.103199| -0.018554| -0.237693| 0.965665),(0.015118| 0.069923| 0.088803),(-0.483443| 0.120272| 0.134231| -0.856621),(0.010916| 0.066713| 0.100613),(-0.660403| 0.168546| 0.065412| -0.728822)
-
diff --git a/Sandbox/IncorrectData/.gitkeep b/Sandbox/IncorrectData/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/Sandbox/IncorrectTestData/.gitkeep b/Sandbox/IncorrectTestData/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/Sandbox/Program.cs b/Sandbox/Program.cs
index f391339..2740364 100644
--- a/Sandbox/Program.cs
+++ b/Sandbox/Program.cs
@@ -1,7 +1,6 @@
-using MotionRecognition;
+using MotionRecognition;
using MotionRecognitionHelper;
using System;
-using System.Collections.Generic;
namespace Sandbox
{
@@ -9,93 +8,7 @@ class Program
{
static void Main(string[] args)
{
- string dataPath = @"../../../Data/";
-
- // Loader settings
- CSVLoaderSettings settings = new CSVLoaderSettings();
- settings.filePath = dataPath + "data.csv";
- settings.CSVHasHeader = true;
- settings.trimUp = 0;
- settings.trimDown = 0;
-
- List filters = new List(1);
-
- // This filter
- ICSVFilter quaternions = new CSVEvenColumnFilter();
- filters.Add(quaternions);
- settings.filters = filters;
-
- var data = CSVLoader.LoadData(ref settings);
-
- ImageTransformerSettings transformerSettings = new ImageTransformerSettings();
- transformerSettings.focusJoints = new LeapMotionJoint[] { LeapMotionJoint.PALM };
- transformerSettings.samples = data;
- transformerSettings.size = 10;
-
- //Transformer settings
- ImageTransformer transformer = new ImageTransformer();
- var arr = transformer.GetNeuralInput(transformerSettings);
- foreach (var d in arr)
- Console.WriteLine(d);
-
- //ManipulateAndImageCreate();
- }
-
- static void ManipulateAndImageCreate()
- {
- #region Csv Manipulation
- CSVManipulatorSettings manipulatorSettings = new CSVManipulatorSettings // Create manipulation settings
- {
- copyLines = 1,
- removeLines = 1,
- mutationCount = 5,
- deviationPercentage = 0.05f,
- innerDeviationPercentage = 0.01f,
- dataFile = "",
- dataFolder = "./CSV/",
- outputFolder = "./mutated/",
- alterInput = true,
- verbose = true
- };
-
- CSVManipulator.RunManipulator(ref manipulatorSettings);
- #endregion
-
- #region Image creation related calls
- System.IO.FileInfo[] FileInfo = new System.IO.DirectoryInfo(manipulatorSettings.outputFolder).GetFiles();
-
- CSVLoaderSettings csvLoaderSettings = new CSVLoaderSettings
- {
- CSVHasHeader = true,
- trimUp = 0,
- trimDown = 0
- };
-
- List csvFilters = new List(1);
-
- ICSVFilter evenFilter = new CSVEvenColumnFilter();
- csvFilters.Add(evenFilter);
- csvLoaderSettings.filters = csvFilters;
-
- ImageTransformerSettings transformerSettings = new ImageTransformerSettings
- {
- focusJoints = (LeapMotionJoint[])Enum.GetValues(typeof(LeapMotionJoint)),
- size = 100
- };
-
- foreach (var file in FileInfo)
- {
- csvLoaderSettings.filePath = file.FullName;
-
- var csvData = CSVLoader.LoadData(ref csvLoaderSettings);
-
- transformerSettings.samples = csvData;
-
- var outputArr = new ImageTransformer().GetNeuralInput(transformerSettings);
-
- ImageCreator.WriteBitmapToFS(ImageCreator.CreateNeuralImageFromDoubleArray(ref outputArr, transformerSettings.size, true), "./IMG/" + file.Name);
- }
- #endregion
+ // Main program.
}
}
}
diff --git a/Sandbox/Sandbox.csproj b/Sandbox/Sandbox.csproj
index 3691f27..ff523fc 100755
--- a/Sandbox/Sandbox.csproj
+++ b/Sandbox/Sandbox.csproj
@@ -5,14 +5,14 @@
netcoreapp3.0
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/UnitTests/EncogWrapperTests.cs b/UnitTests/EncogWrapperTests.cs
new file mode 100644
index 0000000..9beb834
--- /dev/null
+++ b/UnitTests/EncogWrapperTests.cs
@@ -0,0 +1,172 @@
+using NUnit.Framework;
+using MotionRecognition;
+using Encog.Engine.Network.Activation;
+using System.IO;
+
+namespace UnitTests
+{
+ public class EncogWrapperTests
+ {
+
+ NetworkContainer container;
+ NetworkContainer container2;
+ static string dataOutLocation = @"../../../DataOut/";
+ static string dataOutName = "TestModel";
+
+ CountNetworkTrainSettings trainSettings = new CountNetworkTrainSettings
+ {
+ correctInputDirectory = @"../../../CorrectData",
+ incorrectInputDirectory = @"../../../IncorrectData",
+
+ outputDirectory = dataOutLocation,
+ outputName = dataOutName,
+
+ sampleCount = 10
+ };
+
+
+ [SetUp]
+ public void Setup()
+ {
+
+ if (File.Exists(dataOutLocation + dataOutName + ".eg"))
+ {
+ File.Delete(dataOutLocation + dataOutName + ".eg");
+ }
+
+ }
+
+ [Test, Order(1)]
+ public void InstantiationTest()
+ {
+ container = new NetworkContainer();
+ EncogWrapper.Instantiate(ref container);
+
+ Assert.IsNotNull(container.network);
+ }
+
+ [Test, Order(2)]
+ public void AddLayer()
+ {
+ EncogLayerSettings inputLayerSettings = new EncogLayerSettings();
+ inputLayerSettings.activationFunction = null;
+ inputLayerSettings.hasBias = true;
+ inputLayerSettings.neuronCount = 100;
+
+ EncogLayerSettings hiddenLayerOneSettings = new EncogLayerSettings();
+ hiddenLayerOneSettings.activationFunction = new ActivationElliott();
+ hiddenLayerOneSettings.hasBias = true;
+ hiddenLayerOneSettings.neuronCount = 100;
+
+ EncogLayerSettings outputLayerSettings = new EncogLayerSettings();
+ outputLayerSettings.activationFunction = new ActivationElliott();
+ outputLayerSettings.hasBias = false;
+ outputLayerSettings.neuronCount = 1;
+
+ EncogWrapper.AddLayer(ref container, ref inputLayerSettings);
+
+ EncogWrapper.AddLayer(ref container, ref hiddenLayerOneSettings);
+
+ EncogWrapper.AddLayer(ref container, ref outputLayerSettings);
+
+ EncogWrapper.FinalizeNetwork(ref container);
+
+ var Layers = container.network.Structure.Flat.LayerCounts;
+
+ Assert.IsTrue(Layers.Length == 3);
+ }
+
+ [Test, Order(3)]
+ public void SaveAndRestoreModelFS()
+ {
+ NetworkContainer container2 = new NetworkContainer();
+ EncogWrapper.SaveNetworkToFS(ref container, "./unittest.bin");
+ EncogWrapper.LoadNetworkFromFS(ref container2, "./unittest.bin");
+
+ var Layers = container.network.Structure.Flat.LayerCounts;
+
+ var Layers2 = container2.network.Structure.Flat.LayerCounts;
+
+ Assert.AreEqual(Layers, Layers2);
+ }
+
+ [Test, Order(4)]
+ public void CountPrepareNetworkBeforePrepareData()
+ {
+ Assert.Throws(() => { CountNetworkTrainController.PrepareNetwork(ref container2, ref trainSettings); });
+ }
+
+ [Test, Order(5)]
+ public void CountTrainBeforePrepareData()
+ {
+ Assert.Throws(() => { CountNetworkTrainController.Train(ref container2, ref trainSettings); });
+ }
+
+ [Test, Order(6)]
+ public void CountIncorrectInputDirectory()
+ {
+ CountNetworkTrainSettings trainSettings2 = new CountNetworkTrainSettings
+ {
+ correctInputDirectory = @"../NoLocation",
+ incorrectInputDirectory = @"../../../IncorrectData",
+
+ outputDirectory = dataOutLocation,
+ outputName = dataOutName,
+
+ sampleCount = 10
+ };
+
+ Assert.Throws(() => { CountNetworkTrainController.PrepareData(ref container2, ref trainSettings2); });
+ }
+
+ [Test, Order(7)]
+ public void CountPrepareData()
+ {
+ try
+ {
+ CountNetworkTrainController.PrepareData(ref container2, ref trainSettings);
+ }
+ catch
+ {
+ Assert.Fail();
+ }
+
+ Assert.Pass();
+ }
+
+ [Test, Order(8)]
+ public void CountPrepareDataAfterPrepareData()
+ {
+ Assert.Throws(() => { CountNetworkTrainController.PrepareData(ref container2, ref trainSettings); });
+ }
+
+ [Test, Order(9)]
+ public void CountTrainBeforePrepareNetwork()
+ {
+ Assert.Throws(() => { CountNetworkTrainController.Train(ref container2, ref trainSettings); });
+ }
+
+ [Test, Order(10)]
+ public void CountPrepareNetwork()
+ {
+ try
+ {
+ CountNetworkTrainController.PrepareNetwork(ref container2, ref trainSettings);
+ }
+ catch
+ {
+ Assert.Fail();
+ }
+
+ Assert.Pass();
+ }
+
+ [Test, Order(11)]
+ public void CountTrainAndSaveNetwork()
+ {
+ CountNetworkTrainController.Train(ref container2, ref trainSettings);
+
+ Assert.IsTrue(File.Exists(dataOutLocation + dataOutName + ".eg"));
+ }
+ }
+}
diff --git a/UnitTests/InputTransformerTests.cs b/UnitTests/InputTransformerTests.cs
index a00f395..99ad4f8 100644
--- a/UnitTests/InputTransformerTests.cs
+++ b/UnitTests/InputTransformerTests.cs
@@ -1,4 +1,4 @@
-using System.Collections.Generic;
+using System.Collections.Generic;
using MotionRecognition;
using NUnit.Framework;
@@ -30,24 +30,30 @@ public void Setup()
var data = CSVLoader.LoadData(ref settings);
- // Initialize IntervalBased Transformer settings.
- intervalSettings = new IntervalBasedTransformerSettings();
- intervalSettings.sampleList = data;
- intervalSettings.interval = 4;
- intervalTransformer = new IntervalBasedTransformer();
+ // Initialize IntervalBased Transformer settings.
+ intervalSettings = new IntervalBasedTransformerSettings
+ {
+ sampleList = data,
+ interval = 4
+ };
+ intervalTransformer = new IntervalBasedTransformer();
- // Initialize CountBased Transformer settings.
- countSettings = new IntervalBasedTransformerSettings();
- countSettings.sampleList = data;
- countSettings.count = 10;
- countTransformer = new CountBasedTransformer();
+ // Initialize CountBased Transformer settings.
+ countSettings = new IntervalBasedTransformerSettings
+ {
+ sampleList = data,
+ count = 10
+ };
+ countTransformer = new CountBasedTransformer();
- // Initialize Image Transformer.
- imageSettings = new ImageTransformerSettings();
- imageSettings.focusJoints = new LeapMotionJoint[] { LeapMotionJoint.PALM };
- imageSettings.samples = data;
- imageSettings.size = 10;
- imageTransformer = new ImageTransformer();
+ // Initialize Image Transformer.
+ imageSettings = new ImageTransformerSettings
+ {
+ focusJoints = new LeapMotionJoint[] { LeapMotionJoint.PALM },
+ samples = data,
+ size = 10
+ };
+ imageTransformer = new ImageTransformer();
}
[Test]
@@ -69,19 +75,19 @@ public void ImageTransformerReturnsValues()
}
[Test]
- public void FactoriesReturnDifferentResults()
+ public void TransformerReturnDifferentResults()
{
Assert.AreNotEqual(intervalTransformer.GetNeuralInput(intervalSettings), countTransformer.GetNeuralInput(countSettings));
}
[Test]
- public void FactoriesReturnEqualResults()
+ public void TransformerReturnEqualResults()
{
- // 59 rows in data file, a run with count 5 should equal a run with an interval of 11 (59 / 5 = 11)
+ // 59 rows in data file, a run with count 5 should equal a run with an interval of 11.8 (59 / 5 = 11.8)
countSettings.count = 5;
double[] countTransformerResult = countTransformer.GetNeuralInput(countSettings);
- intervalSettings.interval = 11;
+ intervalSettings.interval = 59d / 5d;
double[] intervalTransformerResult = intervalTransformer.GetNeuralInput(intervalSettings);
Assert.AreEqual(countTransformerResult, intervalTransformerResult);
@@ -89,10 +95,10 @@ public void FactoriesReturnEqualResults()
// ImageFactory
[Test]
- public void ImageFactoryReturns3DImage()
+ public void ImageTransformerReturns3DImage()
{
var image = imageTransformer.GetNeuralInput(imageSettings);
- int expectedLength = 0;
+ uint expectedLength = 0;
// One dimensional Image.
expectedLength += imageSettings.size * imageSettings.size
// Top and Front View.
diff --git a/UnitTests/UnitTests.csproj b/UnitTests/UnitTests.csproj
index 62e1604..39d3a4c 100644
--- a/UnitTests/UnitTests.csproj
+++ b/UnitTests/UnitTests.csproj
@@ -17,4 +17,8 @@
+
+
+
+