|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectutil.PropertyContainer
util.PropertyResources
util.PropertyBundles
stella.AbstractMerit
stella.xml.AbstractPhaseMerit
stella.xml.PhaseCoherentMerit
public class PhaseCoherentMerit
A class defining a time-slot merit that allows observation of a target that
requires phase-coherent observations. This merit is rather complex. It
consits of a superposition of Gauss-curves, each one is centered at an
'ideal' phase observation. Again, the KEY_WIDTH defines the
sharpness of this curve. The parameter KEY_AIMN points to the
the number of phase-coherent observations that should be made on the target,
the period is given with the #KEY_PERIOD key. So far, so easy.
To allow for an increased probability for target choosing as soon as at
least some observations has been made, the KEY_AUGMENT parameter
is introduced. If set to one, the probability increased such that the
merit is area-conserving in phase space. Another difficult thing is the
determination whether an observation made really fulfills the requirement
of phase coherence. The KEY_OFFSET key helps here. If an
observation
made is in phase-space within one of the calculated phase-centered pick
times, this observation is said to be successfully centered at the required
phase. The resulting formula reads as
ts(t)=∑ki(x-μi)1/ne-((x-μi)/width)²The parameters ki, x, and μi are evaluated according to
μi=i/Naim, ki=augment·Naim/(Naim-N) | 0, x=((t-tfirst)%P)/P,where x is adjusted so that x-μi > 0. The actually successful observations, N is increased if
|((tobs-tfirst)%P)/P|<offsetIn this case, ki=0.
ConstantMerit or a
OneObservationMerit to further constrain target picking.EndpointDefining interface. The
isCompleted(stella.ParameterClustering, stella.TargetDefinition) method returns true as soon as all phase-requested
observations have been made.
| Nested Class Summary | |
|---|---|
static class |
PhaseCoherentMerit.Random
A test class for the phase coherent merit. |
| Nested classes/interfaces inherited from class util.PropertyResources |
|---|
PropertyResources.URLResource |
| Field Summary | |
|---|---|
private static int |
DEFAIMN
Default value for the required phase-points. |
private static double |
DEFAUGMENT
The default artificial increase of probabilty after some observations. |
private static double |
DEFCOMPLETENESS
Default completeness level. |
private static double |
DEFMAXPERIODS
Default value for maximum number of periods. |
private static double |
DEFOFFSET
Default value for the maximum offset in phase space. |
private static double |
DEFPRIOR
Default value for the merit returned prior to first successful obs. |
private static int |
DEFSHARP
Default value for the sharpness. |
private static double |
DEFWIDTH
Default value for the width in phase space. |
static String |
KEY_AIMN
The number of phase points to observe. |
static String |
KEY_ATPHASES
Observe at these distinct phases. |
static String |
KEY_AUGMENT
The key linked to artificial increase of late observations. |
static String |
KEY_COMPLETENESS
Completeness level if program was not finished after some periods. |
static String |
KEY_MAXPERIODS
The number of periods passed until completeness applies. |
static String |
KEY_OFFSET
The maximum phase-offset allowed for a successful phase-coherent obs. |
static String |
KEY_PRIOR
The merit returned if no observation has been made. |
static String |
KEY_SHARP
The sharpness of the rise, i.e. |
static String |
KEY_STARTFRAC
If this property is set, we only start at frac-jd around it. |
static String |
KEY_WIDTH
The key linked to width of the observation intervall in phase space. |
private List<Double> |
phases
The phases were we want to observe. |
private static long |
serialVersionUID
|
| Fields inherited from class stella.xml.AbstractPhaseMerit |
|---|
KEY_HJDCORRECTION, KEY_JD, KEY_PERIODDAY, KEY_ZEROPHASE |
| Fields inherited from class util.PropertyBundles |
|---|
KEY_LOCALECOUNTRY, KEY_LOCALELANGUAGE, KEY_RESOURCEBUNDLES |
| Fields inherited from class util.PropertyResources |
|---|
KEY_NOINITONCREATE, localurl, locate, POSTFIX_DIR, POSTFIX_EXT, POSTFIX_FILE, POSTFIX_LIST, POSTFIX_URL, urlset |
| Fields inherited from class util.PropertyContainer |
|---|
KEY_LISTSEPARATOR, KEY_MAPKEYVALUECHAR, KEY_MAPSEPARATOR |
| Fields inherited from interface util.ResourceSupplying |
|---|
KEY_URLRESOURCES, KEY_URLUSECONFIG, KEY_URLUSECURRENT, KEY_URLUSEHOME |
| Fields inherited from interface util.PropertySupplying |
|---|
CONFIG, KEY_CLASS |
| Constructor Summary | |
|---|---|
PhaseCoherentMerit(Map prop)
Constructs a phase-coherent merit. |
|
| Method Summary | |
|---|---|
private double |
calculate(double phi,
double[] ki,
double sigma,
int sharp)
Calculates the merit at the given phase, which must be between zero and one. |
double |
getMerit(ParameterClustering set,
TargetDefinition target,
Collection ignore,
long within)
Calculates the actual time slot merit. |
private double |
getMeritFromNumbers(double current,
double periodspan,
List<Double> looked,
String debugname)
To test this complicated merit, we have transferred all the calculations into this method that does not need any target descriptions or sets. |
void |
init()
Generates the list of phases we want to observe. |
boolean |
isCompleted(ParameterClustering set,
TargetDefinition target)
Check, if the observation is complete. |
| Methods inherited from class stella.xml.AbstractPhaseMerit |
|---|
getDaysSinceT0, getHjd, getHjd, getPhase, getPhase, getT0 |
| Methods inherited from class stella.AbstractMerit |
|---|
createMerit, getInitializer, initMerit |
| Methods inherited from class util.PropertyBundles |
|---|
clone, getLocalized, getLocalized, getLocalizedString, getLocalizedString, loadResource |
| Methods inherited from class util.PropertyResources |
|---|
createFrom, createFrom, createFrom, getApplet, getAsResources, getLocalClassLoader, getPropertiesToKey, getPropertiesToKey, getResource, getResourceAsStream, getResourceFromKey, getResources, keyCreate, keyCreate, reload, setApplet |
| Methods inherited from class util.PropertyContainer |
|---|
augment, augment, augment, defaultBoolean, defaultChar, defaultDouble, defaultFloat, defaultInt, defaultLong, defaultObject, defaultObject, defaultProperties, defaultProperty, getAsBoolean, getAsChar, getAsDouble, getAsEnums, getAsFloat, getAsInt, getAsList, getAsLong, getAsMap, getAsMap, getAsObject, getAsObject, getProperties, getProperty, has, isNew, parseObject, reload, removeProperty, rescanned, setObject, setProperties, setProperty, stringProperties, toString |
| Methods inherited from class java.lang.Object |
|---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface stella.Meriting |
|---|
getInitializer, initMerit |
| Methods inherited from interface util.ResourceSupplying |
|---|
getResource, getResourceAsStream, getResources |
| Methods inherited from interface util.PropertySupplying |
|---|
defaultBoolean, defaultChar, defaultDouble, defaultFloat, defaultInt, defaultLong, defaultObject, defaultObject, defaultProperties, defaultProperty, getAsBoolean, getAsChar, getAsDouble, getAsFloat, getAsInt, getAsList, getAsLong, getAsMap, getAsObject, getAsObject, getProperties, getProperty, has, parseObject, removeProperty, setObject, setProperty, stringProperties |
| Field Detail |
|---|
private static final long serialVersionUID
public static final String KEY_AIMN
public static final String KEY_ATPHASES
public static final String KEY_STARTFRAC
public static final String KEY_OFFSET
public static final String KEY_AUGMENT
public static final String KEY_WIDTH
public static final String KEY_PRIOR
public static final String KEY_MAXPERIODS
public static final String KEY_COMPLETENESS
public static final String KEY_SHARP
private static final double DEFOFFSET
private static final double DEFAUGMENT
private static final int DEFAIMN
private static final double DEFWIDTH
private static final double DEFPRIOR
private static final double DEFMAXPERIODS
private static final double DEFCOMPLETENESS
private static final int DEFSHARP
private List<Double> phases
| Constructor Detail |
|---|
public PhaseCoherentMerit(Map prop)
AbstractMerit.createMerit(java.util.Map)
method. This create method also takes care of proper parameter
overloading.
| Method Detail |
|---|
public void init()
init in interface Initializableinit in class AbstractPhaseMerit
public double getMerit(ParameterClustering set,
TargetDefinition target,
Collection ignore,
long within)
getMerit in interface Meritingset - Current observing conditions.target - The actual target.ignore - The list of targetes relevant to the actual target.within - The relevant time span in ms.
private double getMeritFromNumbers(double current,
double periodspan,
List<Double> looked,
String debugname)
current - The time for evaluation.within - The time span used for evaluationt0 - The time of the first successful observation, defining the
zero point.times - A list of all successfule observing times without the first
private double calculate(double phi,
double[] ki,
double sigma,
int sharp)
phi - The merit phaseki - The individual slot coefficientssigma - Width of individual peak.sharp - The power in the Hoerl-like function.
public boolean isCompleted(ParameterClustering set,
TargetDefinition target)
isCompleted in interface EndpointDefining
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||