diff --git a/plugins/Correlation.form b/plugins/Correlation.form
index 241ea9b..b813f06 100644
--- a/plugins/Correlation.form
+++ b/plugins/Correlation.form
@@ -27,7 +27,7 @@
-
+
@@ -46,23 +46,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -71,6 +54,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -96,11 +105,16 @@
-
+
-
+
+
+
+
+
+
@@ -164,6 +178,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugins/Correlation.java b/plugins/Correlation.java
index 7fdb840..5ea899a 100644
--- a/plugins/Correlation.java
+++ b/plugins/Correlation.java
@@ -20,7 +20,19 @@ public class Correlation extends Panel {
//Overridable callbacks
@Override
public void onInitialize(int runCount) {
+ this.startTimer(100, 10);
+ }
+
+ @Override
+ protected void onTimer(){
+ String correlation="";
+ try{
+ correlation = String.format("%1.4f", Double.valueOf((Double)getController().getInterpreterVariable("corr")));
+ } catch (Exception ex){
+ correlation = "";
+ }
+ textCorrelation.setText(correlation);
}
@Override
@@ -30,7 +42,7 @@ public class Correlation extends Panel {
textDevX.setEnabled(state==State.Ready);
textDevY.setEnabled(state==State.Ready);
spinnerInterval.setEnabled(state==State.Ready);
- spinnerWindow.setEnabled(state==State.Ready);
+ spinnerWindow.setEnabled(state==State.Ready);
}
@Override
@@ -59,6 +71,8 @@ public class Correlation extends Panel {
spinnerWindow = new javax.swing.JSpinner();
buttonStart = new javax.swing.JButton();
buttonStop = new javax.swing.JButton();
+ jLabel5 = new javax.swing.JLabel();
+ textCorrelation = new javax.swing.JTextField();
plot.setTitle("");
@@ -92,30 +106,42 @@ public class Correlation extends Panel {
}
});
+ jLabel5.setText("Correlation:");
+
+ textCorrelation.setHorizontalAlignment(javax.swing.JTextField.CENTER);
+ textCorrelation.setDisabledTextColor(new java.awt.Color(0, 0, 0));
+ textCorrelation.setEnabled(false);
+
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel1Layout.createSequentialGroup()
- .addContainerGap()
- .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jLabel1)
- .addComponent(jLabel2)
- .addComponent(jLabel3)
- .addComponent(jLabel4))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(textDevX, javax.swing.GroupLayout.PREFERRED_SIZE, 169, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(textDevY, javax.swing.GroupLayout.PREFERRED_SIZE, 169, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(spinnerInterval, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(spinnerWindow, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(buttonStart, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(buttonStop, javax.swing.GroupLayout.PREFERRED_SIZE, 142, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+ .addGroup(jPanel1Layout.createSequentialGroup()
+ .addContainerGap()
+ .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanel1Layout.createSequentialGroup()
+ .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(jLabel1)
+ .addComponent(jLabel2)
+ .addComponent(jLabel3)
+ .addComponent(jLabel4))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(textDevX, javax.swing.GroupLayout.PREFERRED_SIZE, 169, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(textDevY, javax.swing.GroupLayout.PREFERRED_SIZE, 169, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(spinnerInterval, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(spinnerWindow, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
+ .addGroup(jPanel1Layout.createSequentialGroup()
+ .addComponent(jLabel5)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(textCorrelation, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE)))
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel1Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel1, jLabel2, jLabel3, jLabel4});
@@ -141,11 +167,15 @@ public class Correlation extends Panel {
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(spinnerWindow, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 131, Short.MAX_VALUE)
.addComponent(buttonStart)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(buttonStop)
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 132, Short.MAX_VALUE)
+ .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(jLabel5)
+ .addComponent(textCorrelation, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addGap(41, 41, 41))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
@@ -161,7 +191,7 @@ public class Correlation extends Panel {
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(plot, javax.swing.GroupLayout.DEFAULT_SIZE, 499, Short.MAX_VALUE)
+ .addComponent(plot, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
@@ -198,10 +228,12 @@ public class Correlation extends Panel {
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
+ private javax.swing.JLabel jLabel5;
private javax.swing.JPanel jPanel1;
private ch.psi.pshell.plot.LinePlotJFree plot;
private javax.swing.JSpinner spinnerInterval;
private javax.swing.JSpinner spinnerWindow;
+ private javax.swing.JTextField textCorrelation;
private javax.swing.JTextField textDevX;
private javax.swing.JTextField textDevY;
// End of variables declaration//GEN-END:variables
diff --git a/script/Correlation/Correlation.py b/script/Correlation/Correlation.py
index a411f34..a6334b3 100644
--- a/script/Correlation/Correlation.py
+++ b/script/Correlation/Correlation.py
@@ -12,7 +12,7 @@ if get_context().source == CommandSource.ui:
p = plot(None)[0]
for s in p.getAllSeries():
- p.removeSeries(s)
+ p.removeSeries(s)
p.addSeries(LinePlotSeries("Data"))
if isinstance(dx, basestring):
@@ -22,12 +22,14 @@ if isinstance(dy, basestring):
sd=p.getSeries(0)
sd.setLinesVisible(False)
+
sd.setPointSize(4)
-if globals().has_key("marker")
+if globals().has_key("marker"):
p.removeMarker(marker)
marker=None
+corr = None
while(True):
#Sample and plot data