public static int getDatasetIndex(Dataset currentItem)
 {
     return loadedDatasets.IndexOf(currentItem);
 }
        /// <summary>
        /// Create an ExperimentSetting instance for the selected dataset
        /// </summary>
        /// <param name="datasetPath">the dataset path going to examine</param>
        /// <param name="totalLabellingRound">the total number of labelling round</param>
        /// <pa
        /// ram name="currentTaskSelectionMethods">An array containing the selected task selection methods from user</param>
        /// <param name="currentRunTypes">An array containing the selected run types from user</param>
        /// <param name="mabConstant">The mab constant value for the EntropyMABTask</param>
        public void SetNewExperimentSettings(Dataset currentDataset, int totalLabellingRound, List<ExperimentModel> experimentItemList, ExperimentType experimentType, int numberOfIterations = 1)
        {
            currentExperimentSetting = new ExperimentSetting(totalLabellingRound, currentDataset, experimentType, numberOfIterations);

            if (totalLabellingRound > 1) 
            {
                if (experimentItemList.Count == 1) 
                {
                    currentExperimentSetting.numberOfLabellingRound = experimentItemList[0].numberOfLabellingRound;
                }
            }
            for (int i = 0; i < experimentItemList.Count; i++)
            {
                currentExperimentSetting.AddExperimentModel(experimentItemList[i]);
            }
            InitialiseActiveLearningExperiment();
        }
        /// <summary>
        /// Constructors
        /// </summary>
        /// <param name="initialNumberOfLabelsPerTask"></param>
        /// <param name="currentDataset"></param>
        /// <param name="currentExperimentType"></param>
        /// <param name="numberOfIterations"></param>
        public ExperimentSetting(int initialNumberOfLabelsPerTask, Dataset currentDataset, ExperimentType currentExperimentType, int numberOfIterations = 1)
        {

            this.numberOfLabellingRound = initialNumberOfLabelsPerTask;
            experimentModels = new List<ExperimentModel>();
            this.currentDataset = currentDataset;
            accuracyArrayOfAllExperimentModels = null;
            SetInitialStartingLabel();
            this.numberOfIterations = numberOfIterations;
            this.experimentType = currentExperimentType;

        }