Exemple #1
0
        private static string StudyDataToCsv(StudyData data)
        {
            var width  = 11;
            var height = 1 + data.exposures.Length;
            var matrix = new string[width, height];

            // header
            matrix[0, 0]  = "participant";
            matrix[1, 0]  = "date";
            matrix[2, 0]  = "startTime";
            matrix[4, 0]  = "electrodeLayout";
            matrix[5, 0]  = "fieldOfView";
            matrix[6, 0]  = "visualAngle";
            matrix[7, 0]  = "tailLength";
            matrix[8, 0]  = "itemName";
            matrix[9, 0]  = "result";
            matrix[10, 0] = "elapsedTime";

            // data
            for (int i = 0; i < data.exposures.Length; i++)
            {
                matrix[0, 1 + i]  = data.identifier.ToString();
                matrix[1, 1 + i]  = data.date;
                matrix[2, 1 + i]  = data.startTime;
                matrix[4, 1 + i]  = data.exposures[i].electrodeLayout;
                matrix[5, 1 + i]  = data.exposures[i].fieldOfView.ToString();
                matrix[6, 1 + i]  = data.exposures[i].visualAngle.ToString();
                matrix[7, 1 + i]  = data.exposures[i].tailLength.ToString();
                matrix[8, 1 + i]  = data.exposures[i].itemName;
                matrix[9, 1 + i]  = data.exposures[i].result.ToString();
                matrix[10, 1 + i] = data.exposures[i].elapsedTime.ToString();
            }

            // to csv
            var csv = "";

            for (int i = 0; i < height; i++)
            {
                for (int j = 0; j < width; j++)
                {
                    csv += matrix[j, i] + ";";
                }

                csv += "eof\n";
            }

            return(csv);
        }
Exemple #2
0
        /*
         * Unity callbacks
         */

        protected virtual void Start()
        {
            currentStep = Step.Start;

            exposureIndex = _startingItem - 1;

            items = InitialiseItems();
            items.Randomise(_identifier);

            conditionIndices = ArrayExtensions.CreateArray(items.Length, (i) => i);
            conditionIndices.Randomise(_identifier + 1);


            // control condition
            controlIndices = ArrayExtensions.CreateArray(items.Length,
                                                         (i) => (i >= 0 && i < 10) || (i >= 50 && i < 60) || (i >= 100 && i < 110) || (i >= 150 && i < 160)
                                                         );
            controlIndices.Randomise(_identifier + 1);

            // reduced brightness condition
            reducedIndices = ArrayExtensions.CreateArray(items.Length,
                                                         (i) => (i >= 0 && i < 40) || (i >= 80 && i < 120)
                                                         );
            reducedIndices.Randomise(_identifier + 1);


            AssertConditionParameters();
            StartSession();

            data = new StudyData {
                identifier = _identifier,
                date       = DateTime.UtcNow.ToString("dd.MM.yyyy"),
                startTime  = DateTime.UtcNow.ToString("HH:mm:ss.ff"),
                exposures  = new StudyData.Exposure[items.Length]
            };
        }