Package edu.gsu.cs.dmlab.tracking
Class ParallelGraphAssociationProblem
- java.lang.Object
-
- edu.gsu.cs.dmlab.tracking.ParallelGraphAssociationProblem
-
- All Implemented Interfaces:
ISTAssociationProblem
public class ParallelGraphAssociationProblem extends Object implements ISTAssociationProblem
This class is the graph used to find the optimal multi-commodity flow and then use the results to associate the tracks into longer tracks. This class partitions the data set based on start time of each track and processes these partitions in parallel at the solving step as they are mutually disjoint.- Author:
- Dustin Kempton, Data Mining Lab, Georgia State University Michael Tinglof, Data Mining Lab, Georgia State University
-
-
Constructor Summary
Constructors Constructor Description ParallelGraphAssociationProblem(List<ISTTrackingTrajectory> tracks, ITrackingGraphProblemFactory factory, ISTEdgeWeightCalculator weightCalculator, int numPartitions)
Constructor constructs a new object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addAssociationPossibility(ISTTrackingTrajectory from, ISTTrackingTrajectory to)
Adds a possible path to the association problem.ArrayList<ISTTrackingTrajectory>
getTrackLinked()
Returns the tracks from the solved association problem.boolean
solve()
Solves the association problem
-
-
-
Constructor Detail
-
ParallelGraphAssociationProblem
public ParallelGraphAssociationProblem(List<ISTTrackingTrajectory> tracks, ITrackingGraphProblemFactory factory, ISTEdgeWeightCalculator weightCalculator, int numPartitions)
Constructor constructs a new object.- Parameters:
tracks
- The tracks to solve the association problem on.factory
- A factory for creating stuff that this object needs.weightCalculator
- Calculates the weight for the edges in the graphs that are used for the association problem.numPartitions
- The number of partitions to break the global problem into. This equates to how many graphs to create and solve the association problem on, where each graph is solved independently as another problem at the same time. They are then all merged for a global solution.
-
-
Method Detail
-
addAssociationPossibility
public void addAssociationPossibility(ISTTrackingTrajectory from, ISTTrackingTrajectory to)
Description copied from interface:ISTAssociationProblem
Adds a possible path to the association problem.- Specified by:
addAssociationPossibility
in interfaceISTAssociationProblem
- Parameters:
from
- The ITrack the path starts from.to
- The ITrack the path ends at.
-
solve
public boolean solve()
Description copied from interface:ISTAssociationProblem
Solves the association problem- Specified by:
solve
in interfaceISTAssociationProblem
- Returns:
- True if the problem was solved.
-
getTrackLinked
public ArrayList<ISTTrackingTrajectory> getTrackLinked()
Description copied from interface:ISTAssociationProblem
Returns the tracks from the solved association problem.- Specified by:
getTrackLinked
in interfaceISTAssociationProblem
- Returns:
- The tracks that were the result of the association problem.
-
-