Software Release Notes for Build "2012H"

Release Date: September 26, 2012
Generic Release Name: 2012H
Public Release Name: General Release 2012H
General Description: This build supercedes 2012G which was never tested on-sky due to weather.

Telescope Operator Overview Information

  • Zernike coefficient global offsets can now be applied to the primary mirror through the PSFGUI.

Support Astronomer Overview Information

  • The PSF now has absolute wavefront (figure) control for the primary mirror. This is similar to the existing collimation (position) control. There are a set of instrument specific configuration files [SX|DX]PM<inst>Wavefront.dat that contain global offsets and elevation and temperature correction coefficients for all Zernike coefficients. There are a set of "registers" for Zernike coefficients that are added together, and the total is converted to forces on the mirror. The global offsets can be changed on the PSFGUI. Figure corrections from the GCS are summed into the register "Active Optics". Secondary offloads from the AOS are summed into register "Secondary Offloads". Figure corrections from the SendWavefront command are summed into the register "Instrument Offsets". The PSFGUI has changes for the primary mirror to support this new Zernike coefficient system; there is now a "details" page for both position (old collimation) and new figure (wavefront) to see and clear the various registers.

The Details

New Functionality Tests that need to be performed with the Telescope

  • PCS: Ensure the RA, Dec, HA, and epoch are properly computed and display on the main GUI page. DONE: OK DONE
  • PCS: Ensure the new telemetry stream, mountEquatorial, is being written. Carry over from 2012G. DONE: OK DONE
  • PCS: Verify the "trajectories" telemetry stream now contains rotator trajectories for instruments with an internal rotator (e.g., LBC). Carry over from 2012G. DONE: OK DONE

