Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
12/03/14 17:04:46 (10 years ago)
Author:
bburlacu
Message:

#1772: Merged trunk changes. Updated PhenotypicSimilarityCalculator, updated FragmentGraphView.

Location:
branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic.Views
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic.Views

  • branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/Exporters/SymbolicSolutionExcelExporter.cs

    r11208 r11638  
    3030namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Views {
    3131  public class SymbolicSolutionExcelExporter : IDataAnalysisSolutionExporter {
    32     private const string TRAININGSTART = "TrainingStart";
    33     private const string TRAININGEND = "TrainingEnd";
    34     private const string TESTSTART = "TestStart";
    35     private const string TESTEND = "TestEnd";
     32    protected const string TRAININGSTART = "TrainingStart";
     33    protected const string TRAININGEND = "TrainingEnd";
     34    protected const string TESTSTART = "TestStart";
     35    protected const string TESTEND = "TestEnd";
    3636
    3737
     
    4444    }
    4545
    46     public void Export(IDataAnalysisSolution solution, string fileName) {
     46    public virtual void Export(IDataAnalysisSolution solution, string fileName) {
    4747      var symbSolution = solution as ISymbolicDataAnalysisSolution;
    4848      if (symbSolution == null) throw new NotSupportedException("This solution cannot be exported to Excel");
     
    216216    }
    217217
    218     private string Indirect(string column, bool training) {
     218    protected string Indirect(string column, bool training) {
    219219      if (training) {
    220220        return string.Format("INDIRECT(\"'Estimated Values'!{0}\"&{1}+2&\":{0}\"&{2}+1)", column, TRAININGSTART, TRAININGEND);
     
    260260    }
    261261
    262     private void AddModelTreePicture(ExcelWorksheet modelWorksheet, ISymbolicDataAnalysisModel model) {
     262    protected void AddModelTreePicture(ExcelWorksheet modelWorksheet, ISymbolicDataAnalysisModel model) {
    263263      SymbolicExpressionTreeChart modelTreePicture = new SymbolicExpressionTreeChart();
    264264      modelTreePicture.Tree = model.SymbolicExpressionTree;
     
    289289      estimatedWorksheet.Cells[1, 1, 1, 10].AutoFitColumns();
    290290
     291      // fill in id, target variable and unbounded estimated values
    291292      int targetIndex = solution.ProblemData.Dataset.VariableNames.ToList().FindIndex(x => x.Equals(solution.ProblemData.TargetVariable)) + 1;
    292293      for (int i = 0; i < rows; i++) {
    293         estimatedWorksheet.Cells[i + 2, 1].Value = i;
    294         estimatedWorksheet.Cells[i + 2, 2].Formula = datasetWorksheet.Cells[i + 2, targetIndex].FullAddress;
    295         estimatedWorksheet.Cells[i + 2, 9].Formula = string.Format(preparedFormula, i + 2);
     294        estimatedWorksheet.Cells[i + 2, 1].Value = i; // id
     295        estimatedWorksheet.Cells[i + 2, 2].Formula = datasetWorksheet.Cells[i + 2, targetIndex].FullAddress; // target variable
     296        estimatedWorksheet.Cells[i + 2, 9].Formula = string.Format(preparedFormula, i + 2); // unbounded estimated values
    296297      }
    297298      estimatedWorksheet.Cells["B2:B" + (rows + 1)].Style.Numberformat.Format = "0.000";
     
    313314    }
    314315
    315     private string PrepareFormula(string[] formulaParts) {
     316    protected string PrepareFormula(string[] formulaParts) {
    316317      string preparedFormula = formulaParts[0];
    317318      foreach (var part in formulaParts.Skip(2)) {
     
    323324    }
    324325
    325     private void WriteInputSheet(ExcelWorksheet inputsWorksheet, ExcelWorksheet datasetWorksheet, IEnumerable<string> list, Dataset dataset) {
     326    protected void WriteInputSheet(ExcelWorksheet inputsWorksheet, ExcelWorksheet datasetWorksheet, IEnumerable<string> list, Dataset dataset) {
    326327      //remark the performance of EPPlus drops dramatically
    327328      //if the data is not written row wise (from left to right) due the internal indices used.
     
    337338    }
    338339
    339     private void WriteDatasetToExcel(ExcelWorksheet datasetWorksheet, IDataAnalysisProblemData problemData) {
     340    protected void WriteDatasetToExcel(ExcelWorksheet datasetWorksheet, IDataAnalysisProblemData problemData) {
    340341      //remark the performance of EPPlus drops dramatically
    341342      //if the data is not written row wise (from left to right) due the internal indices used.
  • branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic.Views-3.4.csproj

    r11503 r11638  
    1111    <RootNamespace>HeuristicLab.Problems.DataAnalysis.Symbolic.Views</RootNamespace>
    1212    <AssemblyName>HeuristicLab.Problems.DataAnalysis.Symbolic.Views-3.4</AssemblyName>
    13     <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
     13    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
    1414    <TargetFrameworkProfile>
    1515    </TargetFrameworkProfile>
     
    4646    <WarningLevel>4</WarningLevel>
    4747    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
     48    <Prefer32Bit>false</Prefer32Bit>
    4849  </PropertyGroup>
    4950  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
     
    5556    <WarningLevel>4</WarningLevel>
    5657    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
     58    <Prefer32Bit>false</Prefer32Bit>
    5759  </PropertyGroup>
    5860  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
     
    6466    <ErrorReport>prompt</ErrorReport>
    6567    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
     68    <Prefer32Bit>false</Prefer32Bit>
    6669  </PropertyGroup>
    6770  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
     
    7376    <ErrorReport>prompt</ErrorReport>
    7477    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
     78    <Prefer32Bit>false</Prefer32Bit>
    7579  </PropertyGroup>
    7680  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
     
    8286    <ErrorReport>prompt</ErrorReport>
    8387    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
     88    <Prefer32Bit>false</Prefer32Bit>
    8489  </PropertyGroup>
    8590  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
     
    9196    <ErrorReport>prompt</ErrorReport>
    9297    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
     98    <Prefer32Bit>false</Prefer32Bit>
    9399  </PropertyGroup>
    94100  <ItemGroup>
     
    217223    <Compile Include="MenuItems\OptimizeDataAnalysisRunsMenuItem.cs" />
    218224    <Compile Include="Plugin.cs" />
    219     <Compile Include="SlidingWindowDataView.cs">
    220       <SubType>UserControl</SubType>
    221     </Compile>
     225    <Compile Include="SlidingWindowDataView.cs" />
    222226    <Compile Include="SlidingWindowDataView.Designer.cs">
    223227      <DependentUpon>SlidingWindowDataView.cs</DependentUpon>
     
    241245      <DependentUpon>GraphicalSymbolicDataAnalysisModelView.cs</DependentUpon>
    242246    </Compile>
    243     <Compile Include="Symbols\ConstantView.cs">
    244       <SubType>UserControl</SubType>
    245     </Compile>
     247    <Compile Include="Symbols\ConstantView.cs" />
    246248    <Compile Include="Symbols\ConstantView.Designer.cs">
    247249      <DependentUpon>ConstantView.cs</DependentUpon>
    248250    </Compile>
    249     <Compile Include="Symbols\LaggedVariableView.cs">
    250       <SubType>UserControl</SubType>
    251     </Compile>
     251    <Compile Include="Symbols\LaggedVariableView.cs" />
    252252    <Compile Include="Symbols\LaggedVariableView.Designer.cs">
    253253      <DependentUpon>LaggedVariableView.cs</DependentUpon>
    254254    </Compile>
    255     <Compile Include="Symbols\TimeLagView.cs">
    256       <SubType>UserControl</SubType>
    257     </Compile>
     255    <Compile Include="Symbols\TimeLagView.cs" />
    258256    <Compile Include="Symbols\TimeLagView.Designer.cs">
    259257      <DependentUpon>TimeLagView.cs</DependentUpon>
    260258    </Compile>
    261     <Compile Include="Symbols\VariableConditionView.cs">
    262       <SubType>UserControl</SubType>
    263     </Compile>
     259    <Compile Include="Symbols\VariableConditionView.cs" />
    264260    <Compile Include="Symbols\VariableConditionView.Designer.cs">
    265261      <DependentUpon>VariableConditionView.cs</DependentUpon>
    266262    </Compile>
    267     <Compile Include="Symbols\VariableView.cs">
    268       <SubType>UserControl</SubType>
    269     </Compile>
     263    <Compile Include="Symbols\VariableView.cs" />
    270264    <Compile Include="Symbols\VariableView.Designer.cs">
    271265      <DependentUpon>VariableView.cs</DependentUpon>
    272266    </Compile>
    273     <Compile Include="Tracking\FragmentGraphView.cs">
    274       <SubType>UserControl</SubType>
    275     </Compile>
     267    <Compile Include="Tracking\FragmentGraphView.cs" />
    276268    <Compile Include="Tracking\FragmentGraphView.Designer.cs">
    277269      <DependentUpon>FragmentGraphView.cs</DependentUpon>
    278270    </Compile>
    279     <Compile Include="Tracking\SymboldDataAnalysisGenealogyView.cs">
    280       <SubType>UserControl</SubType>
    281     </Compile>
     271    <Compile Include="Tracking\SymboldDataAnalysisGenealogyView.cs" />
    282272    <Compile Include="Tracking\SymboldDataAnalysisGenealogyView.Designer.cs">
    283273      <DependentUpon>SymboldDataAnalysisGenealogyView.cs</DependentUpon>
  • branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/Symbols/VariableConditionView.cs

    r11208 r11638  
    5454    private void RegisterVariableNamesViewContentEvents() {
    5555      variableNamesView.Content.ItemsAdded += new CollectionItemsChangedEventHandler<StringValue>(VariableNames_Changed);
    56       variableNamesView.Content.ItemsRemoved += new CollectionItemsChangedEventHandler<StringValue>(VariableNames_Changed);
     56      variableNamesView.Content.ItemsRemoved += new CollectionItemsChangedEventHandler<StringValue>(VariableNames_Removed);
    5757      variableNamesView.Content.CheckedItemsChanged += new CollectionItemsChangedEventHandler<StringValue>(VariableNames_Changed);
    5858      variableNamesView.Content.CollectionReset += new CollectionItemsChangedEventHandler<StringValue>(VariableNames_Changed);
     
    6464    private void DeregisterVariableNamesViewContentEvents() {
    6565      variableNamesView.Content.ItemsAdded -= new CollectionItemsChangedEventHandler<StringValue>(VariableNames_Changed);
    66       variableNamesView.Content.ItemsRemoved -= new CollectionItemsChangedEventHandler<StringValue>(VariableNames_Changed);
     66      variableNamesView.Content.ItemsRemoved -= new CollectionItemsChangedEventHandler<StringValue>(VariableNames_Removed);
    6767      variableNamesView.Content.CheckedItemsChanged -= new CollectionItemsChangedEventHandler<StringValue>(VariableNames_Changed);
    6868      variableNamesView.Content.CollectionReset -= new CollectionItemsChangedEventHandler<StringValue>(VariableNames_Changed);
     
    153153    }
    154154
     155    private void VariableNames_Removed(object sender, CollectionItemsChangedEventArgs<StringValue> e) {
     156      foreach (var newVar in e.Items)
     157        newVar.ValueChanged -= new EventHandler(Variable_ValueChanged);
     158      UpdateContent();
     159    }
     160
    155161    private void Variable_ValueChanged(object sender, EventArgs e) {
    156162      UpdateContent();
  • branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/Symbols/VariableView.cs

    r11208 r11638  
    5555    private void RegisterVariableNamesViewContentEvents() {
    5656      variableNamesView.Content.ItemsAdded += new CollectionItemsChangedEventHandler<StringValue>(VariableNames_Changed);
    57       variableNamesView.Content.ItemsRemoved += new CollectionItemsChangedEventHandler<StringValue>(VariableNames_Changed);
     57      variableNamesView.Content.ItemsRemoved += new CollectionItemsChangedEventHandler<StringValue>(VariableNames_Removed);
    5858      variableNamesView.Content.CheckedItemsChanged += new CollectionItemsChangedEventHandler<StringValue>(VariableNames_Changed);
    5959      variableNamesView.Content.CollectionReset += new CollectionItemsChangedEventHandler<StringValue>(VariableNames_Changed);
     
    6666    private void DeregisterVariableNamesViewContentEvents() {
    6767      variableNamesView.Content.ItemsAdded -= new CollectionItemsChangedEventHandler<StringValue>(VariableNames_Changed);
    68       variableNamesView.Content.ItemsRemoved -= new CollectionItemsChangedEventHandler<StringValue>(VariableNames_Changed);
     68      variableNamesView.Content.ItemsRemoved -= new CollectionItemsChangedEventHandler<StringValue>(VariableNames_Removed);
    6969      variableNamesView.Content.CheckedItemsChanged -= new CollectionItemsChangedEventHandler<StringValue>(VariableNames_Changed);
    7070      variableNamesView.Content.CollectionReset -= new CollectionItemsChangedEventHandler<StringValue>(VariableNames_Changed);
     
    118118    }
    119119
     120    private void VariableNames_Removed(object sender, CollectionItemsChangedEventArgs<StringValue> e) {
     121      foreach (var newVar in e.Items)
     122        newVar.ValueChanged -= new EventHandler(Variable_ValueChanged);
     123      UpdateContent();
     124    }
     125
    120126    private void Variable_ValueChanged(object sender, EventArgs e) {
    121127      UpdateContent();
  • branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/Tracking/FragmentGraphView.Designer.cs

    r10746 r11638  
    4545      this.Name = "FragmentGraphView";
    4646      this.Size = new System.Drawing.Size(1144, 682);
     47      this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.FragmentGraphView_KeyPress);
    4748      this.ResumeLayout(false);
    4849
  • branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/Tracking/FragmentGraphView.cs

    r11318 r11638  
    2424using System.Drawing;
    2525using System.Linq;
     26using System.Windows.Forms;
    2627using HeuristicLab.Core.Views;
    2728using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
     
    7172        var tile = new SymbolicExpressionTreeTile(chart);
    7273        tile.LayoutEngine = symbolicExpressionEngine;
    73         tile.Label = "Generation " + node.Data.Rank + Environment.NewLine +
    74                      "Quality " + String.Format("{0:0.000}", node.Data.Quality);
    75         tile.Root = node.Data.Data.Root;
     74        tile.Label = "Generation " + node.Rank + Environment.NewLine +
     75                     "Quality " + String.Format("{0:0.000}", node.Quality);
     76        tile.Root = node.Data.Root;
    7677        var tileNode = new TileLayoutNode { Tile = tile };
    7778        nodeToTileMap.Add(node, tileNode);
     
    115116        var aSize = aTile.Size;
    116117        var aPos = aTile.Position;
    117         var graphNode = node.Data;
     118        var tree = node.Data;
    118119
    119120        if (node.SubtreeIndex > 0) {
    120           var subtree = graphNode.Data.Root.NodeAt(node.SubtreeIndex);
     121          var subtree = tree.Root.NodeAt(node.SubtreeIndex);
    121122          foreach (var s in subtree.IterateNodesPrefix()) {
    122123            var primitive = aTile.GetPrimitive(s);
     
    130131        }
    131132        if (node.FragmentIndex > 0) {
    132           var subtree = graphNode.Data.Root.NodeAt(node.FragmentIndex);
     133          var subtree = tree.Root.NodeAt(node.FragmentIndex);
    133134          foreach (var s in subtree.IterateNodesPrefix()) {
    134135            var primitive = aTile.GetPrimitive(s);
     
    147148            var index = node.SubtreeIndex + (parent.FragmentIndex - parent.SubtreeIndex);
    148149            // some mutations create discontinuities which invalidate the index
    149             if (index >= 0 && index < graphNode.Data.Length) {
    150               var subtree = graphNode.Data.NodeAt(index);
     150            if (index >= 0 && index < tree.Length) {
     151              var subtree = tree.NodeAt(index);
    151152              var primitive = aTile.GetPrimitive(subtree);
    152153              primitive.Brush = new SolidBrush(Color.LightCoral);
     
    198199    }
    199200
     201    private void FragmentGraphView_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) {
     202      if (e.KeyChar == 'i') {
     203        // highlight node impacts
     204      }
     205    }
     206
    200207    #region Event Handlers (child controls)
    201208
Note: See TracChangeset for help on using the changeset viewer.