Initial state of StarView

Currently there are no ways to control starview from outside the program with the exception of being able to push qualifiers to the currently active form. This has been used to push coordinates back to StarView from an image previewer. It is our goal to change this, but we will need to design the interface in some generic way so VTT and other systems can use StarView to do their database searches without tying the development efforts together.

 

Currently we use the ESO JIPA tool to display images and overlays. For this we have a simple interface where we can pass it either a preview/dss image URL and it will load it, or we can pass it the dss image URL and the overlay information needed to place the apeture on the image. It can do only one image at a time and only one apeture at a time. It does not change anything when the user changes which record is selected.  It has very minimal user interaction. The user can click on the image and have it push the coordinates back to the active form. The user has to go back to StarView to reissue the search based on the new coordinates returned from the interactions with the image.

 

The forms that StarView uses are not part of the program. They are loaded at runtime from the Form Server and from the users SView directory. Currently there is nothing identifying what the form is for other than the name of the form and the directory in which it is stored. StarView has no internal knowledge about what the forms are for. We could simply have a keyword vector in the form and create a form finding tool that allows the user to select which form to use (similar to web search engines and keywords).

 

Potential interactions between VTT and StarView

 

  1. Simplest is SV has a search filled out and wants to mark all apertures on a DSS image.  Simply fires off RA, Dec, (Equinox???, SV assumes 2000), v3 position angle (when it exists…it may not for proposal records), and the aperture/instrument identifier.  VTT takes these, does some weighted mean position and gets some radius and loads DSS image and marks these apertures. It would verify it the image were too large that the user really wants to do it, and would have a maximum radius above which no retrieval will be done.
    1. Potential extension, Starview also assigns some serial number to the apertures (obsnumber???).  VTT can then tell Starview it needs to change which record is selected based on some user interaction. Also requires that Starview be able to clear vtt apertures when search is reissued and that VTT knows when StarView has closed (should it close as well???).
    2. VTT user marks an aperture and wants to see the preview of that dataset. Could be loaded two different ways.

1.      VTT uses the obsnumber and loads it by itself or

2.      VTT tells StarView to select this frame and do the preview

    1. VTT user wants to mark an apeture for retrieval
    2. StarView changes which record is selected. If the apeture is in the VTT we might want to flag it as the active record’s apeture.
    3. Marking data for retrieval changes how the apeture is displayed in VTT.
    4. VTT could call up multiple DSS images if there were multiple objects and do the overlays in them, allowing a user to look at the pointings for a class of objects distruted on the sky.  It will take some cleverness to figure out when to break things into multiple images, but it could be done (maybe?).
    5. Question: How (and who) do we handle multiple exposures on the same pointing?
  1. More complex (FUTURE) interactions going the other way as VTT doesn’t know what forms StarView has, but it does have some knowledge of what the observations involve (insturment name and configuration).
    1. Might want to have the user setup apertures for their observations and then do some search based on that apertures location and insturment configuration. 

1.      Has to ask StarView if it has a form that somehow can handle tall his information (based on the instrument selected and configuration specified)

2.      Do we have to flag some forms as being the default form for WFPC2 VTT stuff on the server/StarView side so when the request comes in we load the correct form or does VTT ask StarView or does it ask the form server before this about what sort of forms it knows about before the user makes their request?  What sort of user customization is needed and in which tools?

3.      Can the user override which is the default WFPC2 form somehow and use one of their own? 

4.      Do we need to build the forms to be used with VTT to make certain that all the relevant fields are present? 

    1. User has done a search and wants to use some of the apetures marked in VTT for X Qualification.  User selects those apetures and sends the list back to StarView.  The problem then is which form is the search done in? 

1.      Do we reuse the same form? 

2.      Does VTT somehow ask starview for a list of forms that could be opened and does it command StarView to open a new one?

3.      Do we do both?

    1. User has two or more fields in VTT and wants to see if there have been similar observations proposed in these fields.  The user wants the search to be issued and somehow know if fields were observed (actual pointings) or simply proposed.  Should we be able to mark apetures that were not observed based on the proposal coordinates simply to show the user that there was something proposed but not done in the field?
    2. The user has an apeture/preview that the want similar observations for.  So they select the apeture and say search for similar observations based on (and here’s where it gets wishy washy) stuff.  Starview loads a new form and starts the cross qualification process based on the selected apeture(s), asking the user to select fields from the two froms for the cross qualificatoin.
    3. User has their own file they want to look at and show the HST apetures on. Should be able to load any file (from StarView???) to display as the DSS like image onto which overlays will go.

 

What will be required?

  1. Interface for passing overlays to and from StarView and VTT
    1. Define an apeture (the basis for all interaction between the two?)

                                                               i.      Dataset id

                                                             ii.      Data type (?)

                                                            iii.      Ra, Dec, Equinox

                                                           iv.      Insturnment

                                                             v.      Position Angle

                                                           vi.      FOV

                                                          vii.      Preview url(s) (?)

                                                        viii.      Marked for retrieval

                                                           ix.      Currently Selected Record

                                                             x.      Show this Appeture

    1. Define the shared object as containing

                                                               i.      Vector of Apetures

                                                             ii.      Form handle (CRV)

                                                            iii.      VTT handle

                                                           iv.      Search area (ra, dec, and radius)

                                                             v.      Image URL

                                                           vi.      Add method

                                                          vii.      Remove method

                                                        viii.      Remove all method

                                                           ix.      Mark method

                                                             x.      Unmark method

                                                           xi.      Select method

                                                          xii.      GetSelected method

                                                        xiii.      GetShownApetures method

                                                        xiv.      Set image URL method

                                                         xv.      Set search area method

    1. Events needed

                                                               i.      Display file from URL (SV-> VTT)

1.      passes image URL to VTT to display

                                                             ii.      Update Apetures (SV->VTT & VTT -> SV)

1.      someone changed something in the apeture list…take care of yourself (assumes images are already loaded and the search in starview matches the apeture list).

                                                            iii.      Do VTT Search (VTT -> SV)

1.      Search in starview based on current region. This should clear the apetures from the VTT and make starview do another search which fires back a load apetures event below.

                                                           iv.      Load Apetures (SV -> VTT)

1.      tells vtt to look load the apetures and get the dss images it needs to plot them on. This is a call beyond update apetures which assumes there is already an image loaded.  This is what SV fires when it does a new search.

                                                             v.      Error event (SV -> VTT and VTT -> SV)

  1. Future additions????
    1. Apetures for proprietary/future observations (FOV = unknown maps to using a circular apeture???)

                                                               i.      We know the insturment for future observations. should we have different apetures with no Position angle that somehow shows which insturment will be used (more than just a circle)?

    1. Load default form based on meta description (insturment name, instrument engineering, duplication, abstract)
    2. Cross qualifiy (simply starts the xqual tool in starview for user to use)
    3. Pushing qualifiers based on ddl datatype (ra, dec, datetime, PI name, insturment name, insturment configuration, dataset name)…Note this may require defining new datatypes in the ddl and in starview.
    4. Issue search based on currently pushed parameters.
    5. Request event when search is done (default with issue search?)
    6. Give me apetures to display based on current search.