Ignore:
Timestamp:
Jul 6, 2010, 10:10:32 AM (12 years ago)
Author:
malischewski
Message:

Added simple CSV parser, fitness weight tables are now being loaded from csv files residing in the data directory.
User can choose which fitness weight table the costfunction uses (custom fitness weight table possible, too).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/CostFunction/CostFunctionSettings.cs

    r1426 r1731  
    4242        private static string[] files;
    4343        #endregion
    44    
     44       
    4545        [TaskPane("FunctionType", "Select the type of function", null, 1, false, DisplayLevel.Beginner, ControlType.ComboBox, new string[] { "Index of coincidence", "Entropy", "Bigrams: log 2", "Bigrams: Sinkov", "Bigrams: Percentaged", "Regular Expression", "Weighted Bigrams/Trigrams"})]
    4646        public int FunctionType
     
    110110            }
    111111        }
    112        
     112        public string customfwtpath;
     113        public int fwt = 0; //fwt = fitness weight table
     114        [TaskPane("Fitness Weight Table to use", "Select a fitness weight table", null, 8, false, DisplayLevel.Beginner, ControlType.ComboBox, new string[] { "Matthews", "Toemeh-Arumugam", "Custom Weight table (*.csv)" })]
     115        public int weighttable
     116        {
     117            get
     118            {
     119                return fwt;
     120            }
     121            set
     122            {
     123                fwt = value;
     124                if (fwt == 2)
     125                {
     126                    OpenFileDialog openfwt = new OpenFileDialog();
     127                    openfwt.Title = "Select fitness weight table";
     128                    openfwt.CheckFileExists = true;
     129                    openfwt.CheckPathExists = true;
     130                    openfwt.Filter = "csv files (*.csv)|*.csv|All files (*.*)|*.*";
     131                    if (openfwt.ShowDialog() == DialogResult.OK)
     132                    {
     133                        customfwtpath = openfwt.FileName;
     134                    }
     135                    else
     136                    {
     137                        fwt = 0; // Fall back to default
     138                    }
     139                }
     140                OnPropertyChanged("weighttable");
     141            }
     142        }
     143       
     144
    113145        public event TaskPaneAttributeChangedHandler TaskPaneAttributeChanged;
    114146
     
    134166            {
    135167                TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("StatisticsCorpus", Visibility.Visible)));
    136 
     168               
    137169            }
    138170            else
     
    140172                TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("StatisticsCorpus", Visibility.Collapsed)));
    141173               
     174               
     175            }
     176            if (functionType.Equals(6))
     177            {
     178                TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("weighttable", Visibility.Visible)));
     179
     180            }
     181            else
     182            {
     183                TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("weighttable", Visibility.Collapsed)));
     184
    142185            }
    143186           
Note: See TracChangeset for help on using the changeset viewer.