TUI:Version History
Compatibility
- Mac: the Mac binary works with MacOS X 10.6 - 10.10, though on 10.9 or later you should disable app nap: select Get Info on TUI; if you see a checkbutton labelled "Disable App Nap" then check it. The Mac version is not signed, so MacOS may complain when you try to launch it. 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.
- Windows: works with Windows 7 and Vista. Thanks to Joseph Huehnerhoff for producing the Windows builds.
2.5.1 2016-01-29
Visible changes:
- Added "Set Full Frame" button alongside ARCTIC window panel.
- Selecting "Quad" amp readout automatically updates the CCD Window to full frame.
- Binning by 3 results in even rows/columns. This allows for image size to remain consistent whether reading from one amp or 4.
2.5.0 2015-11-10
Visible changes:
- Added support for the ARCTIC imager.
- You may now open gzipped FITS images using the Choose... button of Guide windows. 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.
- PR 1613 add 10um step size to secondary focus window.
Bug fixes:
- If a FITS image has no data in HDU 0 and you open it in a Guide window using the Choose... button you will see a warning in the guider window. Formerly this caused a traceback to be written to the error log.
- 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.
Internal changes:
- 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).
- Changed equality comparisons with None, True and False to use "is" or "is not" instead of "==" or "!=" to modernize the code and eliminate some numpy warnings.
2.4.0 2015-06-03
Visible changes:
- Updated for the new DIS slitviewer (CCD size changed from 512x512 to 1024x1024).
Bug fixes:
- The nudger window mis-handled Guide and Guide XY offsets because it applied a cos(alt) correction that is not appropriate for the new TCC.
2.3.3 2015-04-03
Internal changes:
- The Mac version includes Tcl/Tk 8.5.18, 2015-03-24 build, which fixes many bugs (though a known issue is that sometimes windows will not close).
- The Mac version includes RO 3.6.5 which removes some workarounds for buggy Tcl/TK display on MacOS that are no longer needed and includes a new workaround for overly cramped buttons.
Bug fixes:
- MacOS: a duplicate TUI Help item was shown and only one worked.
Documentation changes:
- Added a software license (BSD-3 in doc/license.txt) and changed readMe.txt to ReadMe.md.
2.3.2 2014-10-28
Visible changes:
- Telescope:Pointing Data script: now shows information about each data entry, both in the script and as a comment in the data file. Also, the window argument is specified for each exposure, to work around a bug in the guider that caused incorrect windowing.
Bug fixes:
- The Mac version's Help menu had two entries for TUI Help, but only the second one worked.
Internal changes:
- The Mac build includes a release candidate of Tcl/Tk 8.5.17; this should be a significant improvement over the ancient 8.5.11 I had to use previously, especially for users on MacOS 10.9.
- The Mac version is once again a 64-bit application (made possible by the Tcl/Tk upgrade).
- Modernized some syntax.
- Now uses astropy instead of pyfits, if available (thanks to George Privon for suggesting and testing this).
2.3.1 2014-09-16
Visible changes:
- Preferences: improved help string for Keep Guide Images. Also, the latest version of RO adds Help contextual menu to the three controls along the bottom (the other controls already had this feature).
- Telescope:Pointing Data script: now broadcasts what it is doing. Also the script no longer commands a collimation update after each slew, because the TCC now commands a collimation shortly before the end of each slew.
Bug fixes:
- Fixed TUI crashes in DIS:Drift and Echelle:Trail. (Both scripts had unwanted tight loops that made TUI unstable, at least on MacOS X).
- Changed STUI to TUI in a few places and noted that "Disable App Nap" is not visible for all users on 10.9.
Internal changes:
- Moved from svn to git and updated releaseNewVersion.py and documentation accordingly.
- Added RO to the ups table for TUI (this only affects people who are using eups to manage TUI, which is rare for users, since source code releases already include RO).
2.3.0 2014-08-18
Visible changes:
- Updated for non-backwards-compatible changes to GIFS.
- The Presets menus now shows the name of the preset in config half of the instrument window, if a named preset matches the selected configuration. If more than one named preset matches, the first match is shown. There is no similar display in the status half of the instrument window (because it would require too much code). However, you can see the preset that corresponds to the current state of the instrument by pressing the Current button.
- TUI logs are now stored in a subdirectory "tui_logs" and each log starts with a time stamp and TUI version.
- Log window: timestamps now includes the date.
- Mirror Status window: updated for new TCC.
- Status window: reordered axis controller error bits, so: "motor current limit" and "motion error" are now shown before "stop button". (Unfortunately the "stop button" bit is used for too many things, and it was obscuring other, more useful information).
- Slew Window: corrected displayed units of distance from parsecs to au (thanks to Russet for noticing).
- The Drift Scan panel of the Slew window now uses units of arcsec/hour for velocity and sends more digits to the TCC. Note that the GUI displays the units as "/hr" and the " is hard to distinguish from the degree symbol, but the help string says "(arcsec/hour)" so I hope this will be sufficiently clear.
- Status window: the instrument name is red if the instrument is "?" (unknown).
- Added a script Telescope: Pointing Data to take pointing data.
- Added a wait command to Run_Commands:
tcc wait sec
. This is a copy of an enhancement to STUI by Elena Malanushenko.
- Updated the installation instructions.
- Improved the scripting manual's description of where to put scripts.
Bug fixes:
- Enclosure window tertiary rotation was unusable. This was due to a bug in RO.Wdg.OptionMenu and a crude way of detecting that a tertiary rotation command was currently executing, both of which I fixed.
- Status window: the coordinate system should no longer be truncated, and the date for Topocentric and Observed coordinates is now shown correctly for the new TCC (in the very unlikely event that somebody specifies a date).
- 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.
- ScriptRunner's value field was set to None by pause/resume, thus losing the returned value.
Internal changes:
- Removed obsolete warning "halting countdown timer due to AxisCmdState" (the condition this was testing is now a normal condition).
- Updated the TCC model to include new keywords for the new TCC and to use a more robust method to determine if an instrument has a rotator.
- GIFSModel allows an extra value for various stage keywords, since Jon is adding one.
2.2.0 2014-03-14
Visible changes:
- Added full GIFS support.
- Added a Presets menu to the config window of most instruments. This allows the user to save and manage named presets. If an instrument comes with standard presets (only GIFS at this point) then these will also be listed.
- Scripts that were open when Save Window Positions was selected are reopened at startup.
- Updated the MacOS instructions here and in the introduction.
- Improved compatibility with MacOS 10.9: the application now runs in 32-bit mode, though you should still manually disable app nap.
Bug fixes:
- CmdVar objects were sending the command "None" when aborted, due to careless casting. Fixed by changing the default from None to "" in CmdVar and ScriptRunner, and by also testing for None in CmdVar when casting (for backwards compatibility, though no code in TUI specifies None).
Internal changes
- Minor corrections to the TUI:Introduction document.
- PermsTableWdg.py: two cosmetic changes to remove lint warnings.
- NICFPS and SPIcam: made stateTracker an explicit argument of StatusConfigInputWdg.py. Updated demo code to supply that argument and to use TUI.Base.TestDispatcher.
2.1.0 2013-09-16
Visible changes:
- Added minimal GIFS support (exposure control only, so far)
- Removed the Shack-Hartmann instrument, as it is no longer used.
- The computer platform is now listed in the error log (or stdout on unix).
Bug fixes:
- The MacOS X version can display images when running in 32-bit mode. (Formerly the included PIL was missing some 32-bit components).
Internal changes:
- Changed "import Image" to "from PIL import Image" for compatibility with Pillow (a modern replacement for PIL).
2.0.0 2013-01-04
Warning: your old font preferences will be ignored (from TUI 1.9.6b5 or earlier) with a warning in the error log file. If you do not like the default font sizes, open Preferences>Fonts, update as desired and Save to update your preferences.
Visible changes:
- Disable the ability to change slits; a temporary hack while TSpec's slit changer is broken.
- All checkbuttons are now displayed as a checkbox (formerly some were shown as a raised or lowered button, but that is no longer supported under Tcl/Tk 8.5 on MacOS).
- Overhauled the font preferences to make the appearance more standard. Now you can only set font size; the default font typefaces are always used.
- Nudger window: removed Calibration offsets. This reduces the danger of accidentally applying sticky offsets.
- DIS now reports CCD temperature in K, not C; TUI's display updated accordingly.
- Enclosure widget: removed BC eyelid (which no longer exists) and changed the controls so that the status and command checkbuttons are separate widgets. This fixes some display issues on MacOS X and allows displaying state = unknown.
Bug fixes:
- TUI showed the wrong time if the computer was not keeping good UTC time. 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.
- On MacOS X: eliminated the duplicate Preferences menu item; cmd-comma now opens preferences.
- The units for proper motion in RA/longitude were incorrectly listed as seconds/century; they really are arcsec/century. I fixed this in the proper motion entry widget in the Slew window, and in various help pages.
- The proper motion entry boxes had no help and the labels were incomplete (because a callback function was not being called when the coordinate system changed).
Internal changes:
- The Mac version now uses Aqua Tcl/Tk 8.5.
- Modified to use RO 3.0. This contains many workarounds for Aqua (MacOS) Tcl/Tk 8.5 bugs.
- Now has the ability to use Twisted framework for communications, though this is off by default. 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.
- Changed line endings of html files from the old Mac standard to the new Mac/unix standard.
1.9.5 2012-03-09
Bug fixes:
- PR 1306 Focus loop fails. The problem was that each focus script reloaded a shared module (BaseFocusScript) which caused the id of shared classes to change. Thanks to Arnaud Delobelle for identifying the cause.
- The ECam focus script would fail to take a final exposure, due to undefined name 'doRestoreBoresight'.
1.9.4 2011-12-20
Visible changes:
- Focus script enhancements:
- Instrument focus scripts restore original bin factor at the end (if the instrument supports binning).
- TSpec Focus script restore 2x2 binning at the end. (There is no robust way to restore the original bin factor until guiders report bin factor as a keyword).
1.9.3 2011-10-12
Bug fixes:
- The Permissions window Purge and Sort buttons messed up the display.
1.9.2 2011-09-12
Bug fixes:
- Log window Actor and Actors filters did not show commands sent to the actors.
- Windows in TUIAdditions were not being loaded.
- Permissions window: improved resize behavior and alignment.
1.9.1 2011-08-19
Warning to unix users and others running from source: if you are using a Python older than 2.6 then you must install the simplejson module.
Internal changes:
- Improved compatibility with versions of Python older than 2.6 (thanks to Leigh Koven).
1.9.0 2011-08-16
This version requires Python 2.6 or later (due to use of the json module; you can also install simplejson as json).
Visible changes:
- Guider window changes:
- Changed ctrl-click to eliminate the danger of accidental offsets. Now ctrl-click simply sets the selection at the cursor. You then have to press Center Sel to center that point on the boresight.
- Made it easier to cancel normal dragging and ctrl-click dragging. Just release the mouse button while the mouse pointer is off the image. As a visual cue the drag rectangle or ctrl-click selection point disappears while the mouse pointer is off the image.
- Displays an arrow from the current selection to the boresight if there is a selection and Center Up is enabled (which requires that guiding be off, a boresight, a selection, and that no command such as Center Up is running).
- Modified Hold/Current and history behavior to reduce confusion between user-chosen FITS files and images received from the guider:
- Current always shows an image from the guider, if one is available, else nothing. Formerly if you used Choose... to view a FITS file and you had never received any images from the guider, then the image you were viewing would stay up when you pressed Current.
- The image history is reserved for images received from the guider. Images viewed using Choose... are not added to the image history.
- Log window changes:
- Added new filters: "Commands", "Commands and Replies", "My Commands and Replies" and "Custom" (which is explained in the Log Window manual page).
- Added new messages CmdStarted and CmdDone (based on messages from the cmds actor).
- Increased log message length.
- Many windows now save state when you select Save Window Positions.
- Log windows save filter information
- Instrument configuration windows save which detail panels are open
- Shack-Hartmann: added preliminary support for the Shack-Hartmann instrument. Further refinements are awaiting documentation.
- Status window: added support for the axis controller's new amplifier overcurrent bit (bit 18). The text displayed is "Amplifier too hot" and it is a warning (as Fritz requested).
- DIS: Drift script now can drift across the slit or along it.
- TSpec: Nod script now allows the user to specify the offset (useful for extended objects).
- Focus scripts: reduced minimum step size from 25um to 10um.
- Permissions window: added automatic highlighting to make it easier to see what you are pointing at.
Bug fixes:
- Focus scripts would not take a final exposure if cancelled during the first exposure.
- Guider windows: selecting stars was hard because you had to click much too close to the center of the star.
- Guider Thresh and RadMult backgrounds were sometimes incorrectly pink.
Internal changes:
- Moved HubModel and PermsModel into TUI.Models and added CmdsModel there. Other models will eventually move there, but that will be a more disruptive change.
- Changed "type" to "msgType" in parsed message dictionaries to reduce conflict with Python built in function.
1.8.7 2011-04-08
Visible changes:
- Permissions window: organize permissions by category and clean up the alignment.
1.8.6 2011-02-22
Visible changes:
- Slew window: reinstated the Stop button. It sends "axis stop", which will stop the telescope quickly but gently, thanks to the graceful handling of stop commands by Fritz' axis controllers.
- Slew window: hide the Calibrate panel, since it is not well set up for automated operation.
- Status window: display Calib and Guide offsets. Reordered two panels to improve readability.
- Nudger now nudges "on sky" for all offset types. Formerly Calibration and Guide offsets were simply added to the axis position.
- Added a new sound cue "Exposure Failed" sound, which is played if an exposure sequence fails. (Warning: Agile presently outputs "aborted", not "failed" when an exposure fails. A fix is in the works, but until it appears, Agile will NOT play this new sound cue.)
Bug fixes:
- PR 1240 Data entry bug in certain windows.
- PR 1188 unwanted ctrl-click in slitviewer windows.
1.8.5+2_Windows 2011-02-03
Windows-only release. Further compatibility fixes; now tested on XP, Vista and Windows 7. Thanks to Joseph Huehnerhoff for fixing the problem and creating a new release.
1.8.5+1_Windows 2011-01-28
Windows-only release. Made to work on more versions of Windows by doing something with win32com. Thanks to Joseph Huehnerhoff for fixing the problem and creating a new release.
1.8.5+1_Mac 2010-12-20
Mac-only release. Built with matplotlib 1.0.0 because of a problem with my build of the prerelease version used in 1.8.5.
1.8.5 2010-12-20
Visible changes:
- Added target axis position and UTC date to the Status window.
- Added Calibration offsets to the Nudger window.
- Renamed Object offsets to Object Arc offsets in the Offset, Nudger and Status windows and reorganized the associated help files to better consolidate information about types of offsets.
- Enclosure window: added eyelids summary status (which tells you if the eyelid for the current port is open) and Open All and Close All buttons.
Internal changes:
- Reduced rate of memory leakage by 10x by shifting the guide monitor's time axis every 20 seconds instead of every 2 seconds. The display will be jerkier but you will still see all data. I'll restore the old behavior once the matplotlib memory leak is fixed.
- The Mac version now includes matplotlib trunk rev 8843 (is a prerelease of 1.0.1) and unix users may wish to install a similar prerelease. This offers two important benefits:
- TUI will no longer exit at startup if matplotlib's font cache is outdated.
- Matplotlib's memory leak in canvas.draw is reduced by a factor of 10.
Bug fixes:
- PR 1211 NA2 focus script changes secondary focus instead of gmech on failure.
1.8.4 2010-10-21
Visible changes:
- Guider windows: added Center button to slitviewers that will center the selected star.
- Combined the Guide Monitor and Seeing Monitor into one window and changed the displayed time span to one hour. Added a brief description to the main Guiding help page.
- Focus scripts: enhanced error handling and status reporting. They now show cleanup actions in the log. They will wait for cleanup actions to finish if possible, and if not then will show a warning in the log.
- Improved description of motor current limit status bit and removed descriptions for unused bits (thanks to Fritz for updating the controller status documentation).
Internal changes:
- The guider models for the <n>focus actors no longer try to auto-refresh the expState keyword because these actors don't output it. (I left it in the model for uniformity). This eliminates some warnings from the keys actor at startup.
Bug fixes:
- PR 1189 Focus script does not move boresight back if focus not found
- Guider Windows: minor enhancements to drag-to-centroid event handling:
- The selection rectangle is immediately removed if one presses the ctrl key (instead of only after a drag).
- The selection rectangle must be displayed for the centroid command to be sent. Formerly the centroid command could sometimes be sent even if the rectangle was not shown (potentially confusing, but harmless).
- The crosshair cursor is now only shown when the ctrl-drag arrow is also shown. Thus it is an indicator that a center command will be sent if you release the mouse button.
- Changed the Guide Monitor to only show the brightness of guide stars; formerly it would also display manually centroided stars which would likely be confusing.
- Corrected a few external links in this version history document.
1.8.3 2010-10-08
This is only intended to fix an error in the Mac build. It was not fully compatible with Mac OS X 10.4 (I was apparently using an broken installation of PIL). There are also a few tweaks to the help files but no code changes from version 1.8.2.
1.8.2 2010-10-06
Visible changes:
- Added guiding and seeing monitors (in the Guide menu).
- Agile PR 1093: added a Stop button. Also removed the nonfunctional Pause button.
- Added support for new axis controller status bit: 15=slip detected
- TSpec and NICFPS Expose windows now show Pause Seq and Stop Seq and Agile shows Stop Seq. "Seq" indicates that the action occurs after the current exposure finishes normally.
Bug fixes:
- PR 1172 Cannot display guider images in MacOS X 10.4.
- PR 993 agileExpose gets wedged and subsequent exposure commands are ignored. I worked around the bug instead of fixing it by sending the stop and abort commands directly to the agile actor rather than agileExpose. Fortunately this seems to work well.
1.8.1 2010-08-05
Visible changes:
- If you lose your connection or put your computer to sleep for long enough, TUI will test the connection and, if good, will attempt to refresh the data.
Bug fixes:
- The Refresh Display command was broken.
1.8.0 2010-07-12
Visible changes:
- Multiple log windows.
- Added Keep Guide Images preference.
Internal changes:
- Added logSource to the TUI model; this is a central repository for log data to support multiple log windows.
Bug fixes:
- Log window
- New lines are not highlighted when highlighting Actor or Actors.
- Copied text includes filtered-out data.
- Scrolling is irregular if there is a lot of filtered-out data.
1.7.4 2010-06-18
Bug fixes:
- PR 1135 New PR for spurious "command completed" sounds.
1.7.3 2010-05-27
Visible changes:
- Re-added None to the Log window's severity filter menu
- Windows are displayed within the visible screen area, even if the saved positions is not (as can easily happen if you sometimes connect a laptop to an external monitor). The code assumes your visible screen is a rectangle, so it can be fooled by strange screen arrangements.
- The unix version requires Python 2.5 or later (but not 3.x).
Bug fixes:
- PR 1111 TUI makes the Command Done sound every 5 secs while tcam is guiding on a bright star. (More precisely: TUI may execute a findStars command whenever a new guide image is received, depending on how Thresh or RadMult are set.)
1.7.2 2010-04-23
Visible changes:
- Added Agile Guider, a guider that works from science images. This is somewhat of a hack, so be sure to read the help page (open the guider, point to a control, right-click and select Help) before using it.
- The About TUI window now shows the paths to special files such as preferences and TUIAdditions directories.
- On unix, the shared TUIAdditions directory is now up one level (to the parent of the parent of the directory named TUI), so that it is independent of the TUI source tree and is shared by all versions of TUI.
Internal changes:
- Added guider information for the "afocus" actor.
- TUI.TUIPaths: added functions getGeomFile and getPrefsFile and added ifExists argument to getAddPaths.
1.7.1 2010-03-15
Visible changes:
- The Users window now shows additional information about each user. If you can't see it, make the window wider.
Bug fixes:
- Save As is broken in The Run_Commands script.
- Fixed a bug in tracking command severity in status bars.
- NA2 Guider Image: some help strings said Echelle.
Internal changes:
- Includes RO package 2.3.4.
- Compatible with the experimental Agile guider (which requires RO package 2.3.2 or later).
- The log window code was simplified by taking advantage of new capabilities in RO.Wdg.LogWdg in RO version 2.3.4.
- Modified to send the hub the version # without the date at connect time, to simplify the version display in the Users window.
1.7.0 2010-01-11
Visible changes:
- Added "Play Sounds" preference. This turns off all sounds except "Command Done" and "Command Failed" in response to your own commands. This allows users to quietly monitor what is going, and allows running multiple TUIs in the same room with only one playing sound cues.
- Implemented PR 1060: in the Enclosure window, reorder the tertiary ports so they are listed from the (new) minimum to maximum position.
- Status window: changed axis controller bit 14 description from "Servo error too large" to "Motion error too large".
Internal changes:
- Uses pygame to play sounds instead of snack. Unix users must install the python package pygame to hear sound cues.
- Focus scripts: reduces the minimum focus correction from 50 µm to 25 µm.
Bug fixes:
- PR 131 TUI sound cues get later over time.
- PR 675 TUI sometimes missing message beeps, other sounds.
1.6.2 2009-10-06
Visible changes:
- The Status window is now listed under the TCC menu instead of the TUI menu.
- Axis controller status display has been updated for the new axis controllers.
Bug fixes:
- Log window: if an actor disappeared from the hub then it was no longer possible to filter messages for that actor.
- Status window: the minimum and maximum software position limit messages were swapped.
Internal changes:
- Collecting information from the hub when connecting is now much more efficient and will not repeat commands when information is missing.
- Window names are now module constants, to make changing window names safer.
1.6.1 2009-07-20
Bug fixes: