public void RecomputeDistances(eDistances Dist) { for (int j = 0; j < ValuesMatrix.Length; j++) { cWell SourceWell = this.AssociatedPlate.ListActiveWells[j]; for (int i = j; i < ValuesMatrix[0].Length; i++) { cWell DestinationWell = this.AssociatedPlate.ListActiveWells[i]; ValuesMatrix[i][j] = ValuesMatrix[j][i] = SourceWell.DistanceTo(DestinationWell, Dist); // CurrentScreening.ListDescriptors[0].IsActive } } Max = double.MinValue; Min = double.MaxValue; for (int j = 0; j < ValuesMatrix.Length; j++) for (int i = 0; i < ValuesMatrix[0].Length; i++) { if (ValuesMatrix[j][i] > Max) Max = ValuesMatrix[j][i]; if (ValuesMatrix[j][i] < Min) Min = ValuesMatrix[j][i]; } }
public cWindowToDisplaySingleMatrix(cPanelForDisplayArray PanelToDisplay, eDistances Dist) { //this.CellSize = SizeSquare; this.Text = "Distance Matrix ( " + Dist.ToString() + ")"; this.XNumber = 1; this.checkBoxDisplayClasses.Visible = false; this.checkBoxGlobalNormalization.Visible = false; cExtendedList GlobalValues = new cExtendedList(); GlobalValues.AddRange(PanelToDisplay.GetListValues()); double Max_ = GlobalValues.Max(); double Min_ = GlobalValues.Min(); PanelToDisplay.GlobalMin = Min_; PanelToDisplay.GlobalMax = Max_; this.PanelList = new List<cPanelForDisplayArray>(); this.PanelList.Add(PanelToDisplay); this.Width = PanelToDisplay.Width + 500; this.Height = PanelToDisplay.Height + 500; RefreshDisplay(false); this.Show(); }
public double DistanceTo(cWell DestinationWell, eDistances DistanceType) { double Distance = 0; switch (DistanceType) { case eDistances.EUCLIDEAN: Distance += this.GetAverageValuesList(true)[0].Dist_Euclidean(DestinationWell.GetAverageValuesList(true)[0]); break; case eDistances.MANHATTAN: Distance += this.GetAverageValuesList(true)[0].Dist_Manhattan(DestinationWell.GetAverageValuesList(true)[0]); break; case eDistances.VECTOR_COS: Distance += this.GetAverageValuesList(true)[0].Dist_VectorCosine(DestinationWell.GetAverageValuesList(true)[0]); break; case eDistances.BHATTACHARYYA: Distance += this.GetAverageValuesList(true)[0].Dist_BhattacharyyaCoefficient(DestinationWell.GetAverageValuesList(true)[0]); break; case eDistances.EMD: Distance += this.GetAverageValuesList(true)[0].Dist_EarthMover(DestinationWell.GetAverageValuesList(true)[0]); break; default: break; } return Distance; }
public double DistanceTo(cWell DestinationWell, eDistances IntraHistoDistanceType, eDistances InterHistoDistanceType) { double Distance = 0; cExtendedList ListDistSource = new cExtendedList(); cExtendedList ListDistDest = new cExtendedList(); for (int Idxdescriptor = 0; Idxdescriptor < cGlobalInfo.CurrentScreening.ListDescriptors.Count; Idxdescriptor++) { if (cGlobalInfo.CurrentScreening.ListDescriptors[Idxdescriptor].IsActive() == false) continue; switch (IntraHistoDistanceType) { case eDistances.EUCLIDEAN: ListDistSource.Add(this.ListSignatures[Idxdescriptor].GetHistovalues().Dist_Euclidean(DestinationWell.ListSignatures[Idxdescriptor].GetHistovalues())); ListDistDest.Add(DestinationWell.ListSignatures[Idxdescriptor].GetValue()); Distance = ListDistSource.Dist_Euclidean(ListDistDest); break; case eDistances.MANHATTAN: Distance = ListDistSource.Dist_Manhattan(ListDistDest); break; case eDistances.VECTOR_COS: Distance = ListDistSource.Dist_VectorCosine(ListDistDest); break; case eDistances.BHATTACHARYYA: Distance = ListDistSource.Dist_BhattacharyyaCoefficient(ListDistDest); break; case eDistances.EMD: Distance = ListDistSource.Dist_EarthMover(ListDistDest); break; default: break; } } switch (InterHistoDistanceType) { case eDistances.EUCLIDEAN: Distance = ListDistSource.Dist_Euclidean(ListDistDest); break; case eDistances.MANHATTAN: Distance = ListDistSource.Dist_Manhattan(ListDistDest); break; case eDistances.VECTOR_COS: Distance = ListDistSource.Dist_VectorCosine(ListDistDest); break; case eDistances.BHATTACHARYYA: Distance = ListDistSource.Dist_BhattacharyyaCoefficient(ListDistDest); break; case eDistances.EMD: Distance = ListDistSource.Dist_EarthMover(ListDistDest); break; default: break; } return Distance; }
public double DistanceTo(cWell DestinationWell, int Idxdescriptor, eDistances DistanceType) { double Distance = 0; switch (DistanceType) { case eDistances.EUCLIDEAN: Distance = this.ListSignatures[Idxdescriptor].GetHistovalues().Dist_Euclidean(DestinationWell.ListSignatures[Idxdescriptor].GetHistovalues()); break; case eDistances.MANHATTAN: Distance = this.ListSignatures[Idxdescriptor].GetHistovalues().Dist_Manhattan(DestinationWell.ListSignatures[Idxdescriptor].GetHistovalues()); break; case eDistances.VECTOR_COS: Distance = this.ListSignatures[Idxdescriptor].GetHistovalues().Dist_VectorCosine(DestinationWell.ListSignatures[Idxdescriptor].GetHistovalues()); break; case eDistances.BHATTACHARYYA: Distance = this.ListSignatures[Idxdescriptor].GetHistovalues().Dist_BhattacharyyaCoefficient(DestinationWell.ListSignatures[Idxdescriptor].GetHistovalues()); break; case eDistances.EMD: Distance = this.ListSignatures[Idxdescriptor].GetHistovalues().Dist_EarthMover(DestinationWell.ListSignatures[Idxdescriptor].GetHistovalues()); break; default: break; } return Distance; }