Peter Briggs: mapslice - a map viewer for CCP4i

User Requirements

The basic list of requirements from a user perspective is:

This list is not in any order of importance.

Programming Issues

The basic mapslice program will consist of Tcl/Tk code interacting with external (non-Tcl) code of some description. The purpose is to perform the following basic functions:

  1. Read in an arbitrary map section
  2. Generate contour lines
  3. Display the contours

My present thinking is that steps 1 and 2 should be performed by non-Tcl code, producing a set of Tcl drawing commands which are then executed by the Tcl code (step 3). Some possible ways of achieving this are:

  1. Use an external program to read sections from a map directly each time a section is required. Call mapmask to reorder the map axes if sections along other axes are required.
    a. Requires calls to two programs (speed)
    b. Requires creating external temporary map files

  2. Use an external program to read in a whole map each time a section is required. Any axis reordering can be done inside the program before generating the contours.
    a. Reading in a whole map is slower than reading in a single section

  3. As (2) above, but: the external program runs "interactively" with the Tcl code. Each map is read into memory only once.
    a. Difficulties with extracting Tcl information from the interactive output.

Beyond this are options (?) which involving interfacing the Tcl directly with compiled Fortran (or C/Fortran) subroutines to read in and contour the sections. I really have no idea at this stage how feasible this would be, and how easy it would be to maintain.

[Back to home page]