Skip to content

Commit 7f82d16

Browse files
committed
Improve Fourier labels and VeLa model naming
Include source series in Fourier-derived model descriptions and trim model labels before appending obs/time metadata to remove spacing artifacts. Default the VeLa model name (used in model descriptions when no file is loaded) from "Untitled" to "VeLa model". Made-with: Cursor
1 parent 96fd096 commit 7f82d16

4 files changed

Lines changed: 38 additions & 5 deletions

File tree

src/org/aavso/tools/vstar/ui/mediator/DocumentManager.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -372,7 +372,8 @@ private boolean isModelKeyInUse(String key) {
372372
private String buildModelLabel(IModel model) {
373373
int obsCount = model.getFit() == null ? 0 : model.getFit().size();
374374
String time = LocalTime.now().format(MODEL_LABEL_TIME_FORMATTER);
375-
return String.format("%s (%d obs, %s)", model.getDescription(), obsCount, time);
375+
String desc = model.getDescription() == null ? "" : model.getDescription().trim();
376+
return String.format("%s (%d obs, %s)", desc, obsCount, time);
376377
}
377378

378379
/**

src/org/aavso/tools/vstar/ui/vela/VeLaDialog.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ private static List<ITextComponent<String>> createTextAreas() {
8989

9090
public VeLaDialog(String title) {
9191
super(title, createTextAreas(), true, true);
92-
path = "Untitled";
92+
path = "VeLa model";
9393
}
9494

9595
public VeLaDialog(String title, String code) {

src/org/aavso/tools/vstar/util/TSBase.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,13 @@ public TSBase(List<ValidObservation> observations) {
118118
interrupted = false;
119119
}
120120

121+
/**
122+
* @return the source observations used by this algorithm.
123+
*/
124+
public List<ValidObservation> getObservations() {
125+
return observations;
126+
}
127+
121128
// -------------------------------------------------------------------------------
122129

123130
public void load_raw() {

src/org/aavso/tools/vstar/util/model/PeriodAnalysisDerivedMultiPeriodicModel.java

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,12 @@
2222
import java.util.List;
2323
import java.util.Map;
2424

25+
import org.aavso.tools.vstar.data.SeriesType;
2526
import org.aavso.tools.vstar.data.ValidObservation;
2627
import org.aavso.tools.vstar.exception.AlgorithmError;
2728
import org.aavso.tools.vstar.ui.model.plot.ContinuousModelFunction;
2829
import org.aavso.tools.vstar.util.Pair;
30+
import org.aavso.tools.vstar.util.TSBase;
2931
import org.aavso.tools.vstar.util.locale.LocaleProps;
3032
import org.aavso.tools.vstar.util.period.IPeriodAnalysisAlgorithm;
3133
import org.aavso.tools.vstar.util.period.PeriodAnalysisCoordinateType;
@@ -83,15 +85,38 @@ public PeriodAnalysisDerivedMultiPeriodicModel(PeriodAnalysisDataPoint topDataPo
8385
@Override
8486
public String getDescription() {
8587
if (desc == null) {
86-
desc = getKind() + " from periods: ";
87-
for (Harmonic harmonic : harmonics) {
88-
desc += NumericPrecisionPrefs.formatOther(harmonic.getPeriod()) + " ";
88+
StringBuilder descBuilder = new StringBuilder(getKind());
89+
String seriesName = getSourceSeriesName();
90+
if (seriesName != null) {
91+
descBuilder.append(" for ").append(seriesName).append(" series");
8992
}
93+
descBuilder.append(" from periods: ");
94+
95+
for (int i = 0; i < harmonics.size(); i++) {
96+
if (i > 0) {
97+
descBuilder.append(", ");
98+
}
99+
descBuilder.append(NumericPrecisionPrefs.formatOther(harmonics.get(i).getPeriod()));
100+
}
101+
desc = descBuilder.toString();
90102
}
91103

92104
return desc;
93105
}
94106

107+
private String getSourceSeriesName() {
108+
if (algorithm instanceof TSBase) {
109+
List<ValidObservation> observations = ((TSBase) algorithm).getObservations();
110+
if (observations != null && !observations.isEmpty()) {
111+
SeriesType series = observations.get(0).getBand();
112+
if (series != null) {
113+
return series.getDescription();
114+
}
115+
}
116+
}
117+
return null;
118+
}
119+
95120
/**
96121
* @see org.aavso.tools.vstar.util.model.IModel#getKind()
97122
*/

0 commit comments

Comments
 (0)