}

Compatibility

  • Mac: the Mac binary works with MacOS 10.6 - 10.10, though on 10.9 and 10.10 you should disable app nap (select Get Info on STUI and check "Disable App Nap"). The Mac version is not signed, so MacOS may complain when you try to launch it for the first time. If that happens simply right-click on the application and select "Open...".
  • Unix: runs from source, so is compatible with all flavors of unix. See the installation instructions for the required version of Python and other libraries.
  • No Windows releases are planned.

1.7.8 2018-01-17

Visible changes:

  • GuideImage.py now opens FITS files with pyfits.open(filename, ignore_missing_end=True). This may prevent errors about missing END card.

1.7.7 2018-12-11

Visible changes:

  • Added text box for the offset parameter in doBossCalibs.

1.7.6 2018-10-01

Visible changes:

  • Revert minimum OSX version to 10.10.

1.7.5 2018-09-26

Visible changes:

  • If the plate loaded requires MaNGA exposures < 900s, shows a label in the SOP window with the information.

1.7.4 2018-07-03

Visible changes:

  • The menu labels are now shown in white in MacOS when the dark mode is enabled.

Developer changes:

  • Modified BuildForMac/setup.py to build STUI in macOS High Sierra. Requires to replace libcrypto and libpng with versions compiled for El Capitan.
  • Fixes a problem generating DMGs in High Sierra.

1.7.3 2018-02-01

Visible changes:

  • The labels in the SOP script menu are coloured depending on whether they are considered safe or not.

1.7.2 2018-01-26

Visible changes:

  • Added a script section to the SOP GUI window. It allows to command and stop any script already loaded in sopActor.

1.7.1b7 2017-06-12

Visible changes:

  • SOP GUI was modifyed to display (DAB) for Apogee-lead double-length exposure plates. Closed ticket #2804.
  • Changed the DoBossCalibs display to clear up confusion of counts. Closed ticket #863.
  • Changed the DoBossCalibs display to clear up confusion of counts. Closed ticket #863.
  • Updated LogFunction and LogSupport scripts to work with new new versions of sop and hartmann actors.

1.7.1b6 2016-10-17

Visible changes:

  • SOP GUI was modifyed to display proper counter for doApogeeMangaSequence and doMangaSequence sop commands. Closed ticket #2066.

1.7.1b5 2016-06-15

Visible changes:

  • STUI has been modified to see guider images outside of APO. Added httpHost and httpPort entry fields to Preferences:Connection section. Modified path to guider images using these preferences. To see guider images outside APO, set tunnel to hub, set httpHost as "localhost", and set httpPort to tunnel port. Leave fields blank at APO. Closed ticket #2251.

1.7.1b4 2016-02-04

Visible changes:

  • Modified "Log Function" and "Log Support" scripts to make collimation output specific for the latest hartmann only.
  • Added new button to "Telescope Controls" script to print STUI memory n the window.
  • Clearing "Status" script.

1.7.1b3 2015-11-10

Internal changes:

  • Modernize exception syntax.
  • Stop using dangerous bare "except:".
  • Change equality comparisons using None, True and False to "is", "is not" to avoid future numpy problems and to modernize the code.
  • Add "FileDialog" to inclModules in BuildForMac/setup.py as the current py2app seems to require it.
  • The Mac application is built with the official ActiveState Tck/TK 8.5.18 installer instead of a slightly older home built version and now includes matplotlib 1.5.0 (up from 1.3.1) and numpy 1.10.1 (up from 1.7.2).
  • Use updated version of actorkeys with all named keywords and their composed sub-keywords.

1.7.1b2 2015-10-12

Warning: Users of the source code version must update their RO package to version 3.6.6 and opscore to version v2_3.

Visible changes:

  • Updated APOGEE calibration scripts to be consistent with new version of opscore. We do not need to use temporary version in APO_local anymore.
  • Removed the version of "sdssProcedure" observers documentations from getVersion as we use wiki.

1.7.1b1 2015-09-29

Visible changes:

  • You may now open gzipped FITS images using the Choose... button of Guide widgets (ticket 2430). Warning: due to a limitation of Tk you can select any file whose name ends in ".gz", even if it's not a FITS image.
  • In Log windows, the built-in "Commands" filter now excludes commands from apo.apo (usually "tcc set weather" commands).
  • Documentation fix: the Scripting Manual listed the wrong precedence order for scripts; the correct order is that built-in scripts take precedence over user scripts, which take precedence over shared scripts.

