diff --git a/devices/Beam phase.properties b/devices/Beam phase.properties index d7abe4d..1300b7f 100644 --- a/devices/Beam phase.properties +++ b/devices/Beam phase.properties @@ -1,9 +1,9 @@ -#Wed Jun 14 11:54:37 CEST 2017 -maxValue=180.0 -minValue=-180.0 +#Tue Jul 04 09:53:47 CEST 2017 +maxValue=360.0 +minValue=-360.0 offset=0.0 precision=3 resolution=1.0 -rotation=true +rotation=false scale=1.0 unit=deg diff --git a/devices/CurrentCamera.properties b/devices/CurrentCamera.properties index 6e26a83..bde8feb 100644 --- a/devices/CurrentCamera.properties +++ b/devices/CurrentCamera.properties @@ -1,16 +1,16 @@ -#Mon Jun 19 13:19:05 CEST 2017 +#Tue Jul 04 10:08:08 CEST 2017 colormap=Flame -colormapAutomatic=true -colormapMax=24.0 +colormapAutomatic=false +colormapMax=1071.0 colormapMin=0.0 flipHorizontally=false flipVertically=false grayscale=false -imageHeight=2160 -imageWidth=2560 +imageHeight=1200 +imageWidth=1246 invert=false -regionStartX=1 -regionStartY=1 +regionStartX=304 +regionStartY=8 rescaleFactor=1.0 rescaleOffset=0.0 roiHeight=-1 @@ -21,9 +21,9 @@ rotation=0.0 rotationCrop=false scale=1.0 serverURL=localhost\:10000 -spatialCalOffsetX=447.40694006309144 -spatialCalOffsetY=400.8840579710145 -spatialCalScaleX=1.0 -spatialCalScaleY=1.0 +spatialCalOffsetX=-393.4993589250224 +spatialCalOffsetY=-389.50586061323884 +spatialCalScaleX=-18.903591441986975 +spatialCalScaleY=-19.37984471513329 spatialCalUnits=mm transpose=false diff --git a/devices/cam1.properties b/devices/cam1.properties index abb4f4e..884604e 100644 --- a/devices/cam1.properties +++ b/devices/cam1.properties @@ -1,4 +1,4 @@ -#Thu May 11 14:22:56 CEST 2017 +#Fri Jun 30 08:55:58 CEST 2017 colormap=Temperature colormapAutomatic=true colormapMax=30000.0 diff --git a/devices/cam2.properties b/devices/cam2.properties index cbb8ef7..c56d42d 100644 --- a/devices/cam2.properties +++ b/devices/cam2.properties @@ -1,4 +1,4 @@ -#Fri May 26 11:30:37 CEST 2017 +#Tue Jun 27 15:04:39 CEST 2017 colormap=Flame colormapAutomatic=true colormapMax=255.0 diff --git a/devices/cam3.properties b/devices/cam3.properties index 8d16a48..a07023d 100644 --- a/devices/cam3.properties +++ b/devices/cam3.properties @@ -1,4 +1,4 @@ -#Thu Jun 01 10:19:48 CEST 2017 +#Thu Jun 29 14:59:27 CEST 2017 colormap=Flame colormapAutomatic=true colormapMax=255.0 diff --git a/plugins/SchottkyScan.java b/plugins/SchottkyScan.java index 228a7ac..de0bc39 100644 --- a/plugins/SchottkyScan.java +++ b/plugins/SchottkyScan.java @@ -31,24 +31,25 @@ public class SchottkyScan extends Panel { public SchottkyScan() { initComponents(); setPersistedComponents(SwingUtils.getComponentsByType(panelPars, JSpinner.class)); + buttonSet.setEnabled(false); } //Overridable callbacks @Override - public void onInitialize(int runCount) { + public void onInitialize(int runCount) { } @Override public void onStateChange(State state, State former) { buttonAbort.setEnabled(state.isProcessing()); buttonStart.setEnabled(state == State.Ready); - buttonSet.setEnabled(buttonStart.isEnabled()); + //buttonSet.setEnabled(buttonStart.isEnabled()); spinnerStart.setEnabled(buttonStart.isEnabled()); spinnerStop.setEnabled(buttonStart.isEnabled()); spinnerStep.setEnabled(buttonStart.isEnabled()); spinnerSamples.setEnabled(buttonStart.isEnabled()); spinnerLatency.setEnabled(buttonStart.isEnabled()); - spinnerPhaseRef.setEnabled(buttonStart.isEnabled()); + //spinnerPhaseRef.setEnabled(buttonStart.isEnabled()); } @Override @@ -292,8 +293,9 @@ public class SchottkyScan extends Panel { getLogger().info("Exception executing scan: " + ex); } else { Double bph_ref = (Double) ((List)ret).get(0); - Double rph_ref = (Double) ((List)ret).get(1); spinnerPhaseRef.setValue(Convert.roundDouble(bph_ref, 1)); + buttonSet.setEnabled(true); + spinnerPhaseRef.setEnabled(true); } return ret; }); @@ -330,7 +332,10 @@ public class SchottkyScan extends Panel { runAsync("RFscan/SchottkyScanSet", parameters).handle((ret, ex) -> { if (ex != null) { getLogger().info("Exception executing scan: " + ex); + showException((Exception) ex); } + buttonSet.setEnabled(false); + spinnerPhaseRef.setEnabled(false); return ret; }); } catch (Exception ex) { diff --git a/plugins/ScreenPanel.java b/plugins/ScreenPanel.java index 63b2bdc..5573d41 100644 --- a/plugins/ScreenPanel.java +++ b/plugins/ScreenPanel.java @@ -132,31 +132,39 @@ public class ScreenPanel extends Panel { double[] getCamtoolDoubleArray(String name) { return (double[]) Convert.toDouble(((Camtool) camera).getValue(name)); } + + Double getCamtoolDouble(String name, StreamValue cache) { + return (Double) Convert.toDouble(cache.__getitem__(name)); + } + + double[] getCamtoolDoubleArray(String name, StreamValue cache) { + return (double[]) Convert.toDouble(cache.__getitem__(name)); + } class ImageData { ImageData(){ if (camera instanceof Camtool) { - cache = ((Camtool) camera).getStream().take(); + StreamValue cache = ((Camtool) camera).getStream().take(); String prefix = goodRegion ? "gr_" : ""; - x_fit_mean = getDouble(prefix + "x_fit_mean"); - y_fit_mean = getDouble(prefix + "y_fit_mean"); - x_fit_standard_deviation = getDouble(prefix + "x_fit_standard_deviation"); - y_fit_standard_deviation = getDouble(prefix + "y_fit_standard_deviation"); - x_fit_gauss_function = getDoubleArray(prefix +"x_fit_gauss_function"); - y_fit_gauss_function = getDoubleArray(prefix +"y_fit_gauss_function"); - x_profile = getDoubleArray("x_profile"); - y_profile = getDoubleArray("y_profile"); - x_center_of_mass = getDouble("x_center_of_mass"); - y_center_of_mass = getDouble("y_center_of_mass"); - x_rms = getDouble("x_rms"); - y_rms = getDouble("y_rms"); + x_fit_mean = getCamtoolDouble(prefix + "x_fit_mean", cache); + y_fit_mean = getCamtoolDouble(prefix + "y_fit_mean", cache); + x_fit_standard_deviation = getCamtoolDouble(prefix + "x_fit_standard_deviation", cache); + y_fit_standard_deviation = getCamtoolDouble(prefix + "y_fit_standard_deviation", cache); + x_fit_gauss_function = getCamtoolDoubleArray(prefix +"x_fit_gauss_function", cache); + y_fit_gauss_function = getCamtoolDoubleArray(prefix +"y_fit_gauss_function", cache); + x_profile = getCamtoolDoubleArray("x_profile", cache); + y_profile = getCamtoolDoubleArray("y_profile", cache); + x_center_of_mass = getCamtoolDouble("x_center_of_mass", cache); + y_center_of_mass = getCamtoolDouble("y_center_of_mass", cache); + x_rms = getCamtoolDouble("x_rms", cache); + y_rms = getCamtoolDouble("y_rms", cache); if (goodRegion){ double[] gX2 = new double[x_profile.length]; Arrays.fill(gX2, Double.NaN); try{ - double x = getDoubleArray("gr_x_axis")[0]; + double x = getCamtoolDoubleArray("gr_x_axis", cache)[0]; System.arraycopy(x_fit_gauss_function, 0, gX2, (int) ((renderer.getCalibration() != null) ? renderer.getCalibration().convertToImageX(x): x), x_fit_gauss_function.length); } catch (Exception ex){ } @@ -164,7 +172,7 @@ public class ScreenPanel extends Panel { double[] gY2 = new double[y_profile.length]; Arrays.fill(gY2, Double.NaN); try{ - double y = getDoubleArray("gr_y_axis")[0]; + double y = getCamtoolDoubleArray("gr_y_axis", cache)[0]; System.arraycopy(y_fit_gauss_function, 0, gY2, (int) ((renderer.getCalibration() != null) ? renderer.getCalibration().convertToImageY(y): y), y_fit_gauss_function.length); } catch (Exception ex){ } @@ -183,17 +191,7 @@ public class ScreenPanel extends Panel { public double[] x_profile; public double[] x_fit_gauss_function; public double[] y_profile; - public double[] y_fit_gauss_function; - - StreamValue cache; - - Double getDouble(String name) { - return (Double) Convert.toDouble(cache.__getitem__(name)); - } - - double[] getDoubleArray(String name) { - return (double[]) Convert.toDouble(cache.__getitem__(name)); - } + public double[] y_fit_gauss_function; } @@ -206,6 +204,7 @@ public class ScreenPanel extends Panel { } final ArrayList imageBuffer = new ArrayList(); + Frame currentFrame; int imageBufferLenght = 0; Text imageBufferOverlay; @@ -671,6 +670,12 @@ public class ScreenPanel extends Panel { if (cameraName == null) { return; } + + synchronized (imageBuffer) { + currentFrame = null; + imageBuffer.clear(); + } + try { String configFolder = (String) getContext().getClassByName("SfCamera").getMethod("getConfigFolder", new Class[]{}).invoke(null); @@ -752,11 +757,11 @@ public class ScreenPanel extends Panel { } //renderer.setCalibration(camera.getCalibration()); if (!renderer.isPaused()) { - - if (imageBufferLenght > 1) { - if (data != null) { - synchronized (imageBuffer) { - imageBuffer.add(new Frame(data)); + if (data != null) { + synchronized (imageBuffer) { + currentFrame =new Frame(data); + if (imageBufferLenght > 1) { + imageBuffer.add(currentFrame); if (imageBuffer.size() > imageBufferLenght) { imageBuffer.remove(0); } @@ -1011,31 +1016,25 @@ public class ScreenPanel extends Panel { Pen penCross = new Pen(new Color(192, 105, 0), 1); - ImageData getCurrentImageData(){ - return getImageData(null); + Frame getCurrentFrame(){ + if ((imageBufferLenght > 1) && (renderer.isPaused())) { + int index = ((int) pauseSelection.getValue()) - 1; + synchronized (imageBuffer) { + return (index < imageBuffer.size()) ? imageBuffer.get(index) : null; + } + } + return currentFrame; } - ImageData getImageData(Data data){ - ImageData id = null; - if (renderer.isPaused()) { - synchronized (imageBuffer) { - if (data == null){ - int index = ((int) pauseSelection.getValue()) - 1; - if (index < imageBuffer.size()) { - data = imageBuffer.get(index).data; - } - } - for (Frame f : imageBuffer) { - if (f.data == data) { - id = f; - break; - } + Frame getFrame(Data data){ + synchronized (imageBuffer) { + for (Frame f : imageBuffer) { + if (f.data == data) { + return f; } } - } else { - id = new ImageData(); - } - return id; + } + return null; } Overlay[][] getFitOverlays(Data data) { @@ -1054,7 +1053,7 @@ public class ScreenPanel extends Panel { if ((useCamtoolStats) && (camera instanceof Camtool)) { try { - ImageData id = getImageData(data); + ImageData id = getFrame(data); if (id==null){ return null; } @@ -1573,22 +1572,23 @@ public class ScreenPanel extends Panel { } } - void writeFrameMetadata(String path, ImageData id) throws Exception{ + void writeFrameMetadata(String path, Frame frame) throws Exception{ getContext().getDataManager().setAttribute("/", "Camera", String.valueOf(cameraName)); getContext().getDataManager().setAttribute("/", "Screen", String.valueOf(valueScreen.getLabel().getText())); getContext().getDataManager().setAttribute("/", "Filter", String.valueOf(valueFilter.getLabel().getText())); Calibration cal = renderer.getCalibration(); getContext().getDataManager().setAttribute("/", "Calibration", cal == null ? new double[]{1,1,0,0} : - new double[]{cal.getScaleX(), cal.getScaleY(), cal.getOffsetX(), cal.getOffsetY()}); + new double[]{cal.getScaleX(), cal.getScaleY(), cal.getOffsetX(), cal.getOffsetY()}); + getContext().getDataManager().setAttribute(path, "Timestamp", Chrono.getTimeStr(frame.data.getTimestamp(), "HH:mm:ss.SSS")); if (camera instanceof Camtool){ try{ getContext().getDataManager().setAttribute("/", "ROI", ((Camtool) camera).getRoi()); } catch (Exception ex){ getContext().getDataManager().setAttribute("/", "ROI", new int[]{0,0,-1,-1}); } - if (id!=null){ + if (frame!=null){ for (Field f:ImageData.class.getFields()){ - Object value = f.get(id); + Object value = f.get(frame); getContext().getDataManager().setAttribute(path, f.getName(), (value == null) ? Double.NaN : value); } } @@ -1607,16 +1607,17 @@ public class ScreenPanel extends Panel { String path = "/data"; String snapshotFile = null; synchronized (imageBuffer) { - ImageData id = getCurrentImageData(); - //Object data = renderer.getData().getMatrix(); - Object data = Convert.toBidimensional(id.getDoubleArray("image"), - //width & height are not always in the stream - renderer.getData().getWidth(), renderer.getData().getHeight()); - getContext().getDataManager().setDataset(path, data, renderer.getData().isUnsigned()); + Frame id = getCurrentFrame(); + if (id==null){ + throw new Exception("No current image"); + } + Object data = id.data.getMatrix(); + getContext().getDataManager().setDataset(path, data, id.data.isUnsigned()); writeFrameMetadata(path, id); - getContext().getDataManager().closeOutput(); + getContext().getDataManager().closeOutput(); //Enforce the same timestamp to data & image files. - snapshotFile = getContext().getSetup().expandPath("{images}/{date}_{time}_snapshot.png", getContext().getExecutionPars().getStart()); + //snapshotFile = getContext().getSetup().expandPath("{images}/{date}_{time}_snapshot.png", getContext().getExecutionPars().getStart()); + snapshotFile = getContext().getExecutionPars().getPath() + ".png"; renderer.saveSnapshot(snapshotFile, "png", true); } @@ -1670,7 +1671,7 @@ public class ScreenPanel extends Panel { Frame frame = imageBuffer.get(i); String path = "/data_" + i; getContext().getDataManager().setDataset(path, frame.data.getMatrix(), frame.data.isUnsigned()); - writeFrameMetadata(path, getImageData(frame.data)); + writeFrameMetadata(path, frame); x.add(frame.x_fit_mean); y.add(frame.y_fit_mean); } diff --git a/plugins/WireScan.form b/plugins/WireScan.form index cf35379..f9e1d78 100644 --- a/plugins/WireScan.form +++ b/plugins/WireScan.form @@ -126,7 +126,6 @@ - diff --git a/plugins/WireScan.java b/plugins/WireScan.java index 75a6285..02a8a59 100644 --- a/plugins/WireScan.java +++ b/plugins/WireScan.java @@ -901,7 +901,7 @@ public class WireScan extends Panel { private void buttonScannerPanelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonScannerPanelActionPerformed try { - String cmd = caqtdm + " -macro 'DEVICE=" + comboWireScanner.getSelectedItem() + "' /sf/op/config/qt/S_DI_WSC.ui"; + String cmd = caqtdm + " -macro 'SYS=" + comboWireScanner.getSelectedItem() + "' /sf/common/config/qt/S_DI_WSC_EXPERT.ui"; Runtime.getRuntime().exec(new String[]{"bash", "-c", cmd.toString()}); } catch (Exception ex) { showException(ex); diff --git a/script/RFscan/SchottkyScan.py b/script/RFscan/SchottkyScan.py index a9d7587..3dedcd8 100644 --- a/script/RFscan/SchottkyScan.py +++ b/script/RFscan/SchottkyScan.py @@ -2,14 +2,13 @@ import ch.psi.pshell.epics.Positioner as Positioner import ch.psi.pshell.epics.ChannelDouble as ChannelDouble dry_run = False -do_elog = True if get_exec_pars().source == CommandSource.ui: - start = -180.0 - stop = 180.0 - step = 5.0 - nb = 1 - lat = 0.100 + start = -30.0 + stop = 30.0 + step = 1.0 + nb = 3 + lat = 0.300 plt = None else: start = args[0] @@ -40,10 +39,10 @@ else: st.start() st.waitValueChange(10000) -bph.config.minValue =-180.0 -bph.config.maxValue = 180.0 +bph.config.minValue = -360.0 +bph.config.maxValue = 360.0 bph.config.precision = 3 -bph.config.rotation = True +bph.config.rotation = False bph.config.resolution = 1.0 bph.config.save() bph.initialize() @@ -75,20 +74,9 @@ finally: #Setting the return value index_max = charge.index(max(charge)) -bph_ref_guess = beamphase[index_max] - 80 -rph_ref_guess = rfphase[index_max] - 80 +#bph_ref_guess = beamphase[index_max] - 80 +#rph_ref_guess = rfphase[index_max] - 80 -if do_elog: - if get_option("Generated data file:\n" + get_exec_pars().path +"\n\n" + "Save to ELOG?", "YesNo") == "Yes": - log_msg = "Data file: " + get_exec_pars().path + "\n" - log_msg = log_msg + "Beam phase reference: %0.1f" % bph_ref_guess + "deg \n" - log_msg = log_msg + "RF phase reference: %0.1f" % rph_ref_guess + "deg \n" - attachments = [] - if plt is not None: - sleep(0.1) #Give some time to plot to be finished - it is not sync with acquisition - file_name = os.path.abspath(get_context().setup.getContextPath() + "/SchottkyScanPlot.png") - plt.saveSnapshot(file_name, "png") - attachments = [file_name,] - elog("Schottky scan", log_msg, attachments) +bph_ref_guess = (start + stop)/2 -set_return([bph_ref_guess, rph_ref_guess]) +set_return([bph_ref_guess]) diff --git a/script/RFscan/SchottkyScanSet.py b/script/RFscan/SchottkyScanSet.py index bb68afd..d637092 100644 --- a/script/RFscan/SchottkyScanSet.py +++ b/script/RFscan/SchottkyScanSet.py @@ -4,22 +4,21 @@ do_elog = True if get_exec_pars().source == CommandSource.ui: bph_ref_user = 0.0 plt = None + print "Debug" else: bph_ref_user = args[0] plt = args[1] - -rph_ref_new = rph_ref_guess + (bph_ref_guess - bph_ref_user) -phaseOffset = -rph_ref_new -bph_ref_new = rph_ref_new + phaseOffset +print "Args: " , bph_ref_user, plt +phaseOffsetInit = caget('SINEG01-RSYS:SET-VSUM-PHASE-OFFSET-BASE') +phaseOffset = phaseOffsetInit - bph_ref_user print "Setting phase offset: ", phaseOffset if not dry_run: caput('SINEG01-RSYS:SET-VSUM-PHASE-OFFSET-BASE', phaseOffset) caput('SINEG01-RSYS:CMD-LOAD-CALIB-BEAM', 1) if do_elog: - log_msg = "RF phase reference: %0.1f" % rph_ref_new + "deg \n" - log_msg = log_msg + "Phase offset: %0.1f" % phaseOffset + "deg \n" - log_msg = log_msg + "Beam phase reference: %0.1f" % bph_ref_new + "deg \n" + log_msg = "Initial phase offset: %0.1f" % phaseOffsetInit + "deg \n" + log_msg = log_msg + "New phase offset: %0.1f" % phaseOffset + "deg \n" attachments = [] if plt is not None: sleep(0.1) #Give some time to plot to be finished - it is not sync with acquisition diff --git a/script/RFscan/phase_scan_caqtdm.py b/script/RFscan/phase_scan_caqtdm.py index 1c1838f..738f11c 100644 --- a/script/RFscan/phase_scan_caqtdm.py +++ b/script/RFscan/phase_scan_caqtdm.py @@ -94,9 +94,9 @@ phase_offset = 90 - ph_crest amplitude_scale = fit_amplitude / Ampl power_scale = Power / math.pow(fit_amplitude,2) -caput(station + "-RSYS:SET-VSUM-PHASE-OFFSET-BASE", phase_offset) -caput(station + "-RSYS:SET-VSUM-AMPLT-SCALE", amplitude_scale) -caput(station + "-RSYS:SET-VOLT-POWER-SCALE", power_scale) +caput(station + "-RSYS:SET-VSUM-PHASE-OFFSET-BASE-CALC", phase_offset) +caput(station + "-RSYS:SET-VSUM-AMPLT-SCALE-CALC", amplitude_scale) +caput(station + "-RSYS:SET-VOLT-POWER-SCALE-CALC", power_scale) if do_elog: if get_option("Generated data file:\n" + get_exec_pars().path +"\n\n" + "Save to ELOG?", "YesNo") == "Yes": diff --git a/script/RFscan/phase_scan_caqtdm_set.py b/script/RFscan/phase_scan_caqtdm_set.py new file mode 100644 index 0000000..48794f8 --- /dev/null +++ b/script/RFscan/phase_scan_caqtdm_set.py @@ -0,0 +1,22 @@ +if get_exec_pars().source == CommandSource.ui: + station = "STEST01" +else: + station = args[0] + +phase_set = caget(station + "-RSYS:PHASE-SET") +ampli_set = caget(station + "-RSYS:AMPLT-SET") +power_set = caget(station + "-RSYS:POWER-SET") + +if (phase_set == 'True'): + phase_offset = caget(station + "-RSYS:SET-VSUM-PHASE-OFFSET-BASE-CALC") + caput(station + "-RSYS:SET-VSUM-PHASE-OFFSET-BASE", phase_offset) + print phase_set +if (ampli_set == 'True'): + amplitude_scale = caget(station + "-RSYS:SET-VSUM-AMPLT-SCALE-CALC") + caput(station + "-RSYS:SET-VSUM-AMPLT-SCALE", amplitude_scale) + print ampli_set +if (power_set == 'True'): + power_scale = caget(station + "-RSYS:SET-VOLT-POWER-SCALE-CALC") + caput(station + "-RSYS:SET-VOLT-POWER-SCALE", power_scale) + print power_set +caput(station + "-RSYS:CMD-LOAD-CALIB-BEAM", 1) diff --git a/script/local.py b/script/local.py index 3249eae..3177fa8 100755 --- a/script/local.py +++ b/script/local.py @@ -415,6 +415,12 @@ def bsget(channel): return st.getValue(channel) finally: st.close() - + +#Machine utilities +def is_timing_ok(): + return caget("SIN-TIMAST-TMA:SOS-COUNT-CHECK") == 0 + +def get_repetition_rate(): + return caget("SIN-TIMAST-TMA:Evt-15-Freq-I") \ No newline at end of file diff --git a/script/test/CamtoolCheckProfile.py b/script/test/CamtoolCheckProfile.py index b696fc1..76ccd8d 100644 --- a/script/test/CamtoolCheckProfile.py +++ b/script/test/CamtoolCheckProfile.py @@ -1,14 +1,32 @@ import ch.psi.pshell.imaging.Data as Data -d = load_data("2017/06/16/20170616_122305_snapshot.h5|/data") -atts = get_attributes("2017/06/16/20170616_122305_snapshot.h5|/data") +path = "2017/06/16/20170616_122305_snapshot.h5|/data" +path = "2017/06/19/20170619_113633_snapshot.h5|/data" +path = "2017/06/19/20170619_114839_snapshot.h5|/data" +path = "2017/06/19/20170619_115340_snapshot.h5|/data" +path = "2017/06/19/20170619_120203_snapshot.h5|/data" +path = "2017/06/19/20170619_141032_snapshot.h5|/data" +path = "2017/06/19/20170619_141203_snapshot.h5|/data" +path = "2017/06/19/20170619_142222_snapshot.h5|/data" +path = "2017/06/19/20170619_142310_snapshot.h5|/data" +path = "2017/06/19/20170619_142826_snapshot.h5|/data" +path = "2017/06/19/20170619_142836_snapshot.h5|/data" +path = "2017/06/19/20170619_144625_snapshot.h5|/data" +d = load_data(path) +atts = get_attributes(path) data = Data(d) iv = data.integrateVertically(False) ih = data.integrateHorizontally(False) xp = atts["x_profile"] yp = atts["y_profile"] p1, p2 = plot([xp, yp], ["X profile", "Y profile"]) -p1.addSeries(LinePlotSeries("d")) -p2.addSeries(LinePlotSeries("d")) +p1.addSeries(LinePlotSeries("data X")) +p2.addSeries(LinePlotSeries("data Y")) p1.getSeries(1).setData(iv) -p2.getSeries(1).setData(ih) \ No newline at end of file +p2.getSeries(1).setData(ih) + + +p1.addSeries(LinePlotSeries("error X", None, 2)) +p2.addSeries(LinePlotSeries("error Y", None, 2)) +p1.getSeries(2).setData(arrsub(xp,iv)) +p2.getSeries(2).setData(arrsub(yp,ih)) \ No newline at end of file diff --git a/script/test/CompressionBug.py b/script/test/CompressionBug.py index dbb4b76..75b2198 100644 --- a/script/test/CompressionBug.py +++ b/script/test/CompressionBug.py @@ -3,7 +3,7 @@ import ch.psi.pshell.bs.Scalar as Scalar import ch.psi.pshell.bs.Waveform as Waveform -dispatcher.config.disableCompression = False +dispatcher.config.disableCompression = True set_exec_pars(persist = False) #Arguments diff --git a/script/test/bs.py b/script/test/bs.py index 1078646..c1da9df 100644 --- a/script/test/bs.py +++ b/script/test/bs.py @@ -13,7 +13,7 @@ st1.addScalar("mcpu", "SINDI01-RLLE-STA:MASTER-CPUTIMER", 10, 0) st1.addWaveform("amp", "SINDI01-RCIR-PUP10:SIG-AMPLT", 10, 0) st1.initialize() -#st1.start(True) +st1.start(True) class PseudoPositioner(Writable):