These directories contain the configuration files, help, and executables for the 3.3 version of Priism released March 22, 2004. The libraries and include files needed for IVE programming are also included. Priism_setup is a sample file for setting up the environment variables needed by Priism. It is in csh syntax and is meant to be sourced from a .cshrc. There is additional documentation in the HTML and HELP subdirectories and at http://msg.ucsf.edu/IVE Significant changes since November 17, 2003 version --------------------------------------------------- IWL library - Bug fixes: Corrected broken byte-swapping of complex data represented as two 16-bit integers. Protected against integer overflow when scaling a very limited floating-point range. Removed artifacts when scaling complex-valued data by its phase that were due to the handling of atan2(0,0). WM library - Added a C interface to the iomenu routines. Bug fixes: Corrected a problem that could cause the iomenu interface to not overwrite a preexisting command file via NFS. Corrected the iomenu interface to write out the time range command-line option if the time step is different than one. Also modified the iomenu interface to reset the time step when the user selects a new file. Added documentation for the iomenu interface. Priism apps - (internal version only) Modified the deconvolution application to include dpeth-dependent deconvolution and the ability to use pupil functions or non-radially symmetric CTFs as the description of the imaging conditions. The handling of apodization (no more like standard tapering) and the smoothing filter (if the analytic expression would be significantly trucated in the frequency domain, compute in the spatial domain and transform) has changed. Added some command-line applications (phretavr, pffit, pf2psf, and pfimage) to manipulate pupil functions. Bug Fixes: Fixed mrc2tiff and mrc2txt so they work correctly when processing less than the full x/y image size. Monitor->Scale and Line Profile did not trap atan2(0,0) when working with the phase of complex-valued data; now use 0 as the phase in that case. Monitor->Scale would crash for complex valued data (introduced in November 17, 2003 version). Fixed problems that could cause Line Profile to report the incorrect width for the closest peak or to garble the displayed peak width values when there was no peak. Modified Line Profile to keep the z and time values in the XYZT field in sync with the displayed section in the current window and to not reject edits to the XYZT field. Significant changes since May 20, 2002 version ---------------------------------------------- In the publicly available version, removed the deconvolution application at the request of Applied Precision. Also removed the related sample CTFs, applications to help generate CTFs, and documentation. IWL library - Bug fixes: Application could corrupt shared memory if it called IWAlSecScl, IWAlSecMMM, or IWAlZWTMMM with an out-of-bounds section index. A notification event was not always sent after a write to a scratch window rotated the scratch window buffers (noticeable with interactive stereo output from Volume Viewer). Turning off display of graphics (via Options->Attributes in the image window or IWAlGrDis) now affects all 3D Model graphics as well. Changed IWGrAddMultStr, IWGrAddMultStr2D, IWGrAddLns, IWGrAddLns2D, IWGrAddMultLns, IWGrAddMultLns2D, IWGrAddPoly, IWGrAddPoly2D, IWGrAddPts, and IWGrAddPts2D to assign the graphics ID based on the correct z index. Changed IWGrAddMultStr and IWGrAddMultStr2D to correctly copy the label coordinates. Modified IWAlSecScl, IWRtSecScl, IWAlSecMMM, IWRtSecMMM, IWAlZWTMMM, IWRtZWTMMM, IWAlSecThreshold, and IWRtSecThreshold to operate on parameters that apply to all resolutions. WM library - Bug fixes: Added protection against buffer overflows in the user interface fields for floating-point and integer value entries. For applications using WMAddDoButton, the application's X windows would remain visible after the application exited until all launched processes exited. Calling WMAddScrolledList with an initial item count of 0 no longer generates a Motif warning about a mismatch between XmNitems and XmNitemCount. Fixed a memory leak in WMAddScrolledList. Ensure that file names copied from a file selection dialog do not exceed the maximum length set via WMAddGetFile. Submenus created without a title bar and only resize handles as decorations now have the window manager exit function disabled like all other submenus. Monitor - Added menu option to manipulate the display of the section number graphic. Changed to automatically adjust the resolution displayed when the zoom changes. Bug fixes: An image window could crash or display incorrect results if asked to display multiple wavelengths as RGB using different offsets for the different wavelength and a zoom different than one. For hardware stereo (either per-window or split-screen) and tilt series about y, ensure that the left and right eye views are consistent with the geometry regardless of the sign of the rotation angle increment. For split-screen stereo, did not correctly display images if interpolation was on and the zoom factor was greater than one. Fixed so that overwriting an image window not currently displaying the highest resolution does not result in garbled images. Modified so that stepping in z or time with the cursor keys keeps the multiple waves in synchrony when images are displayed in matrix mode with the step direction in waves. Free memory allocated for an extended header when an image window is overwritten or deleted. If a set of preferences whose name had whitespace in it was made the current profile, the default settings would be used instead. Priism apps - Added radialft_asym and superimpose_psf to assist generation of the CTF file needed by deconvolution. Added LCE 3D, a simple-minded 3D extension of the local contrast enhancement application (LCE). Added mrc2txt to export image data in ASCII format. Added an application to manipulate alignment parameter files for EM reconstruction: can scale the shifts for resampling of the data or adjust the projections included. Added an application to recalculate bead list coordinates for changes in sampling, image origin, and projection indices. Added Volume Viewer variant, VolViewNet, which can use a cluster of Alpha Linux machines to perform the rendering calculations. Added Watershed which implements a watershed segmentation algorithm. Applications which previously used SGI's complib (deconvolution, ffilter, FFilter2D, FFilter3D, FPwrSpec2D, FPwrSpec3D, FTransform2D, FTransform3D) now use FFTW. Modified the bead alignment applications to accept input parameter files in the .bprmMn as well as the .bprm format. Added an input parameter to bead_finder and bead_chaser so the user can have them perform the segmentation on a lower resolution (helpful for low SNR data or to speed up operation). Reworked the interactive bead list editor for bead alignment. Editing of matched lists now allows generation of matched lists from scratch and reduces the amount of clicking necessary to reposition a point. In Clouds, added the ability to generate unbinned measurements for measurements involving randomly generated points. Made the deconvolution application's default mapping of lens number to CTF file configurable. To allow for high-boost filtering, allow a scale factor to be specified for Filter2D and Filter3D when using the enhance mode. Also changed Filter2D and Filter3D so the Laplacian of Gaussian filter could be used in the enhance mode. For FindPoints, added the option to refine peak positions by fitting to a Gaussian profile. For FTransform2D and FTransform3D, added the ability to apply a phase factor during the transform and to output the result with the DC component centered in the image rather than at the lower right corner. Modified the command-line application header to print out all extended header entries if it does not recognize the extended header format. Added an option (-a) to force output of all the extended header entries when header does recognize the extended header format. Modified LCE so that it displays the parameters for the contrast and mean weighting functions in addition to the curves. Modified Threshold to accept three different selection criteria: above or equal a threshold, below or equal a threshold, and an arbitrary expression. Bug fixes: For the graphical interfaces to command-line applications (except the EM alignment and reconstruction interfaces), no longer redirect standard output if the log file parameter is empty. Also made the error message less cryptic if unable to generate the script file. Modified command-line applications to not output null characters when printing file names to the log file. Changed 3D Model so it does not crash if it is unable to open the TIFF output files while generating a movie. Changed bead_inder to improve speed and more gracefully handle situations when the number of candidate features would exceed an internal limit. Modified bead_finder and bead_chaser so they no longer assume the image data has dimensions less than or equal to 1024 x 1024. Reduced the run time of bead_chaser. Corrected the handling of limited range of projections in the final stage of bead alignment. Modified the interactive version of bead_align to update the image window and error bar display when beads are added and deleted. Fixed BlendColors so that the 3rd and 4th scaling parameters are reset when a new data set is loaded from disk. ccdcor no longer fails if the file does not have an extended header. The Clear Graphics image window function now forces the background to be cleared so graphics not in the window disappear immediately. Changed Distance to allow it to work with complex-valued data sets. Fixed Clouds so that the full range of supported measurements is available. Corrected the mean value reported by Convolution and NewConvolution. decon and ffilter no longer use a fixed size work array to hold the radially symmetric CTF for 2D processing. Correct the minimum, maximum, and scaling set by EdgeEnh when processing two z sections. Corrected Edit Header's behavior when the input file is a directory. For EM reconstruction, changed the picking of the XY region to use a robust method to determine the alignment parameters for the displayed section. The EM alignment and reconstruction programs now generate file names by looking for the last period and stripping off the remainder rather than looking for the first period. MASSNORM will now run if the input parameter file is "none". EWBP now handles data up to 16384 pixels wide. Correct mean value EWBP wrote to the reconstruction's header. EWBP and TAPIR now force the pixel spacing of their output to be isotropic. Examine Data no longer crashes if the user shrinks the height of the dialog to the point that no values are visible. Fixed a problem that could cause FindPoints to crash during region growing. Changed FindPoints to avoid numeric problems when calculating widths. Changed FindPoints so the threshold are always updated with the curve fit rather than only updated if the histogram is open. Removed an internal restriction that limited the number of object per section to 256. The ffilter front-end no long complains about an unreadable file if the optional CTF input file is "none". The ffilter front-end now correctly passes the z padding and 2D processing options to the command-line application. Corrected how FFilter3D and FTransform3D transfer the extended header when processing a subset of the input sections. Corrected a problem that caused FTransform2D and FTransform3D to trim the output on a forward transform even though the resize controls were disabled. Corrected a problem with FFilter2D, FPwrSpec2D, and FTranform2D where the first section written to a window used the per-section scaling parameters if the first section of the input was filled with zeroes. Corrected a problem with polynomial fits to complex data in FFilter2D, FFilter3D, FPwrSpec2D, FPwrSpec3D, FTransform2D, and FTransform3D. Fixed LCE to respond better when the window is resized. The continuous sampling mode in MeasureFPS reported incorrect results when no samples were recorded. mrc2tiff had a memory leak and did not disable the template field at startup. Changed Merge/Reorder so that saving a file with different interleaving did not scramble the sections. Fixed Normalize so the first section written to a window is not scaled differently than the rest. In the case where the header's "sampling interval" values were different than one, Line Profile used incorrect values for the pixel spacing in the calculation of the peak width in header units. Fixed. Corrected coercion of z upper bound in Region Min/Max/Mean when the upper bound is too large. Resample2D would force manually entered output sizes to be multiples of four. Corrected a problem with the perimeter average calculation in Rotate3D/rot3d. The rolloff calculation in those programs referenced uninitialized variables. Fixed three bugs in rotfast: interpolation could interpolate beyond the array bounds, incorrectly computed projection for tilts between 90 and 270 degrees, and incorrectly set header for correct model display. Scale no longer assumes that the x, y, wavelength, and time dimensions of the data are constant (prevents Scale from crashing when used on Volume Viewer interactive output and the rendered size is changed in Volume Viewer). Modified tiffmovie and 3D Model to save TIFF files in the default orientation since the baseline TIFF specification says a reader may ignore the orientation tag and assume a top-left orientation. Volume Viewer did not correctly account for prior rotations when setting the tilt angles for the output. The origin and pixel spacings for the movie mode did not correctly account for the zoom factor. For interactive stereo display, the origin was computed incorrectly. For interactive display without stereo, overlayed graphics were rotated relative to the image by the amount of the stereo angle. Fixed an array bounds violation which affected Volume Viewer's input scaling display. Volume Viewer no longer forces the image window into a 2 x 1 display mode if the image window is already using hardware stereo. Significant changes since November 26, 2001 version --------------------------------------------------- IWL library - Added IWRtThreshold, IWAlThreshold, IWClrThreshold, IWRtSecThreshold, IWAlSecThreshold, and IWClrSecThreshold to retrieve and set a recommended threshold level. Bug fixes: On OSF1, IMTrExHdr2 would fail if there were zero integers or zero floating-point values per section. WM library - Bug fixes: Plugged memory leaks in text, integer, and floating-point fields as well as in the old-style help viewer. IP library - Bug fixes: If the z field was modified while no input file was open, an application based on the IP framework would die. Priism apps - Added mrc2tiff to do a straight conversion to TIFF. Scale remembers the bounds of the histogram display for each wavelength while running. Added a binary option which sets the recommend threshold level. Bug fixes: In 3DModel, deleting the current point could cause a crash or corruption of the model. In 3DModel, choosing to load a set of colors from file would proceed after pressing Cancel in the file selection dialog. In 3DModel, the lines for branching models were shown in different colors if the model had labels or markers in a different color than the expected line color. In 3DModel, a leading space was inserted into object and point labels when a model file was loaded. applycal would improperly complain about opening the bad pixel list on Alpha Linux systems. BlendColors ignored the setting of the Mode menu and would recreate some dialogs rather than reusing an existing one. Cubic or higher order polynomial fits in the 3D Fourier Tools applications would fail with a message about a singular matrix. deconvolution with the force 2D option now allows disabling of the prefilter by setting the prefilter limits to 0, 0. In FindPoints, adding or deleting points from data which had the additional results from region growing was not handled and caused corrupt output point lists. FindPoints could crash in looping mode if polygons were not used and there was a non-zero minimum point separation. In some cases points rejected by the minimum separation criteria were included in region growing. In the entire data set processing mode, FindPoints would only display the histogram for the first object in a wavelength and time point. The histogram also was not updated when a new object was selected. The preferences editor would leave the save option disabled when a new profile was created. RegionGrowing had a large memory leak. Rotate3D would incorrectly write the image header when processing multiple wavelengths or time points and writing to a file. SurfHarmMod always used object numbers of zero for dot models, and the center point in those models was assigned a point number of zero. TiffMovie would always output greyscale results if the greyscale toggle had been turned on at any point. vaxmrc2mrc did not correctly swap most significant bytes for integer values and, for two-byte integer image data, byte-swapping was not done over an entire section. Volume Builder did not write wave and time divisions to center-of-mass models. The input image source written to measurement results was incorrect if the input was not a window. Significant changes since March 19, 2001 version ------------------------------------------------ IWL library - Added support for handling remote windows or files. Added calls to measure Monitor redraw rates. WM library - Error dialogs no long prevent user interaction with other programs. Monitor - Added interface to measure redraw rates. Bug fixes: Overwriting an image window which had lower resolutions caused a memory leak and could lead to a later crash if an attempt was made to swap data out of the shared memory file. If the z downsampling was greater than one, the step increment would increase when changing back and forth between resolutions. Protect against unnecessary redraws when certain IM calls or resolution changes are made. Priism apps - Incorporated many fixes into the mass normalization and application of the alignment parameters portions of the EM reconstruction. Modified the reconstruction programs to handle files with extended headers which more than 10 integers or floating-point values per section (i.e. the data from the Tecnai). Modified the reconstruction programs to compile and run on Alphas. The command-line utility, header, was modified to handle EM data from the Tecnai. Local minimum and maximum filters added to Filter2D and Filter 3D. RunProj and T-RunProj now operate on complex data. Find Points extended to allow the region growing threshold to be set as an arbitrary fraction of the peak intensity. Pick Points extended to allow copying of points from one subset of the data set to another and to generate points at regular intervals. Added Alpha Linux versions of the command-line applications, applycal, rotfast, and volume. Bug fixes: RunProj and T-RunProj could produce wrong results for the maximum value projection when there are negative input values. The power spectrum estimation tools had an error which reduced the number of independent samples when the input data was broken into blocks for averaging. The volume min/max method of Normalize would, in some circumstances, not use the last section in the volume while calculating the minimum and maximum. The non-interactive program to fit bead positions in a tilt series did not honor command line options for an input parameter file or a nonzero starting view. The preferences utility would create the .iveprefs directory with incorrect permissions (introduced in the June 1999 release) and would complain about not finding the color list when switching to a profile with a non-default color list. When converting object files to polygons, SurfHarmMod would crash if the image file could not be opened. When the mouse pointer left the image window, the XY selected region for Region MMM would disappear. The file CHANGELOG.OLD lists the significant changes made in older releases.