コード例 #1
0
        private static void WriteTrialStatsCSV(SequenceStatistic stat)
        {
            int trialIndex = 0;

            foreach (TrialStatistic trialStat in stat.trialsStats)
            {
                sbTrialStats.AppendLine(trialIndex + delimiter
                                        + stat.sequence.parameter.amplitude + delimiter
                                        + stat.sequence.parameter.width + delimiter
                                        + trialStat.effectiveAmplitude + delimiter
                                        + trialStat.dx + delimiter
                                        + trialStat.trial.time.pointingTime + delimiter
                                        + trialStat.trial.time.selectionTime + delimiter
                                        + trialStat.trial.time.movementTime + delimiter
                                        + trialStat.trial.isError + delimiter
                                        + trialStat.trial.trajectory.targetReEntry + delimiter
                                        + trialStat.movement.taskAxisCrossing + delimiter
                                        + trialStat.movement.movementDirectionChange + delimiter
                                        + trialStat.movement.orthogonalDirectionChange + delimiter
                                        + trialStat.movement.movementVariable + delimiter
                                        + trialStat.movement.movementError + delimiter
                                        + trialStat.movement.movementOffset + delimiter);
                trialIndex++;
            }
        }
コード例 #2
0
        private static void WriteTrajectoryCSV(SequenceStatistic stat)
        {
            int trial = 0;

            foreach (FittsTrial sel in stat.sequence.fittsTrials)
            {
                string row = WriteTrajectoryLine(stat, sel, trial) + delimiter + "t=";
                foreach (float time in sel.trajectory.time)
                {
                    row += delimiter + time;
                }
                sbTrajectory.AppendLine(row);

                row = WriteTrajectoryLine(stat, sel, trial) + delimiter + "x=";
                foreach (double x in sel.trajectory.x)
                {
                    row += delimiter + x;
                }
                sbTrajectory.AppendLine(row);

                row = WriteTrajectoryLine(stat, sel, trial) + delimiter + "y=";
                foreach (float y in sel.trajectory.y)
                {
                    row += delimiter + y;
                }
                sbTrajectory.AppendLine(row);

                trial++;
            }
        }
コード例 #3
0
 private static string WriteTrajectoryLine(SequenceStatistic stat, FittsTrial sel, int trial)
 {
     return(stat.sequence.parameter.amplitude * 2 + delimiter
            + stat.sequence.parameter.width + delimiter
            + trial + delimiter
            + sel.coord.from.x + delimiter
            + sel.coord.from.y + delimiter
            + sel.coord.to.x + delimiter
            + sel.coord.to.y);
 }
コード例 #4
0
 private static void WriteSequenceStatsCSV(SequenceStatistic stat)
 {
     sbSequenceStats.AppendLine(stat.sequence.timestamp + delimiter
                                + stat.sequence.parameter.nbOfTarget + delimiter
                                + stat.sequence.parameter.amplitude * 2 + delimiter
                                + stat.sequence.parameter.width + delimiter
                                + Math.Log((stat.sequence.parameter.amplitude / stat.sequence.parameter.width) + 1, 2) + delimiter
                                + stat.effectiveAmplitudeMean + delimiter
                                + stat.effectiveWidth + delimiter
                                + stat.effectiveIndexDifficulty + delimiter
                                + stat.timeMean.pointingTime + delimiter
                                + stat.timeMean.selectionTime + delimiter
                                + stat.timeMean.movementTime + delimiter
                                + stat.errorMean + "%" + delimiter
                                + stat.throughput + delimiter
                                + stat.trialsStats.Sum(x => x.trial.trajectory.targetReEntry) / stat.trialsStats.Count + delimiter
                                + stat.trialsStats.Sum(x => x.movement.taskAxisCrossing) / stat.trialsStats.Count + delimiter
                                + stat.trialsStats.Sum(x => x.movement.movementDirectionChange) / stat.trialsStats.Count + delimiter
                                + stat.trialsStats.Sum(x => x.movement.orthogonalDirectionChange) / stat.trialsStats.Count + delimiter
                                + stat.trialsStats.Sum(x => x.movement.movementVariable) / stat.trialsStats.Count + delimiter
                                + stat.trialsStats.Sum(x => x.movement.movementError) / stat.trialsStats.Count + delimiter
                                + stat.trialsStats.Sum(x => x.movement.movementOffset) / stat.trialsStats.Count + delimiter);
 }