Bug fixes

  • Elena improved reporting of hartmann values after a command failure in two scripts: Observations: Log Function and Observations: Log Support.
  • Ticket 2429: Only allow one letter in the "Dithers" entry widget for the "Do Manga Dither" and "Do Apogee Manga Dither" commands. I also made all Dither and Dithers entry widgets only accept valid dither letters.

Internal changes

  • The Mac version uses opscore trunk r65096, which makes the values in KeyVars standard python data types instead of wrappers that pretend to be standard types; note that Bits values are still wrapped.
  • The Mac version uses RO 3.6.6b1, which replaces "== None" with "is None".

1.7.0 2015-06-04

Visible changes:

  • Added script Engineering:Pointing Data which collects pointing data using the engineering camera.
  • Updated script Startup:Get Versions for changes to the BOSS ICC.
  • Removed log message warning "halting countdown timer due to AxisCmdState", since it is normal with the new tcc.

Bug fixes:

  • Ticket 2375: STUI doesn't show cart 19 in SOP panel.

Internal changes:

  • Added attribute gProbeDict to the guider model

1.6.0 2015-04-03

This version is designed for use with the new tcc. Users of the source version of STUI (and all other tcc clients) should update their actorkeys to the current trunk version.

Visible changes:

  • Updated the Mirror Status window for the new tcc and added the missing help document for it.
  • Restore the old appearance of the MCP window, because it is properly supported on MacOS by Tcl/Tk 8.5.18.
  • Mac version: updated the tcc keyword dictionary to the version for the new tcc.

Bug fixes:

  • Observations:Log Support script: fixed bug with cart number and improved formatting of harmann data.
  • Script Observations: Log Function: fixed a bug with survey type output.

Internal changes:

  • Scripts no longer write to the error log file.
  • The Mac version includes the actorkeys trunk r161177
  • The Mac version includes Tcl/Tk 8.5.18 which fixes many bugs (though I have seen a few reports of windows that fail to close).
  • The Mac version includes RO 3.6.5, which removes several workarounds for bugs on MacOS that are no longer needed in Tcl/Tk 8.5.18, and adds one new workaround to avoid cramped buttons.
  • Added a software license (BSD-3 in doc/license.txt) and changed readMe.txt to ReadMe.md.

1.5.3 2015-01-27

This version is designed for use with a recent SOP update.

Visible changes:

  • Implemented SOP ticket 2084 APOGEE&MaNGA co-observing handling of APOGEE dither mechanism.
  • Implemented SOP ticket 2168 Change default APOGEE exposure time for co-observations.
  • Log Function script updated.

1.5.2 2014-11-21

Bug fixes:

  • The Mac version includes an updated hartmann keyword dictionary.

1.5.1 2014-11-18

Visible changes:

  • Implemented ticket 2173 in the script "Observations: Telescope Controls" replaced tcc commands with sop commands and added command "guider loadCartridge" instead of previous outdated goto6 button.

Bug fixes:

  • MacOS:
    • A duplicate Preferences menu item was shown and only one worked, and that one did not support cmd-comma.
    • A duplicate STUI Help menu item was shown and only one worked.
  • The test data for SOP needed a bit of updating.

1.5.0 2014-10-27

Warnings:

  • If running from source you must update opscore, actorkeys and RO.
  • Older versions of STUI will show an error message when sop outputs a certain keyword; you may ignore that error.

Visible changes:

  • Implemented ticket 1937: show MaNGA dither information in the guider window.
  • Status window: relabelled MJD to SJD to reduce ambiguity.
  • Script improvements from Elena:
    • Replaced sos actor with hartmann actor in "Test Actors", "Get Versions", and "Log Function" scripts.
    • Added "Engineering: Loop Commands" script.
    • Added manga dither to Log Function.
  • SOP window:
    • Implemented ticket 2061: SOP should show current mode, as reported by the guider survey keyword.
    • Implemented ticket 2101: SOP should show new sop survey keyword, if different than the guider survey keyword (e.g. due to a bypass).
    • Added support for new doApogeeMangaDither and doApogeeMangaSequence commands.
    • Added an extra status bar to display text from sop.
    • "Aborted" is shown in blue, instead of red.
    • Enhanced plate type display in SOP to show a pink ? if unknown. (Also fixed a minor bug that caused a traceback in the error log file if the value was None).
    • Shrunk field widths, where practical, and shaved a line here and there.
  • Script 'Goto 6 MCP' changed to 'Goto 5 MCP'
  • Updated the installation instructions.

