The known problems have been categorized by application; those
which apply to many applications can be found in the
general category. This document covers
IVE 3.3. For IVE 4, consult http://msg.ucsf.edu/IVE/IVE4_HTML/Limitations.html
Overview |
IVE/Priism home |
IVE 3.3 FAQ |
General problems |
Image windows |
Processing applications |
Modeling applications |
Other applications |
IM library |
IW library |
WM library |
IP library
- Priism does not clean up properly if you log out or the X server dies
while Priism is running. Use of ivekill (see the answer to question 7
in the IVE 3.3 FAQ) can complete the cleanup job.
- A Priism session that did not terminate cleanly can prevent
image windows from working when Priism is restarted. A workaround
is to exit Priism, run ivekill (see the references for the problem
above), and restart.
- The HTML-based help system assumes that Netscape is installed
and can be run from the command line with a -remote option. If
this is not the case, you can use the old-style help viewer (this
can be set from the Help menu on the Priism menu bar) so that help
buttons in applications will work. The documentation in the HTML
directory of the Priism distribution can, of course, be viewed on its
own in an HTML browser of your choice. Also, the HTML-based help
response is slow.
- Copy Region and other applications based on the same platform have
the option when writing to append their output to an existing file
as additional wavelengths. If the existing file has an extended
header, it is not modified; this may confuse applications which process
the results.
- Applications which have the option of writing to a scratch window
can crash with the following sequence of operations: write to the
scratch window, close the scratch window from the window's menu, and
have the application write to it again.
- The layout of directories and files in the Priism distribution is not
compatible with those for an application in /opt according to
the Filesystem Hierarchy Standard.
- Some documentation, not directly related to deconvolution, references
the deconvolution documentation which is not included with the
publicly distributed version.
- (IRIX only) When a value is entered into a field and the next
action is to click on an adjacent menu, if the new entry causes
an error dialog to be displayed, the system becomes unresponsive
to most keyboard input or the mouse buttons (the mouse pointer will
still move). Pressing the escape key or the enter key on the numeric
keypad usually works to make the system responsive. Logging in
remotely and killing the offending application also works. It
is reported that the system will become responsive without intervention
after a long delay (tens of minutes); if that is too long, pressing
the ctrl-shift-f12-numeric key pad / keys simultaneously will
force the X server to restart (the side effect of this is that all
the X applications attached to that server will exit).
Return to overview
- The effect of different offsets for different waves (i.e. as set
with the Align program) is not taken into account when drawing graphics
on top of the images (except for object library graphics which are used by
Clouds).
- The section number display in the lower left of the image is
not properly cleared if it is longer or taller than the image
itself.
- When a scratch window is not full, it is possible to step past the
end of the sections that have been used so far.
- If an application is interested in mouse events from an image window
and the mouse pointer is in the image window when the application starts,
the application may not notice changes due to the mouse until the pointer
leaves and reenters the image window.
- Applications are not notified when the monitor window changes size.
So if they have graphics which are drawn in window coordinates (rather
than the coordinates for the image data), they will be not be able to
update their graphics are not able to update their graphics appropriately
(this affects picking regions in EMRECON).
- (IRIX only) When Priism is used simultaneously with an application
that uses a 12-bit color-indexed visual, colormap flashing occurs.
Examples of such applications include showcase, snapshot, and jot
from SGI and Chimera from UCSF's Computer Graphics Laboratory. If
may be possible to avoid the colormap flashing if the
other application's uses colors from the first 1000 entries in the
12-bit color table. If this is the case (as it is with showcase, snapshot
and jot), then setting the environment variable, IVE_FAST_GREYSCALE, to no
before Priism is started will help (at the expense of drawing speed for
greyscale images). If the other application uses the full 12-bit color
table (this is true for Chimera), then colormap flashing is unavoidable
with IVE 3.3.
- (IRIX only) Copying an image from an image window into showcase
with the image gizmo frequently just grabs a black image or an image
of a different section (the Priism window is double-buffered and
showcase may be reading from the wrong buffer). Forcing a redraw
of the image window, which is possible by selecting the Redraw
option in the image window's Image menu, can cause Showcase to
grab the correct image. For an alternative to the image gizmo,
SGI's mediarecorder is recommended; it reliably captures images
from image windows.
Return to overview
- The convolution, Filter 2D, and Filter 3D applications do not work
with complex data.
- CCDCor and Convolution are missing documentation in the old-style format.
- CCDCor assumes a maximum image size of 1024 x 1024.
- CTFPlot is missing documentation.
- The bead alignment and EMRECON user interfaces occasionally die because
of X window errors when parameter subdialogs are displayed or hidden.
- In EMRECON, if Massnorm's IprmFile is not set then can not find a
parameter file for X/Y region selection.
- EMRECON's Massnorm user interface has a new option to turn on and off
the identification of jumps in the background intensity. That option has
not been implemented yet in the backend which always tries to identify
and fit jumps.
- The documentation for EMRECON's Massnorm does not describe the sigma
parameter.
- The local contrast enhancement application will crash if the z field
is modified and no input file has been specified.
- The elliptically-weighted backprojection in EMRECON only handles tilt
series with widths up to 16384.
- For simplex, the extended header on the output is likely not correct
if the input wavelengths are drawn from multiple files or
if there is one input file and the wavelengths are reordered.
Return to overview
- In 3D Model, connecting a branch point in one object to a branch point
in another causes parts of the objects to be lost.
- In 3D Model, an attempt to connect an object to itself causes an
infinite loop.
- In 3D Model, deleting an object or point list does not update the
graphics shown in image windows.
- In 3D Model, dots added with the "just dots" option are not visible
unless lighting is on and the background is not black.
- If EditPolygon is instructed to load a file that is
not in the standard polygon format (for instance, an image file) then
it complains about the file having the incorrect format but dies anyways.
- Closing FindPoints via the window manager controls
does not cause the graphics generated by FindPoints to be removed from
image windows.
- Pick Points watches for presses of the tab key in the image window
to change the current picking mode, but Motif uses the tab key to transfer
focus from one dialog control to another.
- In Region Growing or Find Points, if region growing results for the
mask or masked input are only generated for a subset of the input z,
time, or wavelength values, then the extended header of the generated
data is not appropriately shuffled.
- Using the Region Growing application on a subset of the
input data has a number of problems (processing the full data set is ok):
the masked input data that is generated is incorrect, a mask that is
written will have the same size as the input data, the z and time step
values are present in the interface but are not used, and the origin and
time start values in the header of the output are not updated
appropriately.
- Tracer only works with image windows.
- With a synthetic test case (an image with two greylevels), Tracer and
3D Model's automodel did not perform because an early termination
condition in the search is sensitive to round-off error.
Return to overview
- View File and Volume Viewer are missing documentation in the old-style
format.
- EMACT occasionally hangs (typically because eminfo, the application
responsible for maintaining the EMACT Information window, crashes);
the apparent cause is a race condition but its source has not been
The problem occurs much more frequently on machines with less RAM
memory (it commonly occurs when the machine has 64 MB or less).
- Flip may thrash badly if the input is an image window and even more
so if the output is another image window.
- Line Profile's x, y, or diagonal profiles are not handled correctly
when the source image window displays multiple sections and the step
direction is not z.
- Line Profile's graphics in the image windows are aligned to the left or
bottom edge of a pixel rather than the center.
- The rendering of graphics drawn on images is different in MonToPS than
it is in the image window: graphics in window coordinates are not clipped
at the window edges; the scale bar label is not shown if it appears
in the image window; graphics from 3D Model are not shown.
- The Priism menu bar does not need resize handles.
- The Priism .hlp file is out of date.
- Projection algorithm in Rotfast breaks down as the tilt approaches +90
or -90 degrees (for instance get completely black image at +90).
- With tiffmovie on an O2, images in the movie may have rows or columns
along the edge whose image values are those of a previous section.
The output appears to be ok if the zoom on the image window is one.
Return to overview
- The mechanism for detecting when byte-swapping is necessary limits
the x or y dimensions of a data set to be less then 65536. The library
can not detect if byte-swapping is necessary if the x and y dimensions
of a data set are both zero.
- When an application uses IM calls without any calls to IWAlScl or
IWAlSecScl and writes a result to an image window, the results often do
not appear "right" because each section is scaled separately. The default
scaling done in this case should be drawn the minimum and maximum values
from the header.
- The result of writing to an image window or to a file
with the same data can be different because the automatic conversion of
floating-point values to integers handles rounding and extreme values
(those beyond the limits of the destination integer type) differently
for image windows and files.
- If IMRdHdr needs to swap bytes in the header and an
extended header is present with a symmetry group number of 0, IMRdHdr
can corrupt the heap if the number of bytes in the extended header is
less than the number of sections times the size needed to store the
integer and floating-point extended header values for each section.
- Passing a nonpositive stream number to IMOpen is not rejected
though its behavior is undefined.
- IMPutHdr does not adjust the internally allocated
extended header space if the new header values changed the size of
the extended header.
- Writing partial sections to resolutions other than
the highest resolution gives different results depending on whether the
destination is an image window or file.
- IMFixExHdr does not properly change the extended header
if wavelengths are rearranged (it does correctly handle the case where
some waves are omitted).
Return to overview
- Many functions have no documentation or very rudimentary documentation.
IWAlCursor is one.
- The Fortran versions of the functions assume that the Fortran compiler
mangles names by converting to lowercase and appending one underscore.
Any logical arguments are assumed to be false if, when treated as an
integer, the argument is zero and true otherwise; this is not compatible
with some Fortran compilers.
- IWCopyPartialData and IWTransformPartialDataType do not work with
data in the IW_COMPLEX_SHORT format.
Return to overview
- The Fortran function interface has not been documented.
- The Fortran versions of the functions assume that the Fortran compiler
mangles names by converting to lowercase and appending one underscore.
Any logical arguments are assumed to be false if, when treated as an
integer, the argument is zero and true otherwise; this is not compatible
with some Fortran compilers.
Return to overview
- Assumes at least one input file and only allows one output file that
is under the management of the framework.
- The required and window only parameters to IPAddInput are not honored.
- IPSetDisChgHandler assumes that the file's IM stream is one.
- A CLEAN_UP_PROC function registered with IPSetCustRoutine is not
invoked when the application is closed via the window manager controls.
- A UN_REG_DIS_CHG function registered with IPSetCustRoutine is
always passed one as the argument.
- For the FOUR_D and FOUR_D_WAVE options, the framework does not allocate
sufficient space for the input and output arrays.
- With the FOUR_D_WAVE option, the scaling is only set for the first
output wavelength and not any of the others.
- LoadFile in the EXAMPLE directory does not compile.
- The automatic allocation of input and output buffers could be smarter;
it always allocates space as if the application were processing complex
data.
- The argument passed along with the callback function
to IPSetCustRoutine is not used as expected for the CLEAN_UP_PROC,
AFTER_DO_IT, and NEW_XYAREA functions. Instead, the function registered
with CLEAN_UP_PROC is not passed anything, the function registered
with AFTER_DO_IT is passed the argument registered for CLEAN_UP_PROC,
and the function registered with NEW_XYAREA is passed the argument
registered for NEW_REGION.
Return to overview
modified November 15, 2003
IVE Development Team (ive-web@msg.ucsf.edu)
Macromolecular Structure Group, UCSF (http://msg.ucsf.edu)