Welcome to iraf.net Friday, May 17 2024 @ 11:25 AM GMT
johnhenry |
11/29/2007 12:44PM (Read 11465 times)
|
|
|
Status: offline
Registered: 07/11/2007
Posts: 6
|
dear IRAF,when ds9 is running and IRAF imexam is started, the two programs communicate with eachother. The only way i know to break this connection is to press 'q' on the ds9 display. This will return the IRAF prompt. And it takes DS9 out of its 'blinking cursor' mode, thereafter ready to accept a new imexam connection.Is there another, non-interactive scriptable, way to break the connection gracefully, and to have DS9 gracefully exit the 'blinking cursor' mode, such that it is ready to receive a new imexam connection? I'm thinking of an XPA command to DS9, or some nifty command that can be sent from a UNIX shell into the IRAF-DS9 communication channel. Or perhaps another CL session can send commands to DS9 to set it free?We have setup automatic postprocessing routines at the Nordic Optical Telescope, which allow the observer to use IRAF imexam on an image that is displayed in ds9. Every time a new FITS image is generated and needs to be analysed, we currently have to kill and restart both IRAF and DS9 to allow a new imexam connection to be established. Killing only IRAF leaves DS9 in an unuseful state ('blinking cursor' mode) that does not allow a fresh imexamine session to be started.cheers,
John
|
|
|
|
fitz |
11/29/2007 12:44PM
|
|
|
Status: offline
Registered: 09/30/2005
Posts: 4040
|
Hi John,I don't quite understand what you're doing. Are you saying that as each
image is acquired you want it to appear in IMEXAM automatically, but that if the user doesn't do anything the next image should replace it anyway?
I don't think this can be done.The only XPA point in DS9 related to the cursor is one to allow you to set a position. When a cursor read is triggered it is a request from a client that puts the server into a 'cursor mode' (blinking circle), after that it's a cursor read in the server that stop it, however most tasks run in a cursor read loop. If you kill the IMEXAM task you can use RIMCURSOR to read the cursor and (most of the time) reset DS9, but I wouldn't recommend this as a solution. OTOH, if there are fixed set of keystrokes you always use, the you can use a cursor file (see 'help cursors' and set the 'imagecur' param to this file) to run them automatically and terminate properly with a 'q'. It may slow down the processing for images that don't need it, but it's fully automated. Another approach is to write a script to simply DISPLAY the image and then timeout or require a keystroke to start IMEXAM. However, it sounds like you want IMEXAM to be ready and available at all times, but may not use it for each image?? The default display connection is usually done on a unix socket, however there is a second inet socket open on port 5137 that is also active. I haven't tried it, but a second display client simply putting the image on the inet sock should render it in the display assuming DS9 isn't blocking at the cursor read. There may be other problems with frame buffer mapping if doing it this way so I wouldn't spend too much time looking into it.Otherwise, have a look at CDL (Client Display Library) in the X11IRAF package for ways to write you own custom display clients. Hope this helps.Cheers,
-Mike
|
|
|
|
| |
|
Content generated in: 0.09 seconds |
|