Bug fixes:

  • Slew window: corrected displayed of units of distance from parsec to au.
  • Status was not shown in pink after disconnecting.
  • SOP window:
    • removed a debugger breakpoint.
    • Goto Field command: guider flat time is now properly associated with both the calibs and guider stages.
    • doBossCalibs parameters were not shown.
    • The sop actor had changed in ways that SOP didn't know about, including adding new kind of stage that the SOP window did not support. SOP continued to work, but it resulted in nasty error messages in the log.
    • SOP Goto Field had the guide parameters assigned to the wrong stage. The fix is not perfect, because guider flat time is actually used by two different stages, but nobody seems to care and fixing it would require a major overhaul of the the SOP widget code.
    • Message window: typing certain characters in the upper window would cause a traceback in the log. Also navigation keys now work correctly in the upper pane.
    • SOP: fixed two cosmetic errors in SOP modules exposed by pyflakes (as well as some bugs in StageInfo.py; a file that STUI is not presently using).
  • Guider window used httpGet.getErrMsg() instead of .errMsg (thanks to John Parejko for the fix).
  • Closing>Goto 6 MCP script was broken.
  • APOGEE>Morning Cals script did not reliably halt if a command failed.

Internal changes:

  • The Mac build includes a release candidate of Tcl/Tk 8.5.17; barring unexpected bugs, this should be a significant improvement over the ancient version I had to use previously, especially for users on MacOS 10.9 (I have no idea how Tcl/Tk works on 10.10).
  • The Mac version runs in 64 bit mode again (permissible due to the newer version of Tcl/Tk).
  • Source releases now include RO.
  • STUI is now in git: git@github.com:r-owen/stui.git
  • SOP window:
    • updated bypass widget to use new sop keyword "bypassedNames".
    • allow parameters to be associated with more than one stage.
    • simplified command description format and made it fit the new sop better (if a command has only fake stages then it can be expressed that way).
    • updated to sop keyword dictionary rev 157205.
  • Updated to current actorkeys and opscore.
  • Updated release script for git.

1.4.0 2014-05-20

Warning: as of the release date, this version will not work with the released version of SOP. It requires the MaNGA branch of SOP (and of actorkeys, if running from source).

Visible changes:

  • Log files are now saved to a subdirectory.
  • Implemented enhancement request 1698: moving "Do (BOSS) Calibs" in boss SOP GUI. I moved all calibration-like stages after Goto Gang Change and Goto Instrument Change.
  • Implemented enhancement request 2020: increase STUI scrollback buffer size. I increased the total remembered log entries from 40,000 to 100,000 and the log window scrollback from 20,000 to 100,000. If this becomes a memory issue I may have to make it user-settable, but I'm very reluctant to add another preference or try to guess what the setting should be based on available memory.
  • Improved compatibility with MacOS 10.9: the application now runs in 32-bit mode, though you should still manually disable app nap.
  • Overhauled the introduction document and expanded the instructions for running the MacOS version there an in this version history.
  • Added APOGEE dither_clearing_script.
  • Implemented ticket 1902: Reopen script windows at startup.
  • Implemented ticket 1974: SOP command changes for MaNGA
  • Implemented ticket 1996: new SOP command apogeeDomeFlat
  • Implemented ticket 1745: prevent flat field lamp turning on during exposure by adding an "Enable Commands?" button to the MCP window.
  • Implemented ticket 1802: STUI should allow more than 5 log windows.

Bug fixes:

  • Script Pause/Resume lost the value returned by the last wait (fixed in opscore ScriptRunner).
  • Ticket 2018: STUI v1.3.1b3 does not show guider images.
  • Ticket 1884: Apogee evening cals failed from podium laptop
  • Ticket 1915: STUI SOP defaults to Seq Count=3 for APOGEE carts.

Internal changes:

  • Updated actorkeys to revision 155764 of branches/mangadb.
  • Implemented ticket 1972: SOP uses guiderTime to specify guider exposure time during gotoField
  • Implemented ticket 1836: use "from PIL import Image" instead of "import Image", for compatibility with Pillow (a modern replacement for PIL). Warning: you must update your copy of the RO package to at least 3.2.2 for Pillow compatibility.
  • Mac version includes matplotlib 1.3.1.

1.3 2013-09-05

