JiscMail Logo
Email discussion lists for the UK Education and Research communities

Help for STARDEV Archives


STARDEV Archives

STARDEV Archives


STARDEV@JISCMAIL.AC.UK


View:

Message:

[

First

|

Previous

|

Next

|

Last

]

By Topic:

[

First

|

Previous

|

Next

|

Last

]

By Author:

[

First

|

Previous

|

Next

|

Last

]

Font:

Proportional Font

LISTSERV Archives

LISTSERV Archives

STARDEV Home

STARDEV Home

STARDEV  July 2006

STARDEV July 2006

Options

Subscribe or Unsubscribe

Subscribe or Unsubscribe

Log In

Log In

Get Password

Get Password

Subject:

Re: PLASTIC

From:

Mark Taylor <[log in to unmask]>

Reply-To:

Starlink development <[log in to unmask]>

Date:

Thu, 13 Jul 2006 21:03:49 +0100

Content-Type:

TEXT/PLAIN

Parts/Attachments:

Parts/Attachments

TEXT/PLAIN (204 lines)

On Fri, 9 Jun 2006, Peter W. Draper wrote:

> Hi Mark (& interested),
> 
> OK, as promised I've had a look at getting the basic infrastructure built 
> into GAIA. After a bit of a struggle (initially getting the old services 
> brain back into action) I now have a version that includes an XMLRPC 
> server, along with an HTTP server, and support for XMLRPC client-side too.
> 
> This is all committed (in a transitory form) to a CVS branch 
> "gaia-xmlrpc":
> 
>    % cd applications/gaia
>    % cvs update -r gaia-xmlrpc
> 
> etc. When you start up that GAIA it should say:
> 
>    Started XML-RPC services on port (8015)
> 
> and if you connect to localhost:8015 you should see the GAIA help page 
> being served. As a simple client I've created "xmlrpcdisp.sh" for 
> displaying a local image in GAIA:
> 
>    % $GAIA_DIR/xmlrpcdisp.sh $PISA_DIR/frame.sdf
> 
> The server-side is all in the file "GaiaXMLRPC.tcl". I think all that's 
> needed now is the PLASTICising work (including some UI control of all 
> this, and maybe support for interoperating with VOTables)! The packaging 
> could do with some looking at too. I'd better get back to day job for now.

Hi Peter,

I've finally got around to taking a look at this, and I've made some
progress.  Changes so far are committed to the same (gaia-xmlrpc) branch.
Here is a summary of what I've done:

  - Added some classes which handle locating and registering with
    the PLASTIC hub if it's running, and invoked the relevant 
    things from the Gaia.tcl startup script.  If there is a hub
    running when GAIA starts up it will start up an XML-RPC server
    and register with it.  If not it doesn't start the server.
    Either way a log message is printed.  Currently there's no 
    way to register/unregister after program startup.

  - Implemented a few of the Plastic messages, that is, 
    provided behaviour which responds to specific requests arriving
    on the PLASTIC message bus.  This functionality is all housed in
    GaiaPlastic.tcl.  As well as noddy ones like info/getName, 
    test/echo etc, the fits/image/loadFromURL message is implemented,
    which means that other PLASTIC-registered apps can now use
    GAIA for image display (with certain provisos).

  - Removed the 'normal' (non-PLASTIC) XML-RPC server that you put in
    Gaia.tcl.  I presumed this was proof of concept rather than
    because you wanted GAIA to serve XML-RPC in general, but it
    can be reinstated if you want.

  - Made a one-character change to xmlbits/tclsoap1.6.8/SOAP-domain.tcl,
    for reasons explained in the CVS log.

  - Updated gaia/library/tclIndex, which I presume is the right thing
    to do.  I haven't added the new classes to gaia/library/Makefile.in,
    I'm not sure if they're supposed to go in there.

  - I've attempted to follow your style of formatting, variable naming
    etc etc in the new/modified .tcl files, but have no doubt failed
    in some places - by all means point out offences and I'll try not
    to repeat them.


