net.aerith.misao.pixy.pairing
Class StarImageRadiusBasedPairMaker

java.lang.Object
  |
  +--net.aerith.misao.util.OperationObservable
        |
        +--net.aerith.misao.util.Operation
              |
              +--net.aerith.misao.pixy.pairing.StarImageRadiusBasedPairMaker

public class StarImageRadiusBasedPairMaker
extends Operation

The StarImageRadiusBasedPairMaker is a class to make pairs among two lists of stars. From the brightest star to the faintest star, a star in the first list is getting paired with a star in the second list. If some stars are within the radius of the star image, the brightest one is selected as a counterpart. If all stars within the radius are too faint over the specified difference, it will not be paired with any one.

The star elements in the first list must be the StarImage objects.

The (x,y) position and magnitude of stars in the both lists must be set properly. The two lists are sorted in the constructor.


Field Summary
protected  double acceptable_mag_difference
          The difference of magnitude to be accepted to paired with.
protected  StarList first_list
          The first list of stars.
protected  PositionMap first_map
          The map of the first list of stars.
protected  double minimum_radius
          The minimum radius to search.
protected  java.util.Vector pair_list
          The list of pairs.
protected  double search_radius_coefficient
          The coefficient of radius to search a counterpart.
protected  StarList second_list
          The second list of stars.
protected  PositionMap second_map
          The map of the second list of stars.
 
Fields inherited from class net.aerith.misao.util.Operation
monitor_set, stopped
 
Fields inherited from class net.aerith.misao.util.OperationObservable
observer_list
 
Constructor Summary
StarImageRadiusBasedPairMaker(StarList first_list, StarList second_list)
          Constructs a StarImageRadiusBasedPairMaker with two lists of stars.
 
Method Summary
 java.util.Vector getPairList()
          Gets the list of pairs.
 void operate()
          Operates.
 boolean ready()
          Returns true if the operation is ready to start.
 void setAcceptableMagnitudeDifference(double delta_mag)
          Sets the differenct of magnitude to be accepted to paired with.
 void setMapAreas(PositionMap map1, PositionMap map2)
          Sets the map areas to check if a star is out of the area on the other map.
 void setMinimumRadius(double radius)
          Sets the minimum radius to search.
 void setSearchRadiusCoefficient(double coefficient)
          Sets the coefficient of radius to search a counterpart.
 
Methods inherited from class net.aerith.misao.util.Operation
addMonitor, isStopped, perform, run, stop
 
Methods inherited from class net.aerith.misao.util.OperationObservable
addObserver, deleteObserver, notifyEnd, notifyFailed, notifyStart, notifySucceeded, notifyWarned
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

first_list

protected StarList first_list
The first list of stars.

second_list

protected StarList second_list
The second list of stars.

first_map

protected PositionMap first_map
The map of the first list of stars.

second_map

protected PositionMap second_map
The map of the second list of stars.

search_radius_coefficient

protected double search_radius_coefficient
The coefficient of radius to search a counterpart.

minimum_radius

protected double minimum_radius
The minimum radius to search.

acceptable_mag_difference

protected double acceptable_mag_difference
The difference of magnitude to be accepted to paired with.

pair_list

protected java.util.Vector pair_list
The list of pairs.
Constructor Detail

StarImageRadiusBasedPairMaker

public StarImageRadiusBasedPairMaker(StarList first_list,
                                     StarList second_list)
Constructs a StarImageRadiusBasedPairMaker with two lists of stars.
Parameters:
first_list - the first list of stars.
second_list - the second list of stars.
Method Detail

setSearchRadiusCoefficient

public void setSearchRadiusCoefficient(double coefficient)
Sets the coefficient of radius to search a counterpart.
Parameters:
coefficient - the coefficient of radius to search a counterpart.

setMinimumRadius

public void setMinimumRadius(double radius)
Sets the minimum radius to search.
Parameters:
radius - the minimum radius to search.

setAcceptableMagnitudeDifference

public void setAcceptableMagnitudeDifference(double delta_mag)
Sets the differenct of magnitude to be accepted to paired with.
Parameters:
delta_mag - the differenct of magnitude.

setMapAreas

public void setMapAreas(PositionMap map1,
                        PositionMap map2)
Sets the map areas to check if a star is out of the area on the other map. If the specified map is null, stars will not been checked if out of area or not.
Parameters:
map1 - the map area of the first list of stars.
map2 - the map area of the second list of stars.

getPairList

public java.util.Vector getPairList()
Gets the list of pairs.
Returns:
the list of pairs.

ready

public boolean ready()
Returns true if the operation is ready to start.
Overrides:
ready in class Operation
Returns:
true if the operation is ready to start.

operate

public void operate()
             throws java.lang.Exception
Operates.
Overrides:
operate in class Operation
Throws:
java.lang.Exception - if an error occurs.