Visible changes:

  • SOP window: implemented ticket 1735: swap Stop and Modify buttons.
  • Scripts menu: Run_Commands now supports "tui wait nSec", thanks to Elena Malanushenko.
  • Scripts:
    • Moved the following scripts from the Elena's scripts package into STUI, with updated names (many of these scripts were also updated):
      • APOGEE:apogeeTimer -> APOGEE:Timer
      • APOGEE:cartchange -> APOGEE:Cart Change
      • APOGEE:eveningcals -> APOGEE:Evening Cals
      • BOSS:bossTimer -> BOSS:Timer
      • Observations:dustCounter -> Observations:Dust Counter
      • Observations:goto6mcp -> Observations:Goto 6 MCP
      • Observations:spiralPattern -> Observations:Spiral Pattern
      • Startup:plugging -> Startup:Plugging
      • Startup:threeReadDark -> Startup:Short Dark
    • Added script Engineering:Test BOSS Collimator which exercises the collimator motors and reports motion error statistics.
    • Moved the Goto 6 MCP script from Observations to Closing.
  • Guider window:
    • Added guide probe annotation to non-plate-view guide images.
    • Implemented ticket 1757: add a Stack option.
    • Implemented ticket 1704: each guide probe's number is followed by + or - if the probe is an above-focus or below-focus probe.
    • Put exposure time and related controls all on the same line, to save space.
  • Documentation:
  • Mac version: upgraded to the latest actorkeys and plc v30_2.
  • The computer platform is now listed in the error log (or stdout on unix).

Bug fixes:

  • Fixed a bug in opscore that caused refresh of keyvars to fail if the refreshCmdDict is modified at the wrong time. This was triggered by the Test Actors script.
  • The tutorial script "5 Actor Versions" had a bug due to bit rot: TCC version is returned in the version keyword (when the script was written it was returned in a text keyword).
  • The Mac version can now be run in 32-bit mode (formerly the included PIL was incompatible, which resulted in failure to show guide images).
  • Ticket 1558: there are two different build instructions for STUI.app.
  • Ticket 1807: opscore.actor.ScriptRunner mishandles a failed wait.
  • Mac build only: the included matplotlib would not work on MacOS X 10.6 and (probably) 10.7 due to matplotlib issue 2151.
  • GuideWdg: variables "havePlateInfo" and "plateInfo" were not always defined before being used.
  • Ticket 1765: error when attempting to enable or disable a fiber.
  • Guider window: worked around a TkAqua bug that could cause the name of the last probe in a row to be hidden.
  • Use STUI instead of TUI in startup messages in the log window and error log file.

Internal changes:

  • Added apogeeGangLabelHelp to MCP model (since I could not figure out a nice way to access labelHelp given an instance of the apogeeGang Key). An alternative is to make a synthetic keyword such as apogeeGangText and hide the ugliness in the model, but then there is no way to know the max length in advance.
  • Various code was updated to handle the modified apogeeGang keyword.
  • AssembleImage moved from stui to opscore/utilities at John Parejko's request.
  • Eliminated the synthesized keyword guider.fullGProbeBits and modified STUI code to use gprobeBits directly, now that ticket 433 is fixed.
  • The Mac build now uses matplotlib 1.3.0

1.2 2012-12-19

Requirements changes:

  • The Mac version now requires MacOS X 10.6 or later
  • Users running from source must use RO package 3.1.0 or later

Visible changes:

  • The Mac application now requires 10.6 or later.
  • Incorporated many of Elena Malanushenko's scripts. Most of these are in the Script menu with new names, but the plotting strip chart scripts are now normal windows in the Inst menu (using the name Monitor, for consistency). The Test Actors script is now faster and more robust (it sends all commands at once, then reports replies as they come back).
  • Added a clear button, labelled "C", to most or all strip charts.
  • Updated the interlocks displays based on plc v29_1.
  • Guider window
    • User Corr RA and Dec limits increased from +/-10 to +/-30"
    • User Corr Apply shows the state of each command sent in the status bar
    • Shows 0=BOSS, 1=APOGEE for refraction balance and it no longer tries to use guider keyword refractionWavelengths, since that keyword is obsolete.
  • Ticket 1476 make guider failures more visible.
    • Guider and exposure state are shown in uppercase if the condition is an error.
    • The color of the word Guider and Exposure match the severity of the associated state.
  • Ticket 1688 SOP safeguards:
    • The "X" buttons now only re-enable your local SOP buttons (so you can send another SOP command); it never sends anything to SOP. Thus it is always safe to press "X".
    • The "Stop" buttons always bring up a dialog box asking for confirmation.
  • All checkbuttons are now displayed with a checkbox, because this is required on MacOS X when using Tcl/Tk 8.5.
  • Removed the useless and outdated Permissions window.
  • Removed state of MARVELS gang connector from MCP window.
  • Increased the time range from 700 seconds to 1800 seconds to match most of the others; if this is a problem, please let Russell know.