Here's a couple of ways you can see this lot in action:

   Using starjava PLASTIC package
   ------------------------------
      starjava/lib/plastic/plastic.jar (no external dependencies) 
      contains a hub and a few utilities for mucking about with PLASTIC
      (see http://www.star.bris.ac.uk/~mbt/plastic/ for some rudimentary
      documentation).

       - Start a hub

            % java -classpath plastic.jar \
                   uk.ac.starlink.plastic.PlasticHub -gui -verbose

       - Start Gaia (must do it after the hub has started)

            % gaia
            Started XML-RPC server for PLASTIC at http://andromeda.star.bris.ac.uk:8025
            Registered PLASTIC XML-RPC listener at http://andromeda.star.bris.ac.uk:8025/plastic3818

         (you should be able to see the effect in both the verbose output
         and GUI display of the hub).

       - Make a PLASTIC request to all capable registered applications
         asking them what their name is:

            % java -classpath plastic.jar \
                   uk.ac.starlink.plastic.PlasticRequest \
                   ivo://votech.org/info/getDescription
            plastic://uk.ac.starlink.plastic.XmlRpcAgent/df1832-1-gaia: 
                Graphical Astronomy and Image Analysis Tool

       - Make a PLASTIC request to all capable registered applications
         asking them to display a FITS image:

            % java -classpath plastic.jar \
                   uk.ac.starlink.plastic.PlasticRequest \
                   ivo://votech.org/fits/image/loadFromURL \
                   file://localhost/path/to/image.fits
            plastic://uk.ac.starlink.plastic.XmlRpcAgent/df1832-1-gaia: 
                1

         .. the image should appear in GAIA

   From TOPCAT
   -----------
      Obviously, TOPCAT's more tables than images, but there is one place
      it needs to display images, which is when it builds a density map
      (2-d histogram) of objects on the sky
      (http://www.starlink.ac.uk/topcat/sun253/DensityWindow.html).
      You need quite a large/dense catalogue to make this worthwhile -
      you can try the IRAS point source catalogue at
      ftp://andromeda.star.bris.ac.uk/pub/star/data/iras_psc.fits.

       - Start up TOPCAT loading that catalogue into it.  The -hub flag
         starts up a PLASTIC hub internally (don't need it if you've
         already got the hub running from the last example).

            % topcat -disk -hub \
                     ftp://andromeda.star.bris.ac.uk/pub/data/iras_psc.fits

       - Plot a density map on the sky of IRAS sources by selecting
         the Graphics|Density menu and filling in the selectors 
         X Axis = ra, Y Axis = dec (actually it will probably do this
         automatically).

       - Start Gaia (must do it after the hub has started)

            % gaia
            Started XML-RPC server for PLASTIC at http://andromeda.star.bris.ac.uk:8025
            Registered PLASTIC XML-RPC listener at http://andromeda.star.bris.ac.uk:8025/plastic3818

       - Select menu item Interop|Send FITS Image to...|Send to gaia 
         from TOPCAT's density window.  It should appear in GAIA.


So, basic PLASTIC functionality works.  Next steps and queries:

  - PLASTIC apps ought to inform the hub when they are going to shut down
    or otherwise stop responding for some reason.  Is there somewhere 
    I can put tidying-up code which will be executed when GAIA shuts down?
    This should preferably be invoked even if it shuts down abnormally.

  - The fits/image/loadFromURL call implementation is a bit of a fudge - 
    it only works for file:-protocol URLs.  Does GAIA have facilities
    for loading FITS from a URL rather than just a local file?
    If not I presume I can find some Tcl library code which will read
    a stream from a URL which I can save to a temporary file.

  - Obviously, this is only going to be really worthwhile if we can 
    implement some more, and more useful messages.  There's a 
    (somewhat scrappily maintained) list of currently defined ones at
    http://plastic.sourceforge.net/coremessages.html if you're 
    interested, though there's nothing to stop application authors
    defining new ones.  In particular:

       sky/pointAtCoords:
          Is there a (Tcl-accessible) way of indicating a sky position
          in GAIA?  This would ideally be some sort of moveable 
          visible cursor or pointer drawn on the image, but failing 
          that just warping the zoom window to the right place would
          be better than nothing.  This function on top of 
          fits/image/loadFromURL would already make GAIA a worthwhile
          addition to the PLASTIC desktop.

      table-type messages:
         These currently mostly require VOTable manipulation.
         I'm considering various approaches to this.

  - [Eventually] There are issues with converting between (typeless)
    Tcl variables and (typed) XML-RPC elements that I have to look into.

  - [Eventually] There probably wants some to be some GUI at some
    stage to control registering/unregistering with the hub etc -
    cf TOPCAT's Interop menu
    (http://www.starlink.ac.uk/topcat/sun253/plasticControl.html)
    Not to mention getting GAIA to make requests to other PLASTIC 
    applications.

Finally: how can I run GAIA during development without deleting and
remaking gaia_swish (slow)?  If I've just edited a couple of lines 
in one of the Tcl files I don't know how to start up GAIA in such 
a way that it notices I've made a change.  I presume there must be a way!

Phew.  That'll do for now.

Apologies for verbosity to anyone else who made it down this far.

Mark

-- 
Mark Taylor   Astronomical Programmer   Physics, Bristol University, UK
[log in to unmask] +44-117-928-8776 http://www.star.bris.ac.uk/~mbt/

Top of Message | Previous Page | Permalink

JiscMail Tools


RSS Feeds and Sharing


Advanced Options


Archives

December 2023
January 2023
December 2022
July 2022
June 2022
April 2022
March 2022
December 2021
October 2021
July 2021
April 2021
January 2021
October 2020
September 2020
August 2020
May 2020
November 2019
October 2019
July 2019
June 2019
February 2019
January 2019
December 2018
November 2018
August 2018
July 2018
May 2018
April 2018
March 2018
February 2018
December 2017
October 2017
August 2017
July 2017
May 2017
April 2017
February 2017
January 2017
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
May 2016
April 2016
March 2016
February 2016
January 2016
December 2015
October 2015
September 2015
August 2015
April 2015
March 2015
February 2015
January 2015
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
January 2004
2004
April 2003
2003


JiscMail is a Jisc service.

View our service policies at https://www.jiscmail.ac.uk/policyandsecurity/ and Jisc's privacy policy at https://www.jisc.ac.uk/website/privacy-notice

For help and support help@jisc.ac.uk

Secured by F-Secure Anti-Virus CataList Email List Search Powered by the LISTSERV Email List Manager