Patches to the Release

  • PCS: V6.23b - Backed out the xy2sky() modification introduced in 2012G. Keep the arguments of (0.0, 0.0) at this time for further analysis. The update was causing jumps during LBC guiding.
  • PCS: V6.23c - Reverted the LBC guide update routine to the version in 2012C in an effort to address the LBC guide runaway problem.
  • PCS: V6.23d - Finally addressed properly the problem documented in InformationTechnology 4303, the LBC guide runaway problem. This patch supercedes the 6.23c patch. The solution was to address the way the PCS autoGuider virtual telescopes were updated and generating trajectories. In essence, this is a reversion to the way this was handled in TCS Build 2012F.
  • PCS: V6.23e - Addressed an issue with arose when performing a synchronized Preset (InformationTechnology 4328). Essentially, there was a timing issue which allowed side "one" to perform a pointing correction and indicate it was complete before side "two" was done performing its pointing correction. As such, the mount could move to accommodate side "two" and any imaging done by the GCS for side "one" would capture the motion of the mount. This patch has not been tested on the mountain.
  • GCS: V2.7.3 B1: patched stringstream clearing problem described in InformationTechnology 4260 that caused errors when generating WFS image headers. This had already been addressed in trunk before InformationTechnology was opened.
  • GCS: V2.7.3 B2: a dead patch that contained the previous stage 1 of the new WFS code but it did not quite work right. DO NOT USE!
  • GCS:: V2.7.3 B3:
    • closing InformationTechnology 4244, correcting the month in the DATE-OBS header
    • adding filter criteria in the same units as Sextractor output to better understand star selection from Sextractor output list
    • added code to GCS that keeps an eye on AzCam timeouts during resumeGuiding guide stability check. IT #4259
    • new IDL WFS algorithm implemented in WFSingThread class
    • public configuration files MODS_L.cfg, LUCI_L.cfg and LUCI_IRTC_R.cfg updated with additional WFS configurations for new WFS code
    • updated rotator setting for AGW1
    • CamImage::setHeaderValue() strings too long for a FITS value are now being truncated to the maximum length instead of being rejected completely.
    • Fixed the new WFS code problem that the DEC string was too long for adding it to the FITS header of a received camera image
    • Added public config values (example is taken from downtown LUCI_L.cfg):
        WFS_useSextractor       true            bool    # use new Source Extractor based WFS algorithm?
        WFS_subDir              "20120816"              string  # subdirectory relative to the path of this config file where to find WFS specific files
        WFS_sextCentroidsFile   "sext_centroids.fits"   string  # flat file for Source Extractor
        WFS_sextReconFile       "sext_recon_matrix.fits"        string  # static reconstructor for Sextractor
        WFS_sextMaskFile        "sext_mask.fits"        string  # mask now as a FITS file
        WFS_sextInterFile       "sext_inter_matrix.fits"        string  # interaction matrix for Sextractor
        WFS_centroidsFile       "cow_centroids.fits"    string  # flat file for Source Extractor
        WFS_reconFile           "cow_recon_matrix.fits" string  # static reconstructor for Sextractor
        WFS_newMaskFile         "cow_mask.fits" string  # mask now as a FITS file
        WFS_interFile           "cow_inter_matrix.fits" string  # interaction matrix for Sextractor
        WFS_sextConf            "sextract_wfsc.cfg"     string  # This is the base name for the Sextractor config file. The subDir value will be added in front, as well as the side_ tag
        WFS_fluxSigmaFactor     -2.5            float   # used to calculate the cut off value for Flux. Flux_Median + Factor * Flux_StdDev
        WFS_fwhmSigmaFactor     5.0             float   # used to calculate the cut off value for FWHM. FWHM_Mean + Factor * FWHM_StdDev
        WFS_ellipSigmaFactor    4.0             float   # used to calculate the cut off value for Ellipticity. Ellipticity_Mean + Factor * Ellipticity_StdDev
        WFS_minSextSpots        20              int     # minimum number of subapertures found with Sextractor before falling back to modified CoW algorithm
        WFS_subtractFlat        true            bool    # defines if the flat vector configured in this file should get subtracted from the determined centroid position vector or not
        WFS_subtractBkgrd       true            bool    # defines if the mean background number should be subtracted from the WFS sub image before analysis
        WFScam_hotspot_sext_x   273.0           double  # ccd x coordinate of pixel that represents lower leftmost x-center of WFS spots (20120204 DLM)
        WFScam_hotspot_sext_y   125.0           double  # ccd y coordinate of pixel that represents lower leftmost y-center of WFS spots (20120204 DLM)
        WFS_high_factor         0.0             double  # this is applied to all Zernikes from Z12 to Z22
        WFS_med_factor          0.3             double  # this is applied to Zernikes defined in WFS_redefine_med_z from Z12 to Z22
        WFS_redefine_med_z      78              string  # defining the Zernikes that get the med_factor applied
        WFS_applyOffsets        true    bool    # decides if the Z offsets defined in LUCI_L_RM_sub11.cfg are supposed to get applied or not
    • Added sextractor reconstructor specific scale factors in the *_RM_sub11.cfg files. They are named sextScale_Z[4-22] and are replacing the previously used scale_Z[4-22] when the sextractor reconstructor is used as they need to be different.
    • The public config files MODS_L.cfg, LUCI_L.cfg, LUCI_IRTC_R.cfg, MODS_L_RM_sub11.cfg, LUCI_L_RM_sub11.cfg, LUCI_IRTC_R.cfg were updated with the new config values and scale factors
    • The mountain public config files were set up in /home/telescope/TCS/Configuration/GCS.newWFS, so a symlink can quickly be used to switch back and forth the old and new configuration
    • Minor change as to what value is visualized in GCSGUI for the Zernike RMS value (it's now based on the Zs sent to PSF)
    • The isCollimated flag will be set to true when the RMS value of Z4-Z11 times the Zscale factor of 0.8 drops below the configured limit. Previously it was Z4-Z22.

Known Bugs

  • none.

Release Overview

  • none.

IIF list of Public Data Dictionary Variables

Operating System, System Configuration, TCS and Hardware Computers

TCS Servers / Workstations

  • none.

agw-control computer

  • none.

jet computer, DSP, FPGA

  • none.

Networks

  • none.

PLCs

  • none.

TCS Subsystems and GUIs, and significant configuration files

AGw control server

  • none.

AOS - Adaptive Optics

  • none.

ECS - Enclosure Control

  • none.

ENV - Environmental Sensors

  • none.

IIF - Instrument Interface

  • IIF Version 8.19
    • Change text "received" to "rejected" in event notAuthorized (IssueTrak 4222).

GCS - Guiding Control V2.7.3

  • changed AGWUnit telemetry initialization to be called from outside the class as destruction of the object doesn't undo the telemetry definition and resources cannot be retrieved.
  • fixed warnings in AGWUnitAIP about "or" operator |
  • fixed a problem with the BINNING header entry in WFS images reflecting the binning settings of the guide camera instead of the wfs camera
  • added Zernikes/RMSmed.xml for additional Zernike application decision factor
  • added new optional configuration value WFS_redefine_med_z to AGW configuration files. This defaults to "78" so these Zernike coefficients can be biased a little in bad conditions.
  • added new optional configuration value WFS_med_factor to AGW configuration files. It defines the factor for the WFS_redefine_med_z bias and defaults to 0.3 if missing.
  • added new optional configuration value WFS_high_factor to AGW configuration files. It defines additional scale factor for the Z12-Z22 terms. Defaults to 1.0.
  • added getPath call to telemetry configuration file definition
  • added extensive FITS header generation for WFSC images containing all relevant Zernike computation data in addition to .info file generation
  • added new optional configuration value WFS_useSextractor (bool) to enable or disable the use of the yet to be implemented new WFS computation approach. Default is false.
  • changed type of header entries for Zernike coeffs to rounded integer.
  • added more header entries to WFS FITS files containing additional M1/M2/M3 DD entries for post analysis of collimation
  • changed Instrument2AGW.cfg to reflect the AGW swap in LFBG for left LUCI.
  • removed additional WFS FITS header generation from old style WFSing code and disabled unfinished new style WFSing in GCS code
  • closing InformationTechnology 4244, adjusting the DATE-OBS header

LSS - Logging and Events

  • LSS Version 3.8
    • Put the incoming RPC backlog count into reflective memory.
  • LSSGUI Version 2.2
    • Display incoming RPC backlog count.

MCS / mcstemp - Mount Control

  • none.

OSS - Optical Support

  • none.

PCS - Pointing Control

  • PCS_Version 6.23
    • The PCS is now computing the epoch of today (UTC) which is displayed on the main GUI page.

  • PCSGUI_Version 1.1
    • PCSGUI now has a version number.
    • Compressed the main page and sources panel, as well as a bit of clean up.

Pointing Kernel / Pointing Kernel tools

  • none.

PMC - Primary Mirror Cell

  • none.

PSF - Point Spread Function

  • PSF Version 6.0
    • Convert from relative Zernikes to absolute Zernikes for the primary mirror. The wavefront correction is now very similar to the collimation correction. There is an elevation lookup table with temperature correction, and several "registers" where input Zernike coefficients are stored. The registers are summed to get the total value for each coefficient. This final value is then converted to figure forces and sent to the primary mirror.
    • Allow "Stop Chase" command at any time.
    • Add needed methods and events for Zernike conversion.
    • Add temperature 2 correction coefficients to wavefront configuration files.
  • PSFGUI Version 6.0
    • Convert from relative Zernikes to absolute Zernikes for the primary mirror.
    • Rename wave form to control form.
    • Add primary position form, primary figure form, primary gains form, secondary gains form, and tertiary gains form.
    • Fix race condition in userValue class.

TCS GUI

  • none.

WX - Weather Station

  • none.

TCS Common Software

commandreturn - client command status returns

  • none.

commandsequencer - client/subsystem command handling

  • none.

core - foundation routines

  • none.

datadictionary - reflective memory and event support

  • none.

eventhandler - event handling

  • none.

networkconfig - subsystem management

  • none.

reflectivememory - global shared memory

  • none.

rpc - communication protocol

  • Add global variable RPCBacklog so subsystems can see the incoming RPC connection count.

setvalue - reflective memory access

  • none.

tcs_config - tcs configuration

  • none.

TCS Tools

DDEditor - Data Dictionary Editor

  • none.

DDBrowser - Data Dictionary Browser

  • none.

DDViewer - Data Dictionary Viewer

  • none.

Event Editor

  • none.

Telemetry

Collector

  • none.

Instruments and Environmental Sensors

DIMM - Differential Image Motion Monitor

  • DIMM Version 2.3 released 28-Oct-2012 (and updated 1-Nov-2012)
    • updated after release with bug fix for protecting image buffer list between camera thread and server thread (InformationTechnology 4327)
    • fix logging of LBT az/el -- values were swapped
    • changed config of guiding threshold from 10% (20 pixels) to 25% (50 pixels)
    • use spiral search size from config file rather than hard-coded 0.75
    • log encoder counts in driver: IsHomed2 , startMove, endMove, GetCurrentPosition
    • exception handling!
      • add catch blocks in mount thread so it doesn't crash on any exceptions
      • add catch in update for exception from calculateTrackingRates
      • add set rates to 0, set tracking to false for all MountExceptions thrown
    • stop mount tracking when out of ROI
    • change lock to a tryLock in the mount run method to make sure the update task can always run - this won't fix it though - just let's us know it's really stuck there
    • put the constants used for LBT/DIMM origin position in the configuration file instead of hard-coded
    • don't calculate seeing value in two threads - I've added a getSeeing to the ImageHandler class which required the seeing structure to be an attribute instead of local to the calculateSeeing() method, so right now the camera thread is set up to get it, rather than re-calculate
      It's called at 2Hz in the async task and it's done in the camera thread at 5sec intervals for telemetry.
    • log centroiding info while tracking, to see the drift
    • don't call reserve on image vector when calling resize
    • added method for adjusting the seeing value by the DIMM/LBT elevation difference - not used yet since the algorithm isn't in yet
    • misc logging changed - deleted some that was the same info all the time, added some in error cases, etc.
    • Client
      • mount RA/DEC values on main gui shouldn't have values when not connected and when connected the format should be the same all the time
      • allow Abort move button when mount is in moving state; allow mount move window if mount is in moving state
      • check image pointer in DimmImageView::setImage (shouldn't be bad, but we had a core here)
      • don't call reserve on image vector when calling resize

IRTC - Infrared Test Camera

  • none.

LBC - LBT Binocular Camera

  • none.

LBTO Weather Station - 3DWGUI

  • none.

MAT - Mount Axilliary Telescope

  • none.

All Sky Monitor

  • none.

-- MicheleDeLaPena - 20 Sep 2012
Topic revision: r10 - 25 Jul 2014, DouglasFisher
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback