Skip to content

Commit 68c9969

Browse files
committed
run msbuild
1 parent 2ce32dc commit 68c9969

File tree

4 files changed

+29
-0
lines changed

4 files changed

+29
-0
lines changed

Data_science/Mathematica/SignalProcessing/MachineVision/RANSAC/PointWithDescriptor.vb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ Imports std = System.Math
66
''' A point structure that includes its feature descriptor.
77
''' </summary>
88
Public Structure PointWithDescriptor
9+
910
Public Pt As PointF
1011
''' <summary>
1112
''' (distance to centroid, angle)

Data_science/Mathematica/SignalProcessing/MachineVision/RANSAC/RANSACPointAlignment.vb

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,11 @@
6060
Imports System.Drawing
6161
Imports Microsoft.VisualBasic.ApplicationServices.Terminal.ProgressBar
6262
Imports Microsoft.VisualBasic.ApplicationServices.Terminal.ProgressBar.Tqdm
63+
Imports Microsoft.VisualBasic.ComponentModel.Algorithm.base
6364
Imports Microsoft.VisualBasic.Imaging.Math2D
6465
Imports Microsoft.VisualBasic.Language
66+
Imports Microsoft.VisualBasic.Linq
67+
Imports Microsoft.VisualBasic.Math.SignalProcessing.HungarianAlgorithm
6568
Imports rand = Microsoft.VisualBasic.Math.RandomExtensions
6669
Imports std = System.Math
6770

@@ -71,6 +74,13 @@ Imports std = System.Math
7174
''' </summary>
7275
Public Module RANSACPointAlignment
7376

77+
Public Function MakeHungarianAssignment(sourcePoly As Polygon2D, targetPoly As Polygon2D, t As AffineTransform) As Integer()
78+
Dim distanceMap As New DistanceMap(Of PointF)(t.ApplyTo(sourcePoly).AsEnumerable, targetPoly.AsEnumerable, AddressOf Distance)
79+
Dim assignMap As Integer() = HungarianAlgorithm.FindAssignments(distanceMap.GetMap)
80+
81+
Return assignMap
82+
End Function
83+
7484
''' <summary>
7585
''' Aligns a source polygon to a target polygon using RANSAC.
7686
''' </summary>

Microsoft.VisualBasic.Core/src/ComponentModel/Algorithm/base/DistanceMap.vb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,12 @@ Namespace ComponentModel.Algorithm.base
1919
End Get
2020
End Property
2121

22+
Public ReadOnly Property GetMap As Double()()
23+
Get
24+
Return distanceMap.ToArray
25+
End Get
26+
End Property
27+
2228
''' <summary>
2329
''' NxN distance matrix
2430
''' </summary>

Microsoft.VisualBasic.Core/src/Extensions/Math/Trigonometric/Trigonometric.vb

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,11 +112,23 @@ Namespace Math
112112
Return std.Atan2(p.Y, p.X)
113113
End Function
114114

115+
''' <summary>
116+
''' Calculate the Euclidean distance between two points.
117+
''' </summary>
118+
''' <param name="a"></param>
119+
''' <param name="b"></param>
120+
''' <returns></returns>
115121
<MethodImpl(MethodImplOptions.AggressiveInlining)>
116122
Public Function Distance(a As Point, b As Point) As Double
117123
Return std.Sqrt((a.X - b.X) ^ 2 + (a.Y - b.Y) ^ 2)
118124
End Function
119125

126+
''' <summary>
127+
''' Calculate the Euclidean distance between two points.
128+
''' </summary>
129+
''' <param name="a"></param>
130+
''' <param name="b"></param>
131+
''' <returns></returns>
120132
<MethodImpl(MethodImplOptions.AggressiveInlining)>
121133
Public Function Distance(a As PointF, b As PointF) As Double
122134
Return std.Sqrt((a.X - b.X) ^ 2 + (a.Y - b.Y) ^ 2)

0 commit comments

Comments
 (0)