MDPP Release Notes

This file contains news about the MDPP system, particularly items which may have altered since the last release. It is important to scan this file to make sure that there is nothing new in here that may alter your programming. Under the heading `BUG FIXES' are listed major bug fixes in this version. Under the heading `MAJOR CHANGES' are listed changes in old, debugged and working programs which have been altered for some reason. The heading "NEW COMMANDS" tells you what has been added in this version. Note that every release contains many undocumented bug-fixes for minor problems that were noticed as we worked with the package.

WARNING: The installation of Motif V1.2 for VMS, or (apparently) an upgrade to VMS V6.1 (VAX) kills older versions MDP. On the VAX, old versions of MDP will have access violations when images are to be displayed. On AXP, image windows are put up, but the images themselves are missing. These problems are due, it would seem, to bugs in the shared libraries for the FORTRAN binding of XLib. The release of MDP V94.100 and later use alternate code which is believed to bypass these problems. DEC has been alerted (don't hold your breath...). UNIX versions of MDP use the C library for XLib calls.


V95.250

This release of the MDPP provides the alpha/ beta code for ports to the SUN and SGI systems. There are still very many problems with this since it is probably impossible to adequately deal with all the architectural differences betwen the systems and get it right all at once. V95.250 is an interim release, essentially a placeholder while we complete the upgrade of the SUN and SGI systems to the latest revs of their respective OSs.

There is more to this release than the SUN and SGI ports, hopwever. Many bugs have been fixed, many uncovered by the SUN, SGI and new VAX compilers. Considerable effort has been made to tighten the code for the displays and the "Zoom and Pan" option has been added to the X-windows server. There are still things wrong, but thhere are many fewer! This set of notes will be augmented over the next couple of weeks.

- BUG FIXES:

The "red-blotch" problem that has haunted the program for years has been finally fixed, we think (and on all platforms too!). It was due to X-servers/clients using the top end of the color-table for their own colors, rather than low values. MDPP stupidly thought that all pre-allocated colors would be at the low end (e.g. 12, not things like 254, etc.) This messed up the creation of the mapping table. Now we look to see where the plane mask actually goes. Simple really.... - KNOWN PROBLEMS: (as of 19th January, 1996)

We have started to work though the examples in the example areas of the distribution. There are indeed numerous probelms which are getting fixed. The result of a repair will get posted as an updated executable image. For example several significant bugs in the SGI version have just been fixed and we are aiming to make sure that there are neutral as far as the DEC stuff is concerned.

Show-Stoppers
There are two: one is in the SUN version. Any operations involving FORTRAN direct access files are totally broken. This might not be so easy to fix, unfortunately, since SUN's FORTRAN is a bit primitive. Sadly, all the 2 and 3-D reconstruction code relies on direct access files, so these opeations are not available on the SUN right now.

The second effects all UNIX versions: operations that involve unit 2, the scratch disk buffer, may fail with bogus data. This is because the VMS version wrote formatted records in binary to that unit, and UNIX is mis- interpreting characters in these binary records as EOLs. The fix is to write unformatted records, and is implemented in a few places already. But not yet all....

V94.100 (Fifth DECUS release)

This is (yet another) maintenance release of the MDPP. The purpose of this release is to present the OSF/1 port of the system. This port is a little less complete that the previous Ultrix port, since we have been unable to finish the transfer of some of the foreign image formats, specifically, the RLE library. We have been able to get the BOOKREADER documentation working for Ultrix & OSF/1 and to re-build the FTP area with these new documents available. Also, the submission to DECUS will now be split into separate VMS and UNIX packages. You can still build a consolodated area with the full VMS+UNIX distribution in it, but you do not have to do so. The effect will be that the UNIX stuff will be a bit ratty for the next few months as I fill out the material.

- MAJOR CHANGES

- The versions of the software for the Alpha machines have been re-built using Integer*8 for the pointers to the array addresses. This is necessary for OSF/1 (64-bit technology strikes!), and is tolerated by OpenVMS/AXP: it does not work for VMS/VAX or Ultrix. The code in the source areas has been modified to contain the I*8 variables, which need to be altered to I*4 for re-compilation on the 32-bit machines. Since this code is fairly static, this does not seem to be too much of a burden. While this is a major chenge internally for the MDPP, it should not affect users.

- The VMS version of the program has been recompiled using the V6.2 FORTRAN compiler (VAX and AXP). As a result image sizes have reduced somewhat, and some minor probably cosmetic buglets were found and fixed. The reason for mentioning this is that this has caused the re-compilation of code that has existed (on the VAX anyway) un-touched for possibly as long as 10 years... This means that some of these programs may `explode' if run now. I need to know urgently if there are problems so that these new bugs can be fixed and the revised code made available via FTP.

-The algoritm for `popping' arrays has been changed. In the past a byte arrays was just thrown up on the screen, without attempting to fix the display to correspond to the array. Now, the mapping calculation is done to (hopefully) get a close match between the display obtained with regular `DV' and that obtained with `ZI', for example. This involves a lot more computation, but on an Alpha, its no big deal.

- `MT' has been altered to allow the user to specify an output format.

-`VL' now computes the layer-line powers when it runs. This allows you to follow individual layerlines in a regression search, for example: the powers are loaded into output registers

-`XL' now loads layerline altitudes into output registers.

- NEW COMMANDS

None.

- BUG FIXES

-A problem was found in the Motif Menu driver such that sub-menus nested below two-deep crashed the program.

-A major bug has been found in the UNIX versions of the program

which caused attempts to `malloc' additional memory to lead to a Segmentation Fault (what else?). This affected several programs, notably `VD' (for byte arrays) and `DK' (which was completely dead).

-A bug has been found in the management of the display in all versions of the program. This bug caused the image to jump by a pixel when re-popped over an existing image.

-A bug that caused points marked on the screen to be placed at the bottom left-hand corner of larger pixels has been fixed. The marks are now in the middle, as near as possible. Part of the same can-of-worms was the inaccuracy of vector drawing, especially in the FTs, now also fixed.

-`DV' probably failed to put the image title into line printer over-print image output. This is now fixed.

-`EL' The program was found to generate contaminated layerlines for arrays wider than 80 pixels if the array was `in core': the disk version was fine. The `core' version is fixed now. This is quite horrible, but there are two saving graces: first, if the error hit the array was so screwed up, you could not help but notice. Secondly, nearly every helix ever processed has been narrower than 80 pixels. This is how the error survived, unnoticed, for about 15 years. Yuck!

-`FF' The code in the FFT section of the distribution did not support prime factors up to 53, and I build at least one set of software with this stuff. It should be OK now.

-`MV' The conversion of an array to `Movie' format will not be done a second time if the array to be viewed is already converted.

-`XL' just blew up! It shouldn't any more.

-A pre-beta release of the OSF/1 version of the program (left for FTP) contained many bugs due to the increased (64-bit) size of array pointers (which the program still considered 32-bit).

- KNOWN BUGS

- There appears to be a problem with the color-table allocations on UNIX in cases when other programs use up all the colors and then release them. In this case, MDP (UNIX) does not seem to get the overlay plane graphics working properly and lines that should erase, don't. I am not able to re-produce the conditions so that I can figure out the problem, which is a pain since it is not all that rare an event. The (basically unacceptable) workaround is to terminate your X-session, and restart it. If/when I figure this out, there will be a FTPable image for the two UNIX platforms.

-`XL' was written to allow layerlines to be extracted at non-integer sampling levels. It seems clear now that simple FT is not the way to do this. A revised method is expected to be developed and distributed in the next release of the MDPP.


V93.200 (Fourth DECUS release)

This is a maintenance release of MDPP. There have been many bug fixes, and the Alpha component has been carefully reworked and completely recompiled under V6.1 of the FORTRAN compiler to use IEEE floating-point internally. The major new components are the MOTIF-based menu-driver that has been provided under both VMS and Ultrix, and the BOOKREADER documentation. The MOTIF menu-driver (created thanks to Suzy Gottesman's efforts) allows user-written menus to call MDPP procedures. V93.200 has been tested under VAX/VMS V6.0 (and works).

-MAJOR CHANGES

- The Alpha version now uses IEEE internal floating-point format. Therefore the libraries supplied here are incompatible with those in the V93.100 distribution: do not mix these libraries! There are command files that can be used to recompile the libraries called `compile-alpha.com'. Use these to rebuild the libraries by defining the `fr.com' procedure appropriately. Internal documentation from DEC suggests that there will be significant performance gains in the future from improved compiler technology. Re-compiling the code for the Alpha with each new compiler release is therefore a reasonable thing to do.

- Files are now saved in the internal format of the machine that is being used. Foreign formats are converted on input, and on output only if necessary (see the docs for the `SV' command). This has considerably speeded the I/O for the Ultrix programs. Files saved in native format can not be read by MDPP using V93.100 or lower (unless they are created on a VAX): generally files to be shared with the (slow) VAX should be saved in VAX internal format.

- The documentation has been reworked to a degree. Most of the obvious errors have been fixed, including the provision of a doc file for each command (about 14 were found to be missing). Additionally, the documentation has been provided for the VMS systems as in BOOKREADER form. In order to get the docs available we have just put them in, without a lot of prettying up: this will have to wait until the next release (if then..)

- New users complained that the buttons on the mouse under DECwindows were reversed relative to the instructional message on the screen. Accordingly the button order has been changed. This means that the buttons now correspond to the description provided by the program (no bad thing in itself). In order that existing users have their functionality unchanged, a new logical called `MDP_REVERSE_MOUSE_BUTTONS' has been added. When this is defined as `TRUE' (the default) the buttons follow the LH scheme that MDPP/DECwindows has used now for several years. New sites should, however, comment out the definition in the MDPP.COM file to use the button order that is consistent with the program instructions. [OK, this is a mess, but its the best I can do at this point in time. I hope to fix this in the next release. Sorry.]

-NEW COMMANDS

- The new Menu-driver created by Suzy Gottesman is the `jewel' of this release. It uses the same menu scripts that are used for the SMG-based menu-driver available under VMS, but puts the menus up as MOTIF menu windows. This works on VMS and Ultrix, so is the mechanism of choice on X-workstations. Functionality is identical on both platforms. Read the documentation about the menu system to learn more.

- The `RMAP'/'FMAP' function is now available. Get to it as an option of the `FI 2' command. This allows better compression of real images to byte: note this is a `lossy' image transformation. Don't expect too much from it, especially for Fourier transforms.

- The `XX' command has been enhanced by adding code to read Tim Baker's "Purdue" image format (options 9 & 10). Thanks to Tony Crowther, we now have the newest MRC code for their file reading and writing. This has been `fixed' to read files from most sources (SGI, VAX, Ultrix-RISC, Alpha). Thanks to these changes MRC file format is now available on all platforms.

- `ET' Extract tile. This is a new command to extract tiles from an image. The main idea is to be able to extract objects, such as single particles, from a large field. To go with this program a new file data-type has been created (called IMG_TILE) that will be propagated to other programs as necessary. The `FI' command converts between TILEs and 3D images.

- `MV' Movie. This command causes a movie loop to be run in a window. It was inspired by the movie seen at the Gordon Conference as a part of the IMAGIC system.

- `UB' Unbend. This is an implementation of the MRC's CCUNBENDA program, originally due to Richard Henderson. The code used in MDPP was obtained from Mike Schmid.

-BUGS FIXED

- `er 2' caused an error if no image was on the screen.

- `bt' would interpolate data with inappropriate weights on the default option.

- `io 1' creates a correct true-color image flag: this is largely a cosmetic fix.

- `nr' did not correctly compute max and min if the signs were changed.

- `sd' generated odd streaks on cut faces of models.

- `ts' crashed MDP if too few points were entered. It now generates an error message.

- `vd 9' has been enhanced to allow data to be generated for the `et' command and to produce data consistent with other programs that generate lists of points.

- The compute-server operation of the Alpha version almost certainly did not work. This has been tested for the basic tools: the DECCHAN option has not worked yet, however.

- Array value scanning did not work on the Alpha.

- The max-following cursor did not properly follow.

- Some legitimate FFT files were not correctly recognized by the programs.

- POPing windows sometimes crashed the (VMS) program.

- MRC data files can be read on all platforms (previously only the VAX worked). This now allows file-exchange with UNIX systems such as SGIs and SUNs that support the MRC format.

- Some displays (e.g. NCD X-terminals) erroneously fail to create popped windows in the correct place, or fail to warp the cursor to the correct location. There is now a trap in the program that gives you time to get the cursor into the window before extinguishing the popped window. For people using DEC displays, this manifests as a 0.5sec hesitation before a popped window can be used. Trust me, its an improvement.

- `jpeg' images can now be created using the Alpha version. A file-close problem was fixed for VMS, generally.

- All versions of MDPP can now generate CGM files. Some problems with the CGM image layout and scaling have been fixed as well. GPLOT has been added as a utility program to view these images.

-KNOWN BUGS

The bug in the FORTRAN runtime library that was present in V1.0 of OpenVMS/AXP is also present in T1.5 FT3: the same fix (replacement of the RTL) is required to make MDPP work. It is fixed in FT4, and in the V1.5 release.

The font grabbed by default from some X-servers is wrong. This can be fixed in the VMS version by defining the logical MDP_DECW_FONT to a working font. There is no similar work-around for Ultrix at this point.

-CHANGES FOR THE NEXT RELEASE

This is expected to be the last release of the MDPP that includes both the VMS and UNIX versions together. In future, the VMS and UNIX versions (which I expect will include a new AlphaOSF/1 version) will be submitted separately to DECUS. The preliminary version number for the next release is V94.100.

V93.100 (Third DECUS release)

The major change in this release of the MDPP is the port to Open VMS/AXP. The VMS gersion now checks to see if you are running on an Alpha and customizes itself to activate the correct images. This has increased the size of the distribution since both Alpha and VAX binaries are included, along with their object libraries. Because of the increased volume of the distribution, a new procedure, called TAILOR.COM has been included. The easiest way to help reduce the amount of material, however, is not to take it off the tape by excluding the unwanted files when the files are restored.

- MAJOR CHANGES

- The system has been ported to the Alpha platform under OpenVMS

- The point-editor for screen points has been enhanced ('VD 5') to allow points to be moved, and new points inserted into a list.

- NEW COMMANDS

- `GH 1' to generate projections of curved solid rods has been cre ated. It is used in the compass algorithm for helix straightening.

- BUG FIXES

- The output file option did not work under Ultrix. This has been fixed.

- The display of the image header was screwed up if it containied nulls: this is fixed.

- The loop and macro processors did not work under Ultrix, and the supplementary files options were broken under VMS. These have been fixed.

- Arrow-key cursor control did not work for the DECwindows drivers.

- `FD' was busted under Ultrix (and VMS too, if you thought about it...)

- `NR' would zero some non-real arrays without warning.

- `TP' did not correctly compute total powers of non-real arrays.

- `TS' had several bugs: in particular parametric distances were mis-calculated in some cases and buffer arrays would go out of bounds.

-KNOWN BUGS

- There is a known bug in the FORTRAN run-time library shipped with OpenVMS/AXP V1.0 which crashes any program that attempts to open a direct-access file and specify an associate variable (HOW do they do these things??). Now that V1.5 is shipping (in March, 1993) it is unlikely that anyone will have to deal with this bug which makes it impossible to run MDPP. If you have unpatched V1.0, you will need the new RTL before MDPP will run. As an additional Gotcha! once you have installed the fixed RTL there will be a bogus error message every time you exit MDPP coming from the RTL. I am assured this will disappear in the newer versions of OpenVMS/AXP. Note these are Alpha problems, only.

- The Alpha version will probably not support synchronous compute-service due to the fact that the control for network data reading has changed, and we have not been able to test (and fix) it yet. This `error' is related to the message about compilation warnings that you will receive on linking the Alpha version of MDPP: these warnings can be ignored.

- This version of MDPP for the Alpha has been compiled with default DEC G-floating internal floating point format. There are hints that this will impose a performance penalty and that using IEEE floating point will improve execution times. So we will try and see, but not until the next release which will be in about 3 months.

- For the most part the utilities for the Alpha have been transferred from the VAX using the VEST utility. Some of them generated errors: these have not been checked out, so there is a chance they won't work. The solution is to port the original code, but this will have to wait for a later release since we are not responsible for these anyway (excuses, excuses..).

- Other than this there are (as usual) no known bugs. So there!

V92.200 (Second DECUS release)

-MAJOR CHANGES

- The X-windows display drivers have been enhanced to allow the use of monochrome (8-bit) displays. The behaviour of the driver is improved, particularly in vector drawing (thanks Suzy!).

- A true-color (Ultrix only) X-windows driver is available as an option.

- The plane-layer reconstruction modules have been extended to allow management of 2-fold screw symmetries parallel to the X and Y axes, and also 4-fold symmetry `round Z, 2-fold around X & Y, and 3 & 6-fold `round Z. This adds up to 11 symmetries handled, up from 2.

- Menu processing under Ultrix is now supported. The full-screen menu system used under VMS is missing, but that is OK, since the functionality is there, but with the simple terminal interface (no SMG$ under Ultrix).

- Logicals have been added to control the number of images that can be left on the screen at a time, and the default X server. Look in MDPP.COM for more information.

- `FF' has been extended to deal with factors up to 53.

- `FI' has been enhanced to allow color-pallet extraction from true-color images using the octree method.

- `IO' has been enhanced to allow the reading and writing of RLE files used by PSC for image interchange. This is available under Ultrix only. Color-maps are now read from and written to TIFF files. JPEG images can now be read and written.

- `KR' will now dump a 3-D array to 2-D (if you want it to..)

- `LC' has been altered to work in the same way as other commands. Now the reference image is read in by LC, not loaded before LC is called. This allows images to be processed in a `pipeline' fashion without annoying file saves and copies.

- `MT' has been enhanced to allow additional messages to be added to the log file.

- `SO' has been enhanced to provide median averaging and some of the common edge-detectors utilizing a compass algorithm (e.g. Prewitt, Sobel).

- `SV' has been altered to allow the saving of color-maps and real-maps. This version is backwards compatible with previous versions.

- `TS' has been modified to use, as an option, the B-spline program that does some averaging of points as it generates its axis. This has been available in Semper for years: I guess I am just a bit slow to get things under way here... Note that the program is fine, but can have unexpected results if you try to make it go `round kinks. It won't: be careful.

-NEW COMMANDS

- `MB' Manipulate Binary image: includes binary image creation, erosion and dilation options.

-BUG FIXES

- STACKS under MDPP/Ultrix. Stacks were saved with the parameter information un-converted. This made the stack files unusable when moved from VMS to Ultrix and vice-versa. This has been fixed, but the result is that stacks saved under Ultrix with V91.300 are now useless. There is no good fix. What I have done is to re-generate all my Ultrix stacks :-(.

- 16-bit TIFF files: The TIFF-file reader had a bug when reading 16-bit images. Its now fixed. The TIFF stacks written by MDPP were not readable by NIH-Image. This has been fixed too. All this busted the reading of RGB-color TIFF: we fixed that too. We could not read TIFF files with multiple strips: we can now. Note that 3-D TIFF decoding is bugged: what we have will work with TIFF files from NIH-Image, but it may not work with files from other sources. Obviously I have to fix this at some point, but not today.

- "8-bit" colour display under Ultrix. The Ultrix driver crashed if the 8-bit display option was used. This has been fixed.

- A `rogue' phase-shift introduced in 3D reconstructions with `BT' has been removed. Its effect was only present if reconstruction option zero was selected. Its effect was to shift the neutral plane one section, no other effects are expected.

- The INPT command used in the loop processor has been fixed.

-'FD' was busted in the Ultrix version.

- `JF' was non-functional and has been fixed.

- `WA' was changed to make it work with 3-D images quite a long time ago but it was busted (i.e. never tested: blush). It is working now.

V91.300 (First DECUS release: highlights)

-MAJOR CHANGES This is a major update of the software, consisting mainly of the addition of Ultrix support and changes to make the VMS and Ultrix code run using the Motif window manager. We have tested the DECwindows/UWS support on VAXstations, Macintoshes (eXodus) and the DECstation 3100