예제 #1
0
 private void NormalizeAllMovements(ISetOfMovements setOfMovements, double newLength)
 {
     foreach (var mov in setOfMovements.Movements)
     {
         Movements.Add(new UniversalMovement(mov, g => new NormalizedGraph(g, newLength)));
     }
 }
예제 #2
0
        public MeanGraphView(IMovement meanMovement, ISetOfMovements baseSensors)
        {
            InitializeComponent();

            this.meanMovement       = meanMovement;
            this.baseSetOfMovements = baseSensors;

            CreateComponents();
        }
예제 #3
0
        public IVarinceData CompudeVariance(IMovement meanMovement, ISetOfMovements setOfMovements)
        {
            InitialiseData(meanMovement, setOfMovements);

            ComputeDeviations();
            ComputeNormalizedDeviations();

            ComputeVar();
            ComputeNormalizedVar();

            return(DealockDataAndReturnThem());
        }
예제 #4
0
        private void InitialiseData(IMovement meanMovement, ISetOfMovements setOfMovements)
        {
            varianceData = new VarianceData();

            varianceData.MeanMovement = meanMovement;

            graphLength = meanMovement.Sensors.First().EMG.Length;  //all of them has to have same length
            varianceData.NormalizedSetOfMovements = new NormalizedSetOfMovements(setOfMovements, graphLength);

            int numOfMovements = setOfMovements.Movements.Count;

            varianceData.Deviations           = new double[numOfMovements];
            varianceData.NormalizedDeviations = new double[numOfMovements];
        }
예제 #5
0
        private void CreateOrReplaceExperiment(ISetOfMovements setOfMovements)
        {
            string newName = ((RawExperiment)cbSelectedExperiment.SelectedItem).Name;

            for (int i = 0; i < experiments.Experiments.Count; i++)
            {
                if (experiments.Experiments[i].Name == newName) //experiment already exists
                {
                    experiments.Experiments.RemoveAt(i);
                    continue;
                }
            }

            experiments.Experiments.Add(new SimpleExperiment(newName, setOfMovements.Movements));
        }
예제 #6
0
        private void bCreateMovements_Click(object sender, EventArgs e)
        {
            RawExperiment selectedExp = (RawExperiment)cbSelectedExperiment.SelectedItem;

            IMovementsCreationManager movCr          = new FormMovementCreatorManager();
            ISetOfMovements           setOfMovements = movCr.CreateSetOfMovements(new SimpleSetOfSensors(selectedExp.SensorData));

            if (setOfMovements == null) //user hasnt created set of movements
            {
                return;
            }

            CreateOrReplaceExperiment(setOfMovements);

            bMeanComputation.Enabled             = selectedExp.MovementsCreated
                                                 = setOfMovements != null && setOfMovements.Movements.Count != 0;

            RefreshComboBox();
        }
예제 #7
0
        public IMovement GetMeanMovement()
        {
            ISetOfMovements normalizedMovements = GetNormalizedMovements();

            return(new MeanMovement(normalizedMovements));
        }
예제 #8
0
 public MeanMovementManager(ISetOfMovements movements)
 {
     this.baseSetOfMovements = movements;
 }
예제 #9
0
 public NormalizedSetOfMovements(ISetOfMovements setOfMovements, double newLength)
 {
     Movements = new List <IMovement>();
     NormalizeAllMovements(setOfMovements, newLength);
 }
예제 #10
0
 public MeanMovement(ISetOfMovements set)
 {
     Init(set.Movements);
 }
예제 #11
0
 private void bFinish_Click(object sender, EventArgs e)
 {
     Result = movementsCreator.GetCreatedSetOfMovements();
     this.Close();
 }