proposals for gen2 daigo tomono & naoyuki tamura
TRANSCRIPT
Proposals for Gen2
Daigo Tomono & Naoyuki Tamura
<tomono at subaru.naoj.org>
2Subaru Users' Meeting2009-01-16
User interface for new OCS-
3Subaru Users' Meeting2009-01-16
your ideas wanted!
4Subaru Users' Meeting2009-01-16
Users of Gen2 are
observers ...
5Subaru Users' Meeting2009-01-16
YOU!
6Subaru Users' Meeting2009-01-16
You will use Gen2
OCS.
7Subaru Users' Meeting2009-01-16
Discuss here,
8Subaru Users' Meeting2009-01-16
Talk with us,
9Subaru Users' Meeting2009-01-16
Send comments
or proposals
10Subaru Users' Meeting2009-01-16
to Terada or Tomono
11Subaru Users' Meeting2009-01-16
Gen2 の UI の提案を寺田か友野まで
2009-01-16 Subaru Users' Meeting 12
Ideas wanted!
about user interface of Gen2 Tentative deadline: late May, 2009
– After international conference in Kyoto Send your comments or proposals to
– Tomono <tomono at subaru.naoj.org>, or– Terada <terada at subaru.naoj.org>
2009-01-16 Subaru Users' Meeting 13
Agenda
Scope of user interface for Gen2 Requirements to user interface for Gen2 A couple of examples
– to stimulate your proposals!
2009-01-16
Values of software
1. Communication
2. Simplicity
3. Flexibility
2009-01-16 15Archive (STARS)
Observing
Telescope
Instrument(s)
Users:Observers,SAs, andOperators
OCS
2009-01-16 Subaru Users' Meeting 16
Observing, users want to watch
Condition of the sky Status of the telescope Status of the instrument Status of ongoing observation Data obtained
2009-01-16 Subaru Users' Meeting 17
Observing, users want to watch
Condition of the sky– skymonitor
Status of the telescope Status of the instrument Status of ongoing observation Data obtained
2009-01-16 Subaru Users' Meeting 18
Observing, users want to watch
Condition of the sky Status of the telescope
– telstat Status of the instrument Status of ongoing observation Data obtained
2009-01-16 Subaru Users' Meeting 19
Observing, users want to watch
Condition of the sky Status of the telescope Status of the instrument
– ? Status of ongoing observation Data obtained
2009-01-16 Subaru Users' Meeting 20
Observing, users want to watch
Condition of the sky Status of the telescope Status of the instrument Status of ongoing observation
– IntegGUI? Data obtained
2009-01-16 Subaru Users' Meeting 21
Observing, users want to watch
Condition of the sky Status of the telescope Status of the instrument Status of ongoing observation Data obtained
– FitsViewer?– ANA?
2009-01-16 Subaru Users' Meeting 22
Observing, users want to watchObserving, users want to watch
2009-01-16 23
Observing
2009-01-16 24
Preparing
2009-01-16 Subaru Users' Meeting 25
Preparing, users want to
Plan sequences Refer manuals
2009-01-16 Subaru Users' Meeting 26
Preparing with SOSS
Plan sequences– Communication of ope files
Refer manuals
2009-01-16 Subaru Users' Meeting 27
Preparing with Gen2
Plan sequences– Scripting language?– GUI?– Debug and rehearse
• before coming to Hawaii!
Refer manuals
2009-01-16 Subaru Users' Meeting 28
Looking for better way to
Preparing– Plan sequences
• Debug and rehearse
Observing– Execute and monitor sequences
• Termination, pause, modification, repetition, ...• Dithering, iteration, ...
– Watch status of instrument(s)– Review data obtained
Copyright 2007 by kakutani.com, CC-by-2.0, from a presentation by Kenji Hiranabe
2009-01-16 Subaru Users' Meeting 30
Examples!
To stimulate YOUR proposals! Preparation and observation tools to edit
and execute sequence– With a scripting language, i.e., Python, or– Using graphical user interfaces
2009-01-16 Subaru Users' Meeting 31
Observation sequence on Python
from subaru import *from dither import *
pts=[(0,0), (1,1), (1,-1), (-1,-1), (-1,1)]
run(Dither(integ_time=10, ditherlist=pts))
2009-01-16 Subaru Users' Meeting 32
Observation sequence on Python
class Dither(IRCS, AbstractDither):def __init__(self, integ_time=0.0, **kwdargs):
super(Dither, self).__init__(integ_time=integ_time, **kwdargs)
def slew(self, ra, dec):self.run(Sequence([
ShowUser(level=1, msg="Slewing to ra=%f dec=%f" % (ra, dec)),Concurrent([
Telescope.Offset_Radec(ra, dec),IRCS.YourDesiredSetup(),Etc()
]),ShowUser(level=2, msg="Done slewing."),
]))
def at_point(self, ra, dec):self.run(Sequence([
ShowUser(level=1, msg="Exposing at ra=%f dec=%f" % (ra, dec)),Sequence([IRCS.Expose(self.params.integ_time), Etc() ]),ShowUser(level=2, msg="Done exposing."),
]))
2009-01-16 Subaru Users' Meeting 33
Observation sequence on Python
class AbstractDither(g2Task.g2Task):def __init__(self, ra=0.0, dec=0.0, dra=1.0, ddec=1.0, ditherlist=[], **kwdargs):
super(AbstractDither, self).__init__(ra=ra, dec=dec, dra=dra, ddec=ddec, ditherlist=ditherlist,
**kwdargs)
def at_point(self, ra, dec):raise g2TaskError("Please subclass this method with desired behavior!")
def slew(self, ra, dec):raise g2TaskError("Please subclass this method with desired behavior!")
def execute(self):for i, j in self.params.ditherlist:
ra= self.params.ra+ (i * self.params.dra)dec = self.params.dec + (j * self.params.ddec)self.slew(ra, dec)self.at_point(ra, dec)
2009-01-16 Subaru Users' Meeting 34
Planning and executing on GUI
Example from Gemini Observing Tool A prototype from Subaru OCS team
36Subaru Users' Meeting2009-01-16
37Subaru Users' Meeting2009-01-16
2009-01-16 Subaru Users' Meeting 38
Monitoring executions
Monitor actual or preparation observation Sorry, no example yet
– Dynamic call graphs with history of completed methods?
Copyright 2007 by kakutani.com, CC-by-2.0, from a presentation by Kenji Hiranabe
2009-01-16 Subaru Users' Meeting 40
Looking for ideas to
Prepare– Plan sequences
Observe– Execute and monitor
sequences– Watch status of
instrument– Review data obtained
Tentative deadline: late May, 2009– After international
conference in Kyoto? Discuss here, and Send comments to
Tomono or Terada
41Subaru Users' Meeting2009-01-16
今晩飲みに行きませんか?