Mike,

Peter and I have put together a "to do" list from our old list and new requests and ideas. You may have yet more items that we haven't thought of yet. We have not prioritized the activities yet. We'd like you to look this over and the three of us can discuss more detailed priorities.

The list is organized into 6 groups:

  1. Ongoing Maintenance & development
  2. Completed, but we need feedback (e.g., does ESDIS like the plot features?)
  3. Left over from the previous list
  4. Remote access/JHS/ etc.
  5. Requested features, including Doug Ilg's list
  6. Requested but not currently promised
  7. Wish list

HDF Java Tools: To Do List

(April 1998)

(mcgrath@ncsa.uiuc.edu)

A. Ongoing Maintenance & Development:

  1. Fix bugs as needed
  2. Support and test on more platforms
    *Need to work on Unix ports
  3. Improved engineering, Modularize design
  4. Incorporate new Java technology as available, e.g.,
    1. JDK 1.2, Java Foundation Classes (STILL IN BETA)
    2. Java graphics support
  5. The User's Guide and other documentation needs wor

B. Completed, we need user feedback

  1. Plot features--many possible features
  2. histograms of values
  3. annotation of images
  4. Create distribution packages that include needed libraries (HDF, Java, HDF-EOS, etc)

C. Left over from previous list

  1. Improved visualization and analysis features
    1. Support for large images (i.e., too large for memory)
      Frequent complaints, this is a fatal limitation for many users. Needs much more work. (Also check Java 1.2 changes.)
    2. image handling (i.e., from a multi-dimensional dataset, from a series of images in a single file, and images from multiple files)
      1. tiling from multiple image sources
    3. Investigate animation for arrays with more than 3 dimensions
  2. Generate minimal numerical analysis (min, max, value range/frequency, etc).
  3. Extensibity so that users and third parties are be be able to add modules
    * this probably is much more than just modularizing the code....
  4. Provide a "clearing house" for contributed extensions
    * Will do a report on the Alliance Repo
  5. Display data attributes (metadata) in a structured, human readable format (not just a raw dump).
    *Need to get a clear specification of this
  6. Load (read):
  1. Save (write) all or user defined subset of the data to: binary array data
  1. Print images, plots, and data attributes.
  2. Provide setting and saving preferences (Default load/save format, window positions, views, etc)

D. Client/Server, Remote File Access / JHS

  1. Access to remote files
    1. Standard classes to access HDF files locally or remotely
      Prototype DONE -- need to be finished -- see below
    2. Experiment with candidate technologies, e.g.,
      1. servlets YES
      2. RMI NOT YET
        * note: examine vizAd
      3. Java Beans NOT YET
        * note: examine Tango, etc., Alliance Grid stuff
      4. Java/CORBA NOT YET
  2. Improvements for remote file access:

E. From the requested features list:

    1. Cannot generate a spreadsheet from an SDS. In Collage, this was the "native" depiction of SDSs.
    2. There are too many image windows employed. Their purposes are not very clear. Maybe some simple labels would make this more understandable.
    3. Spreadsheet shows numbers as if they were floats, regardless of type. Since spreadsheets are always from raster images and they are usually integers, this is a bit confusing/annoying.
    4. Similarly, many of the higher level objects are represented as folders. This makes obvious another level of hierarchy that is hidden by the HDF interfaces. Maybe a different icon (instead of a plain folder) for these compound or complex "objects" would make things clearer here.
    5. SDSs are displayed both as whole "objects" (as SDSs) and in their full gory detail (as collections of stuff under Vgroups). Very confusing.
    6. Field plots from Vdatas are nice, but adding some scaling options would be good. I can think of three options:
    1. "Radial Plots" is a misnomer for non-polar images.
    2. Vertical plots should be possible.
    3. When operations are performed on an un-zoomed image, no effects are seen in the zoomed area. Either an update button or a toggle for continuous update would be nice.
    4. After loading a largish attribute, the cursor doesn't revert to normal until the mouse is clicked (it stays an hourglass).
    5. The title of the tree panel reads "Hierarchy of the HDF." Expanded, this would read "Hierarchy of the Hierarchical Data Format." I think you really mean to say "Hierarchy of the HDF file."
    6. Feature request #137: Could JHV display the dimension scale values rather than the pixel values, for raster grids, such as when moving the mouse cursor over an image in the "Image from HDF" dialog?
    7. Feature request #156: Allow JHV to read in a palette description.
    8. Feature request, not numbered yet: Deal with Vdata entries order > 1
      Following is a response from the user regarding the order in a vdata, and what JHV should show. I kind of agree with him. Could we use a scroll bar, as he suggested, to view all the values?

      >The reason we would like to use jhv is to check the HDF files that we write.
      >Therefore, we would like to see all entries. By the way, what is the point of
      >fixing the maximum number of entries displayed to 3 in such a highly dynamic
      >language like java? If it doesn't fit in the window, you could just put
      >scrollbars around it.
    9. Feature request from REMcG: Selecting subset:
      Improve the selection of sub sets from browse images, especially large and 3D SDSs.

F. Requested but not currently promised, or Deferred, Cancelled

  1. Support for collaboration using the NCSA Habanero environment
  1. publicly available standard applets
  2. Complete test suite
  1. Java Classes which understand HDF
    NOT PLANNED EVER-- see WebWinds for limited Java classes
  2. Ability to handle HDF-EOS data in a manner that uses the HDF-EOS attributes/qualities.
    Possible new project
  3. HDF-EOS java wrapper or equivalent.
    NASA or Hughes should do this....
  4. Creating/Modifying/Merging/Editing HDF files
    Possible new project

G. Wish List

  1. HDF5 support?
  2. Integrate with Horizon?
  3. Integrate with Emerge?