FAQ for fuview.pro and i_info.pro

This page is for users of the above described software. This FAQ is now at version 1.0 (1-19-06)

1.0. What is this stuff?

Fuview is our workhorse viewer for IMAGE/FUV. It is based on browse software written by members of the POLAR team and is developed in a Solaris 8.0 environment. Harald Frey worked to convert the thing to read UDF data. It works pretty well. The guts of this code are in main_scr.pro, but it is generally called using fuview.pro. We recommend that, anyway.

1.0.1 What do I need?

All you need now is UDF . There was a time that you needed to download the LANL IDL-DLM for UDF , compile it yourself, and download the FUVIEW software from Berkeley. Then you needed to get them to talk nicely to each other. This is no longer the case.

UDF is the IMAGE filesystem. The IDL codes expect the data to be installed in particular places, and properly byteswapped for your machine architecture. UDF comes with a lot of tools, one of which is the IDL2UDF interface (replacing its LANL DLM counterpart). Now that it has been ported to play nice with IDL2UDF, FUVIEW is also distributed with UDF (i.e. can be installed using tools that are part of UDF).

If you are going to look at IMAGE FUV data, you are going to have to buckle up and install UDF. Or have your sysadmin to it. Or download CDFs from Goddard. In this last case, you are on your own and responsible for your own software.

1.0.1.1 What else?

1.0.1.2. Why do I need this?

"It's the interface, stupid." - various authors.

The GUI interface for fuview is basic and useful. It allows for quick browsing of the data, export of data to a variety of formats, keogram creation (geographic and MLT now both work). The color scaling is not automatic right now, it always needs to be adjusted for WIC, for example. But this is *the* browse tool for IMAGE/FUV. It also now allows for dayglow subtraction and conversion directly to FUV brightness from counts using the latest calibrations from stars (which correspond well to the lab calibrations).

"...almost all programming can be viewed as an exercise in caching."  - Terje Mathisen, quoted by Michael Abrash, "Ramblings in Realtime"

Sometime you will come to a point where you want to process 100 images. Or 1000 images. And you do not want to have to reextract the data by hand from the UDF files over and over again if you are continually changing your analysis or plotting package.

The i_info program writes about anything you can think of for a particular UDF image to the harddrive (no housekeeping, though). It's all contained in a single structure, imageinfo, which the fuview.pro software uses and passes around. Fuview and i_info both output the same imageinfo structure. If you know you need 200 images now, i_info may do it. If you want to browse 10 different days, fuview is definitely for you.

1.0.2. How do I install it?!

This is the installation documentation for the software. Yes, it is small! But this is only because it is covered at the UDF site very clearly. The installation software gives you the opportunity to enter them by hand. They will appear there if they are already defined. Below is an example from our Sun system:

setenv UDF_ROOT      /home/udfadmin/SUN/uHome/
setenv UDF_HOME      $UDF_ROOT/uCore
setenv UDFTOOL_HOME  $UDF_ROOT/uTools
setenv TCLTOOLS_HOME $UDF_ROOT/tTools
setenv IDLTOOLS_HOME $UDF_ROOT/iTools

<>and finally:

setenv IDL_DLM_PATH "$UDFTOOL_HOME/UDFToIDL:<IDL_DEFAULT>"

As you see, we have a udfadmin user and the UDF software is all installed in that users directory, with proper permissions set to allow all other users on the system access to the files. One system dependent variable that you will also have to set at least for UDF installation is  XLIB. Two examples:

Linux
  setenv XLIB /usr/X11R6/lib/libX11.a
Solaris
  setenv XLIB /usr/openwin/lib/libX11.a


Setting all of these environment variables right up front is crucial, and this is described clearly at the UDF site.  Once you have the easytclinstall.tcl file downloaded from Marshall and have run it, you can install the rest of the important UDF components using UDFLibrarian. This includes, in particular, the UDFTOIDL package under UDFTOOLS, and (drum roll please...) FUVIEW in IDLTOOLS . The FUVIEW installation will require that two environment variables be defined, FUVIEW_HOME and FUV_HOME. I set them as follows:

setenv FUV_HOME /home/immel/sci/fuv
setenv FUVIEW_HOME /disks/sprite/image/fuview

The first is for FUVIEW to know a default location to dump its output. Second is where FUVIEW will be installed. You could just as easily have it in $UDF_ROOT/iTools/fuview.

<>If you want to have your very own custom config file, create a directory in your $HOME called ~/.fuview. In that directory you can place an fuview.cfg file, with your particular output directory, etc. It is not something I use, but may be useful to you. Don't forget that in updates of fuview, this file may change (it should now have 9 lines), and you will have to replace your old file with a new version which is installed in the root directory of the distribution.

To run it, type the following at a terminal window:

> cd $FUVIEW_HOME

> idl
IDL> @fuview

i_info is a command line tool run differently. It's simple. For instance, say you want all the imageinfo structures for images taken between 10:00 and 10:10 UT on Day 100, 2002. At the IDL command line, you enter:

IDL> i_info,[2002,100,10,0,0],[2002,100,10,10,0],'2'


The result is that the following files will be created in the local directory:

> ls -1 *.idl
s1320021001000.idl
s1320021001002.idl
s1320021001004.idl
s1320021001006.idl
s1320021001008.idl

The structure saved in each of these idl savefiles is described in detail here.

1.0.3. It doesn't work!

Why not? Tell me what the problem is. It is possible that I left a file out of the distribution.  Or there are bugs. If you fix a bug or add a feature, please let me know! As I get reports from users, I will update the distro/source, or post fixes to common problems here.

>Solutions to Common Problems<

1:Problem! "fuv_read_udf is not defined" "UDF_KEY not defined", etc. Answer: The UDF DLM probably didn't get loaded. The $UDFTOOL_HOME/UDFToIDL directory is probably not in your IDL_DLM_PATH. In IDL, type:

IDL> help,/dlm

to see what dynamically loaded. Chances are, UDF is not in the list you see.

2: "the pointing is messed up!": If this is the case, you are looking at a period where the SC axis information contained in the FUV data stream is not accurate enough to take care of the nutation of the spacecraft. We are working on this final pointing issue with IMAGE-FUV.

3: "This thing does not work at all on my Windows machine!". None of this worked until very recently on Windows. Using the LANL UDF/DLM, Haje Korth at APL figured it all out and made some very useful changes to the code which opened up the software to Windows users. You will need v6.0 of the fuview code to take advantage of his changes, and the udf.dlm files that are available on his site. All Windows users using FUVIEW owe Haje beer. Then they owe Chris Gurgiolo beer because his software also allows for a pretty easy port of FUVIEW to Windows.

4. "This thing won't work on my Mac! I get a libpidf.so not found error". From Mac OS X 10.4 onward, there have been issues that needed resolving. You have to add to your DYLD_LIBRARY_PATH environment variable the locations of the dynamically loadable components of UDF. In my case on the Mac, it looks like this:

setenv DYLD_LIBRARY_PATH $UDF_HOME/lib:$GPH_HOME/lib:$UDFTOOL_HOME/lib:/usr/X11R6/lib:/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources:sw/lib

That's ugly because of the fink stuff I need working.

5. "This thing won't work on my Linux box. I get a libpidf.so not found error". See above, except on linux you simply have to adjust LD_LIBRARY_PATH. 

1.0.4. I type main_scr and it just compiles a bunch of stuff!

If you are trying to run fuview, you should run fuview.pro from the idl prompt like this : IDL> @fuview. You can actually have fuview.pro anywhere, as long as you edit it and under the 'unix' section put the current path to the home directory of fuview. (the same as $FUVIEW_HOME).

1.0.4. I type extract_imageinfo and it just compiles a bunch of stuff!

To run this software, first type ".run extract_imageinfo.pro" at the IDL prompt (once you are in $FUVIEW_HOME). NOW you have to type main_scr. That is the driver procedure for extract_imageinfo that is in the file extract_imageinfo.pro.  Maybe we should change that, but it really is not a big deal.

1.1. How do I make an idl file?

There are a couple of ways.

A. Run fuview, and select more than one time from the listing on the right-hand side of the interface. Go to the file menu, select output, and the type of output.  Many types of files, including IDL files containing the imageinfo structure, can be dumped in that directory.

B. When browsing through images using extract_imageinfo, you can dump the current image with the D key (plus enter)

C: You can specify a whole range of records(times) from an opened UDF file using the E key, then entering the requested record numbers.

Below is a summary of the commands you can enter at the extract_imageinfo prompt. I don't think [P] works.



C : [C]hange output directory: /home/immel/sci/fuv/
S : [S]kip to particular UDF file.
J : [J]ump to record #X (current is  0).
I : show [I]mage for current record.
B : show [B]ackground-subtracted images instead
D : [D]ump current imageinfo to file.
E : [E]xtract a range of times from the current file to disk.
P : [P]rint numbered list of files for this time.
Q : [Q]uit this program.


1.1.1 Where did the file get written?

Exactly where you told it to go. :P The default place for fuview.pro is defined in line 7 of fuview.cfg to be $FUV_HOME/output. With the command line extract_imageinfo and i_info interfaces, if you don't like the output directory default, hardwire your own. The directory you define at the prompt or in the code MUST have a '/' after it. Yes, this is fixable. No I don't have a spare second to do it.

1.2 I accidentally deleted all my IDL files that I created. What do I do!?????!!?

If you were using extract_imageinfo, go look  though the logfile directory.  Paste the entire contents of one of those files on the extract_imageinfo prompt, and it will go through all the motions you did (except displaying the image [by typing "I"]) and re-extract the info. This works well, and will even consecutively open a number of different UDF files if that is what you asked the code to do.

1.3 I am having dificulty driving this fuview thing.

Maybe a few hints will help.
1) Whenever you are displaying a WIC image, you should immediately increase the top of the color table to at least 3000 (vs. the default 300). I usually got to 12000 or 18000.
2) When doing dayglow subtraction, it may be easier if you select the linear scale. And I do not recommend significant changes in the "power" of the dayglow for WIC.
3) You should generally not select "Open -> FUV UDF Set" from the File Menu, but rather UDF File (Individual). That is, unless you really really want to see images from all three channels at the same time.