Bug fixes:

  • Ticket 1714 STUI shows wrong time if computer not on UTC. TUI now shows the correct time even if the user's clock is keeping TAI or has drifted. However, displayed time may be off by a second or two unless the computer's clock is keeping accurate UTC or TAI.
  • Improved compatibility with Tcl/Tk 8.5 on Mac OS X by eliminating a cause of duplicate application menus.
  • The Mac application should play sounds more reliably. (I removed an unused smpeg library that appeared to be causing problems).
  • Plays guider sound cues. This corrects a long standing oversight: sound cues were present, but never played. I also improved the sound cues.
  • Added missing sound cue for Elena's fiducials script (I had copied the script, but not the sound cue) and made the sound a bit louder.
  • Fixed clear buttons on strip chart widgets.
  • Guider window: User Corr Scale did not work (it was sending its command to the TCC instead of the guider).
  • Guider exposure state is now shown in the color appropriate to the severity of the state; formerly the severity was computed but ignored.

Internal changes:

  • Mac version uses Aqua Tcl/Tk 8.5, which has many internal changes compared to 8.4.
  • Modified to use apo/plc instead of apo/interlocks.
  • Updated to use current actorkeys.
  • Now has the ability to use Twisted framework for communications, though this is off by default since it is slower. Change a flag in Main.py to use Twisted.
  • Removed use of update_idletasks to eliminate a source of subtle bugs.
  • Most timers now use RO.TkUtil.Timer; this simplifies the code a bit and eliminates the need for some Tk widgets.
  • Removed use of deprecated dict method has_key.
  • Reduce CPU usage by making hidden strip charts do much less work. If STUI is bogging down your machine close the strip charts that you don't need.

1.1.1 2011-09-23

Visible changes:

  • APOGEE QL exposure table title includes the exposure type.

Bug fixes:

  • Ticket 1442 exception in _utrDataCallback.

1.1 2011-09-09

Visible changes:

  • APOGEE: added support for APOGEE and APOGEE QuickLook
  • SOP window:
    • Added commands for APOGEE.
    • Bypassed systems are now shown in red (at Craig's suggestion) and you can now cancel bypass commands to re-enable the buttons.
    • Added alt field for Goto Gang Change.
    • SOP commands for BOSS are now shown with "(BOSS)". The parenthesis indicate that you leave out the "BOSS" when typing the commands on the command line.
    • Buttons that showed "Go To..." now show "Goto..." to simplify the mapping between the SOP window and sop commands: type what you see except lowercase the first letter and omit spaces and text in parenthesis.
    • Help strings for parameters now show the name you send to sop, not the displayed name, to simplify the mapping between the SOP window and sop commands. (This was already true of command buttons).
  • Guider Window:
    • Added support for refraction balance ratio guide parameter.
    • Ticket 620: add guider CCD temperature to Guider window.
    • You may apply guide parameter changes even if the guider is off.
    • Guider and exposure state are now displayed in color to indicate severity. The only "normal" guide state is "on" because we always run the guider while taking science data.
    • The exposure time widget always tracks the current value from the guider, it no longer tracks data from the currently displayed image. I hope this will be less confusing for users.
    • Updated to handle new "failed" guider and exposure states (thanks, Craig!).
  • Some windows now save state when you select Save Window Positions.
    • Log windows save filter information.
    • APOGEE saves which detail panels are open.
  • Log window:
    • Added filters "Commands", "Commands and Replies", "My Commands and Replies".
    • Show a CmdStarted and CmdDone message for each command (using data from the cmds actor).
  • MCP window: added status of APOGEE and MARVELS gang connector sensors.

Bug fixes:

  • SOP did not shrink when stages were removed from commands.
  • TUI.Base.Wdg.FocusWdg had some minor bugs that were exposed by the new APOGEE Collimate controls.

Internal changes:

  • LogEntry objects now have a cmdID field for enhanced filtering.
  • Added code to the Alerts window to work around hub bug 16111611 (keys that have a list of 0 values are reported by the keys actor to have a single value of "None"). This avoids error messages when there are no active alerts or disabled alert rules.

1.0+1 2011-04-04

Visible changes:

  • Added a preliminary APOGEE window. It only shows some QuickLook data and has no controls.

Internal changes:

  • Stop sending "plot display=..." as part of the guide on command. It is not longer needed and it caused an error message if the DISPLAY environment variable was not set.

1.0 2011-03-15

First release.