About
ATV.PRO (Aaron's interactive front end for idl TV )
Contents:
What atv is, and why I wrote it.
Back when I started using IDL a
lot, around 1998, one thing I wanted
which didn't really exist at the time was an interactive
image-display tool optimized for viewing astronomical CCD images.
There are a
lot of nice image viewing programs out there, like SAOimage
, which are usually designed to work with IRAF or as stand-alone
applications (see here
for a list of other image viewers), but for working in IDL it would be
far easier to have a display routine written as an IDL procedure.
In order to learn how to use IDL widgets, I started writing an image
viewer which would do some of the things I wanted. It
seemed like something that would be useful to other IDL users, so I
made it available here. The program is written entirely in
IDL. It's very easy to use within an IDL session and it's also
very simple to add new routines, buttons,
menus, or whatever. It looks a lot like SAOimage or DS9, so
if
you're
used to using those programs, then you'll probably get used to ATV
quickly.
The overall design goals for ATV are
- Usefulness- ATV should help you to look at your data in a way
that enables you to get your science done
- Ease of use- ATV should be fast, easy to learn, and not suffer
from excessive feature bloat or unnecessarily complicated menu options
- Stability- ATV should almost never crash under normal operation,
working with standard astronomical image formats
For detailed instructions on how to
use atv, see the instructions page .
ATV requires
IDL version 6.0 or
greater. This makes it possible to use some very helpful new
widget features that appeared in IDL 6.0.
One nice thing about ATV is that
you, the user, can easily add new
features or link your existing IDL programs to ATV. For example,
you can easily define a keyboard shortcut that will pass the current
cursor position in data coordinates to an external IDL routine.
Also, all of the ATV internal variables are
stored in common blocks, so you can have another program access the ATV
variables by declaring the ATV
common blocks in your program.
What
atv can do for you.
A quick list of atv's main
features:
- Display of 2-d images with a variety of scaling, color map, color
stretch, zoom, and rotation options
- World coordinate system information is displayed if available
- Labeling and overplots to annotate images
- Image output in a variety of formats
- Display of line plots, surface plots, and histograms of data
regions
- Quick-and-dirty photometry and image statistics
- Image blinking
If you're used to using DS9 with
IRAF, you'll notice that ATV has some great advantages:
- It shows you actual pixel values as you move your cursor around
the image, not interpolated approximations like what you get when you
use the "display" task in IRAF
- It's very easy to change the image scaling parameters such as the
minimum and maximum pixel values that get mapped into the color table
- The asinh scaling works really well for most images
- The autoscaling routine is done by estimating the sky value and
sky sigma, so the default autoscaling parameters work pretty well- this
means you can often read an image into ATV and it will just show up
pretty much the way you want to see it, withouth having to do a lot of
mucking around with the image scaling parameters
- Working with large images, ATV can be a lot faster and more
responsive than DS9
- While ATV is not as feature-rich as DS9, ATV's menus are a
lot simpler and easier to use
Known
weirdnesses.
These are peculiarities of the
program that can't really be
classified as bugs. Some have to do with inherent limitations of
IDL widgets, and others have to do with how IDL behaves differently
under different platforms.
- If you're using a system that
has fewer than 3 mouse buttons,
you may not be able to access all features of the program. I've
attempted to make many features for buttons 2 and 3 accessible in other
ways (i.e. keyboard shortcuts), but some features require having 3
buttons.
For example, if you've only got 1 button, then you can only use 1 blink
image. If you are using a Linux machine that has 2 buttons and
emulates
a 3-button mouse by holding both buttons down, then blinking may not do
exactly what you expect for the second and third "blink" images.
- The way IDL widgets work, the best thing to do is to define the
widgets using the default fontset, rather than to specify a particular
font, since different platforms may have different fonts
installed. The result is that the layout of the buttons and
windows in the ATV window will depend somewhat on your platform, window
manager, and default font
size. This snapshot gives
you an idea of what the ATV window is intended to look like. If
your
window manager uses really big fonts, you can just resize the ATV
window
to make things fit better.
- The inner workings of ATV are based on IDL event handlers.
If you have another IDL routine running from the IDL command line
prompt, or from a blocking or modal widget, then the ATV event
subroutines may not be accessible until the other routine finishes what
it's doing. For example, if your main IDL prompt is waiting for
input at a "read" statement, or something like that, then ATV won't be
usable until after that read statement takes its input. There's
nothing that I can do about this; it's just how IDL widgets work.
So if your ATV window appears to freeze, the most common reason is that
there's another IDL program running which
is blocking the ATV event routines from executing. ATV will also
freeze if you have another IDL program that hits an execution error or
a "stop" statement.
- Fractional pixels are handled in a very simple way, which
forces the lower left corner of the viewport to display a complete
pixel. You might notice this when displaying an image with a very
high zoom factor. This is a direct consequence of my own
laziness. Fractional pixels might be handled better in a future
version, but this isn't really a high priority.
- In some window managers, window resizing can be a little
finicky. I've gotten it to work pretty well in Linux with the
metacity window manager, and in Mac OS X. If you resize the
main window and
things come out looking a little funny, just give the corner of the ATV
window
another little nudge to resize it just a bit, and that usually sets
things
straight.
Currently known bugs.
Since I don't have all that much
time to debug and test ATV, it's
likely that there are some bugs hidden in the program which I haven't
discovered yet. If you find a bug, send me an email and tell me
what
went wrong, and please be as specific as possible about what you were
doing
and what IDL version and platform you're running. Currently
known bugs are listed below.
Disclaimer.
This software doesn't come with any
warranty. It may contain
bugs. Please
bear in mind that this program is a work in progress, and it is
gradually being updated and improved.
The ATV photometry routines are,
for now, intended to be used for "quick and dirty" photometry only, not
for publishable-quality results. If you need to do accurate
photometry with well-determined measurement uncertainties, there are a
variety of options available that will do a much better job than ATV.
Comments, complaints, suggestions?
If you've tried atv and have any
complaints, comments, bug
reports, or suggestions for further improvements, write to me at barth
[at] uci [dot] edu. I don't promise to add every
feature that people request, but I do keep a list to keep track of
suggestions and I try to handle bug fixes relatively quickly.
If you'd like to be on an email
list for occasional announcements about new releases of the software,
just send me an email and say that you'd like to be on the ATV mailing
list.
Last update: September 1
2007
Back to the main atv page.