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); }
/* * 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] }; }