Changes for IMOD 4.3

Changes marked with ** are particularly noteworthy, ones marked with * may also be of interest to typical users.

Changes in Tomogram Processing

** 6/24/11: Incorporated RAPTOR source into IMOD. Runraptor will now run the executables in IMOD unless RAPTOR_DIR points to alternative ones.

* 9/30/11: Tiltxcorr can now take lists of views to skip or break alignment at, and if it is given a prealignment transform file, patch tracking will skip views where a patch has too much blank area or taper the image edge down to a blank area. Xfalign now passes its skip or break lists to Tiltxcorr.

* 9/22/11: To allow easier fixing of X-rays in montages, modified 3dmod to display a montage with an adjusted overlap specified with -o; added -P option to clip stat so that it could output min and max coordinates in such a displayed montage; added options to Ccderaser so it could take in and produce models compatible with that display.

* 9/20/11: Modified Sirtsetup to give output files a different rootname when doing a subarea.

* 9/20/11: In Beadfixer, added ability to iterate moving all points by residual.

* 8/8/11: Added a program, Gputilttest, to test a GPU by running Tilt repeatedly to see if it gives a reproducible result.

* 7/9/11: Made Tilt able to output and read in internal vertical slices when running SIRT internally, to prevent double interpolations between internal and reconstruction slices when there is a fixed X-axis tilt. Modified Sirtsetup and Splittilt accordingly so that this is the default behavior. ALL MACHINES USED FOR PARALLEL PROCESSING OF INTERNAL SIRT MUST BE UPGRADED TOGETHER.

* 3/4/11: Ccderaser has a new option to expand areas being erased around circles, specifically erasing just the points that are part of the gold particle. It can also erase inside arbitrarily large contours and tapers the edges inside contours containing > 100 pixels. Dynamic memory allocation is now used for the image array and other limiting arrays.

* 12/3/10: Added options to Sirtsetup for reconstructing from a subarea of the aligned stack that can be displaced along the tilt axis; for resuming from an intermediate iteration, and for cleaning up files from previous runs.

* 11/27/10: Made Combinefft able to extract chunks from each tomogram, take their FFTs, combine the FFTs, and produce the sumnnn.rec directly, which runs faster and saves a lot of I/O.

11/9/11: In Beadfixer, fixed extra redraws when moving by residual in all local areas.

10/22/11: Made Gputilttest run tilt with debug output and leave log file if the GPU fails.

10/17/11: Made Sirtsetup adjust scaling by 5000 after taking log of data so numbers will stay in a comparable range.

10/3/11: Made Copytomocoms try to set directory writable on Window only and drop back to native command if chmod fails.

10/1/11: Fixed clip stat output with montaging and outlier detection.

9/16/11: Made Tomopitch not hang and give correct tilt angle offset when there are lines at only one sample.

9/10/11: In Corrsearch3d, normalized values to prevent overflow when computing correlation coefficients with SIRT data.

8/8/11: Made Beadfixer pass through a Tiltalign ERROR when Save & Run.

8/8/11: Fixed a problem with error exit status of Tilt not being passed through on Windows.

7/31/11: Fixed bugs in RAPTOR that made it crash in Windows on non-square areas.

7/25/11: Fixed error message from Tomopitch when there is only one point in a contour and detected lines too short to use to avoid infinite looping.

7/25/11: Fixed Sirtsetup looking for existing vertical slice file when resuming.

7/25/11: Turned off entry output in alignlog.

7/23/11: Changed Tilt to keep edge artifacts from building up when repeatedly resuming internal SIRT.

7/11/11: Fixed Ctfphaseflip, broken in 4.2.19 when run without parallel processing.

7/6/11: Prevented copytomocoms from trying to copy distortion file if it already exists or when doing CTF files only.

5/12/11: Fixed memory allocation in Filltomo.

4/5/11: Fixed Filltomo to properly report > 2 Gpixels filled, switched to memory allocation.

3/4/11: Fixed Sirtsetup when list to clean up past start includes a ~ file.

3/3/11: Fixed Splitblend when using an existing .ecd file.

2/23/11: Temporary fix to splitcombine problem in Win 7.

2/18/11: Made Tilt able to do reprojections at all angles for nonlocal alignments and removed limits on number of views.

2/10/11: Changed Sirtsetup to accept a command file with WIDTH and X SHIFT entries by ignoring them, so eTomo only needs to maintain one com file.

12/3/10: Fixed problem with splittilt using size from aligned stack when it is told a size by sirtsetup.

11/27/10 Modified Setupcombine to use new Combinefft, increased the chunks size, and stopped it from piping command files through cat, which might have caused problems on Windows.

8/17/10: Fixed problem with tilt when reconstructing < 10 large slices, allowed up to 3600 views.

7/30/10: Fixed problem with splittilt when "slice" is in dataset name.

6/1/10: Fixed coloring of Tiltalign output model when one contour per object.

4/13/10: Removed limit on number of views in Tiltxcorr.

Changes in eTomo

** 5/2/11: Added an interface for SIRT to eTomo.

* 10/3/11: In eTomo - Preprocessing, turned off the High-res button when the manual model is opened.

* 6/21/11: In eTomo, loading the raw stack as integers.

* 2/2/11: Etomo allowing tilt to be run using GPUs in parallel.

11/8/11: In eTomo - Fiducial Model, pulling the tilt angle specs from into

10/28/11: In eTomo - Join, fixed the finishjoin rejoin function, which was missing the -ref parameter.

10/17/11: In eTomo - Tomogram Generation initializing linear scaling to be the log scaling divided by 5000.

0/14/11: In eTomo added the taper parameter to

10/12/11: In eTomo added SkipViews to and (corresponding fields added to Coarse Alignment - Cross Correlation and Fiducial Model - Patch Tracking). Also added PrealignmentTransformFile and ImagesAreBinned to

10/12/11: In eTomo fixing a problem in Windows where the tomopitch.log file cannot be backed up.

10/2/11: In eTomo - Preprocessing, fixed the clip stats command, which wasn't setting the piecelist file correctly.

10/1/11: In eTomo - Tomogram Generation added a checkbox for sirtsetup parameter SkipVertSliceOutput.

9/30/11: In eTomo - Tomogram Combination checking the size of the tomogram by looking at its X, Y, and Z dimensions rather then its physical file size.

9/29/11: In eTomo Pre-processing, display montage views together, separated by a negative overlap. Clip stats and ccderaser are now being run with the same overlap, so the model can be brought up this way as well.

9/29/11: In eTomo - Settings dialog, added a default for GPU processing.

9/23/11: In eTomo - Tomogram Generation distinguishing between full SIRT output files and subarea output files.

9/19/11: In eTomo graying out parallel processing row checkbox, when there is only one row.

9/15/11: In eTomo - Join xfalign was failing to run. Also, the script needed to be fixed to run at all.

9/15/11: In eTomo - Final Aligned Tomogram, unselecting the "Create Full Aligned Stack" button when its corresponding file is deleted.

9/15/11: In eTomo - Clean Up, fixed a problem where eTomo doesn't recognize a successful archiveorig run.

9/14/11: In eTomo - Coarse Aligned Stack, fixed the Generate Coarse Aligned Stack button.

9/8/11: In eTomo removed the time-out some of the process monitors were using to exit.

9/1/11: In eTomo, remove excessive logging to the err log that happened when eTomo was rerun while a non-parallel tilt was running.

8/31/11: In eTomo - Parallel Processing, failing when no CPUs have been chosen.

8/30/11: In eTomo remembering the location of the secondary frame.

8/29/11: In eTomo preventing a problem caused by a missing _fid.tlt file.

8/29/11: In eTomo - Tomogram Generation and Post-Processing handling duplicate listeners and a null pointer exception.

8/25/11: In eTomo - Join adding more validation for Make Samples.

8/25/11: In eTomo - Coarse Alignment, fixed the process monitor for generating the coarse aligned stack to that it works when the stack is not converted to bytes.

8/25/11: In eTomo - Fiducial Model, fixed "Use Raptor...", so that it fails when there is no Raptor output file available.

8/24/11: In eTomo - Preprocessing, opening montaged fixed stacks in frames rather then montaged together so that the clip stats output will be more useful.

8/24/11: In eTomo, removed fields for input and output files in Pre-processing.

8/18/11: In eTomo added error for patch size (Fiducial Model) and output size (Final Aligned Stack).

7/26/11: Fixed a bug that caused resuming SIRT to fail when the Tomogram Positioning dialog was opened before resuming.

7/22/11: In the eTomo parallel processing table, fixed the Windows usage column so that is reflects the actual number of processors the computer contains.

7/22/11: In eTomo - Tomogram Generation, popping up a message when a GPU can't be used on a machine being used for parallel processing.

7/22/11: In eTomo - Tomogram Generation, always select the row in a single CPU or GPU parallel processing table.

7/20/11: In eTomo - Flatten moved the smoothing factor error message to process-level validation. Added an error message for an empty trial smoothing factors list. Also fixed a bug where the flatten warp button may respond multiple times to being pressed.

7/19/11: In eTomo, left justified checkboxes and shortened spinners.

7/14/11: In eTomo - Tomogram Combination - SIRT fixed the enabling and disabling of the Resume from... radio buttons and combobox.

7/14/11: In eTomo - Tomogram Combination updated the progress area when replacing the patch vector model.

7/13/11: In eTomo - Post-Processing - Flatten added an error message for an empty Smoothing Factor.

7/13/11: In eTomo, opening the Setting dialog over the main frame, since opening it below the frame doesn't work well on Windows.

7/12/11: Fixed a bug in eTomo where the Parallel Processing table could not be displayed in Tomogram Combination.

6/29/11: In eTomo - Tomogram Generation - SIRT, corrected a test for an open 3dmod, which was failing.

6/28/11: In eTomo - Tomogram Generation, giving access to parallel processing with GPUs when there is no GPU installed on the local machine.

6/24/11: In eTomo, avoiding an exception triggered by no CPUs selected.

6/24/11: In eTomo - Fiducial Model dialog, no longer checking for RAPTOR before adding it as an option. Also added the RAPTOR man-page to the right- click menu.

6/23/11: In eTomo, fixed a problem that prevented the GPU from being specified by a "localhost" cpu.adoc section.

5/31/11: In eTomo fixing silent errors for badly formatted number lists. Also allowing comma separators for these lists.

5/31/11: In eTomo - Bead Erasing added the ccderaser -ExpandCircleIterations parameter.

5/27/11: Add a UI test for SIRT interface in eTomo.

5/24/11: In eTomo, allowing a single space to be used as a divider (instead of a comma) in numeric lists.

5/19/11: Fixed a problem where eTomo was not popping up an error message for incorrectly formatted numeric lists.

5/16/11: No longer allowing unknown values in initMOTL.

5/12/11: Fixed the "Take logarithm of densities with offset" check box, which wasn't being display.

5/11/11: In eTomo - Final Aligned Stack, fixed a bug where wasn't being created.

5/10/11: In eTomo - Tomogram Generation, fixed a bug where Trial Tilt was disabled.

5/5/11: In eTomo - Clean Up, added temporary matchvol and warpvol files to the delete list.

5/5/11: In eTomo - Final Aligned Stack - fixed a problem where eTomo was looking for an incorrectly named file.

5/4/11: In eTomo preventing datasets that end with a space from being used.

5/3/11: In eTomo, removed the "DONE" tag from files that where converted to PIP.

3/18/11: In eTomo fixed a problem in single axis tomograms where an "a" was added onto the .com file names.

3/1/11: In eTomo fixing a bug where the RotationAngle was not added to the patch tracking comscript, (in 4.1).

3/1/11: In eTomo fixed empty tabs in Final Aligned Stack dialog.

2/8/11: In eTomo - using processchunks, except when more CPUs are requested then it can handle (240 on Linux/Mac, 56 on Windows); in that case using prochunks.csh (the original csh script).

2/8/11: In eTomo - fix a bug in the parallel processing table where the CPUs selected reflected the GPU table rather then the current table.

2/7/11: In eTomo - Fiducial Model Gen., opening tracked patches in 3dmod movie mode.

12/15/10: In eTomo fixed a problem where Erase Beads was always looking for local alignments when it built a tomogram.

11/5/10: Changed default minimum nice value for parallel processing to 0.

10/13/10: In eTomo - Settings dialog, filtering out font families with a "'" in their name because these names cause a Java failure. Also added a parameter: --ignoresettings to help diagnose look and feel bugs.

10/11/10: In eTomo, fixed a problem with the compact parallel processing table display when restarting a parallel process.

10/11/10: In eTomo, improved the the context sensitivity of the pop up menus.

7/18/10: Some Etomo screen data in Tracking and Fine Alignment was not being loaded from files - fixed the problem.

6/8/10: In eTomo fixed the UI test so that it can get through fine alignment.

6/4/10: In eTomo remembering the last location of the window.

5/28/10: In eTomo changed messages about missing cpu.adoc and RAPTOR functionality.

5/20/10: In eTomo removed some null pointer exceptions.

5/20/10: In eTomo fixed a problem where volcombine ran twice.

4/28/10: In eTomo fixed axis confusion in clip stats.

4/28/10: In eTomo standardizing the popups about closing 3dmod.

4/10/10: Selecting text in text fields on focus in Etomo tables.

4/9/10: Added --autoclose3dmod parameter for Etomo.

PEET Interface in eTomo

9/20/11:In eTomo - PEET allowing floats in maskModelPts.

9/9/11:In eTomo - PEET changed cylinder orientation from model and particle to rotations.

9/1/11: In eTomo, added the PEET version to the About box.

8/31/11: In eTomo - PEET, removed Particle Volume validation based on goodframe.

5/19/11: In eTomo - PEET preserving unknown parameters in the .prm and .epe files when importing an existing project or copying parameters.

5/14/11: Fixed a problem in PEET where using initMOTL files was the default.

5/5/11: In eTomo corrected a label in PEET.

4/20/11: In eTomo - PEET recognizing initMOTL=3 (Random Rotations).

4/19/11: Added a radio button for Uniform random rotation to eTomo - PEET.

2/22/11: Fixed a problem reconnecting to processchunks in the PEET interface.

2/7/11: In eTomo - PEET, made Sample Interval a float.

7/14/10: In Etomo PEET fixed a problem which prevented the references from being loaded into 3dmod.

5/20/10: In eTomo - PEET removed the checkbox for flgMeanFill.

Changes in 3dmod

** 9/19/11: Andrew Noske added a Stereology plugin.

** 3/15/11: 3dmod can now store data internally as 16-bit integers, and a second pair of sliders in the Info window set the range of data that are displayed. Slicer, Zap, and XYZ windows work directly with the integer data; other components like isosurfacing scale the range to bytes. Made Slicer display color images. Made Locator window use high quality zoomed down display.

** 2/9/11: Parallelized array-filling for high-quality display in Zap and XYZ windows. Made high-quality display work for color images. Added antialiased image reduction, which is used when high-quality is selected and zoom is less than 0.75. Zap and XYZ windows now open with high-quality display turned on by default; there is an option in Preferences-Behavior to turn this off.

** 2/1/11: Isosurface improvements: Added ability to set an outer threshold to show features with intensities between two thresholds; ability to mask the isosurface with the current contour, current object, a sphere, or an ellipsoid; option to close off surfaces that are cut by the bounding box; and ability to paint parts of the mesh with colors or transparency values of points in a scattered point object. Also reorganized dialog into two columns and fixed memory leaks, problems with link to global XYZ off, and some crashes when flipping data.

** 2/1/11: Added ability to model scattered points directly in Model View window with Ctrl and Shift held down; inserting, deleting, selecting, moving, and changing sphere size with the scroll wheel are possible.

* 9/28/11: Made Edit-Object-Info run imodinfo with -o option and report output.

* 9/22/11: In Zap window, made centering button center on current image point when pressed, and fixed problem with dropping out of HQ when panning.

* 9/18/11: Added ability to read MRC-like files that are inverted in Y, so DM images will now be displayed correctly; added support for signed bytes in raw and MRC-like files.

* 9/15/11: In 3dmod, added buttons to Edit-Object-Type to copy properties from another object, set set current object's properties as default for new objects, and restore the defaults.

* 9/13/11: Made model montage snapshot work with multiple models displayed.

* 9/11/11: Beadfixer delete contours below threshold will now delete points only inside the rubber band.

* 9/8/11: Added option to View menu of Model View so that JPEG and PNG snapshots can be taken with a transparent background.

* 9/7/11: Made image display in model view use linear interpolation and picked bigger texture sizes to improve performance.

* 9/5/11: Made 3dmod contour copy able to copy multiple selected contours.

* 3/7/11: 3dmod will now display multiple image files of different sizes at the largest size, centering smaller volumes within the display. Autocontrasting tries to ignore the padding region.

* 3/7/11: XYZ window can now display color images.

* 3/1/11: Added q hot key to Zap and Slicer windows to report distance between current image or model point and the mouse cursor.

* 2/28/11: Added & and * as alternatives to F11 (contrast reversal) and F12 (false color) hot keys.

* 2/28/11: Allowed user to exit 3dmod when loading a large montage.

* 2/26/11: 3dmod -s 0,0 will apply equal intensity scaling to all input files based on their overall min and max.

* 2/19/11: For isosurfacing, added options to 3dmod preferences to set polarity of the initial threshold and the default and maximum box size.

* 2/13/11: Multiple XYZ windows can now be opened. There is now a lock button that locks both position and time.

* 2/4/11: Contour stretching in zap window can now be done with a second fixed point just as in Midas.

* 1/14/11: Added Name Wizard plugin from Andrew Noske for standardizing and managing object names and colors.

* 1/13/11: Added option to finegrain dialog to view gaps in contours with dashed lines; added hot key Ctrl G to toggle gap at current point.

* 12/19/10: Added ability to invert model display in Z, stored as a flag in the model.

* 12/18/10: Added ability to show image pairs in stereo in the Model View window, with controls in the View-Stereo dialog.

* 12/17/10: Added ability to do Slicer montage snapshots including when movieing. This is controlled from the Movie dialog which is now opened with File-Movie/Montage instead of Edit-Movies.

* 12/15/10: Added options to 3dmod preferences to set the DPI of TIFF and JPEG snapshots and to control whether montage snapshots get a scaled-up DPI.

10/5/11: Modified plugin and help loading code to handle standalone 3dmod package for Windows.

9/27/11: Fixed drawing of transparent items in model view with Z inverted.

9/15/11: Fixed resizing and placement of Info window on RHEL6.

9/14/11: Added button to Edit-Model-Header dialog to set model pixel size from current image file pixel size.

9/11/11: In 3dmod, added message for setting Zap HQ mode; made Zap window drop out of HQ for panning and rubberband change only if display time > 100 ms; made sure time number shows up in time toolbars even when filename is too long; made blank slices show up as gray not white when float is on; changed behavior with Info windows "Show" button off to remain attached to a point when changing contours and to not sync when changing points.

8/10/11: In 3dmod, fixed updating of spin box Contour Copy, and made it redraw after a new object is added.

8/8/11: Fixed moving clip planes with mouse, broken by point modeling changes.

7/2/11: Made Ctrl-C and Ctrl-V work in edit pane of 3dmod info window.

5/23/11: Fixed 3dmod crash when opening new model with isosurface open.

4/8/11: Fixed two bugs that crashed 3dmod when current contour/point is defined strangely.

3/17/11: Fixed movieing through time with cache not full.

3/15/11: Scaled histogram in Graph window to exclude values out of the range 0-256 and fixed occasional problem in scaling a contour graph. Fixed the cache limit when it is specified in megabytes so it is now corresponds to the memory usage in 3dmod and not the size of the data in the file. Added a help page for the Info window. Fixed problems caused by ability to adjust contrast of color images, which was added in 4.2.15: disabled float and autocontrast and fixed Bead Fixer overlay display to avoid double contrast adjustment.

3/4/11: Kept 3dmod autocontrast from setting black/white range less 4 and fixed some problems with this and with the filtered high-quality zoom down.

2/28/11: 3dmod draws slice lines in Zap and XYZ when PageUp/Down used in slicer.

2/27/11: Fixed a problem with autocontouring when following diagonals or doing inside contours.

2/14/11: Fixed 3dmod problem with contrast floating after flipping volume.

2/13/11: Slicer and Zap top-level functions and data elements were rewritten as a class; XYZ data stucture was incorporated into the window class.

1/19/11: Fixed enabling of angle slider in stereo dialog.

1/14/11: Fixed memory leak from bug in freeing extra objects in 3dmod.

1/13/11: Added box to meshing panel of model view object edit to specify Z range for meshing and moved meshing progress label up.

1/13/11: Made right mouse click in model view pick mesh lines of meshed objects instead of contour lines so that picking works properly when only a subset of Z is meshed.

12/27/10: Fixed problems with inverted Z model display.

12/17/10: Reduced memory allocation problems when doing large montage snapshots and fixed the saving of TIFF snapshots between 2 and 4 GB.

12/16/10: Fixed behavior of 3dmod toolbar edit fields when they lose focus.

11/8/10: Prevented Edit-Model-Clean from removing saved isosurface objects.

Changes in General Processing Programs

** 6/9/11: Added ability to add and manipulate warping control points in Midas, and made Newstack, Xftoxg, Xfproduct, and Xfinverse handle warp transform files automatically in place of linear transform files.

* 9/20/11: Added Fixgradtable to adjust a mag gradient table for a change in crossover intensity.

* 9/19/11: Switched all packages to using version 4 of libtiff to support large files, and fixed mrc2tif problem writing a large tiff stack.

* 9/9/11: Added a quadrant correction process to Clip.

* 9/5/11 Added local, sobel, limits and cc options to Xfalign to access the corresponding options in Xfsimplex, and limited the stretch search by default.

* 7/9/11: Added ability to add a label to header with alterheader.

* 6/3/11: Added Edgemtf for computing a CCD camera MTF from an edge image.

* 3/4/11: Added environment variable IMOD_NO_IMAGE_BACKUP to prevent programs from backing up and existing an image file by adding ~ to the name.

* 2/28/11: Converted Squeezevol to Python, added an option to specify expansion instead of squeezing, and made it adjust origin for a subvolume.

* 2/28/11: Added an unwrap process to Clip to fix integer data saved with wraparound.

* 2/23/11: Clip: extended variance and standard deviation to 2D case within a single image stack; added scaling option for average/sd/variance; added processes to subtract, multiply, and divide two volumes or add instead of average multiple volumes; added a truncation operation; added -x and -y options to set starting and ending input coordinates. Multiply can be used to apply a mask to a volume.

* 2/21/11: Changed Imodmop to use an exact evaluation of pixels inside contours, and added options to make a mask output, to pad inside or outside contours or other features, to taper values to the background over the padding region, to define objects that will be applied on all sections, and to change the output mode.

* 2/19/11: Made Clip able to make variance or standard deviation volumes from a set of input volumes, upgraded Subimstat to calculate statistically significant differences between volumes conveniently.

* 2/9/11: Added a -shrink option to Newstack to do antialiased image reduction, which is preferable to binning.


* 1/13/11: Meshing improvements: gaps are automatically matched up between adjacent contours and their starts and ends connected; open contours in closed objects are treated the same as having gaps in this and almost all other respects; if there are at least two points with gaps adjacent to an open contour opening, these "phantom extensions" will be added to other open contours, allowing proper meshing when, e.g., vesicles attach to an open wall. Improved choice of starting points for meshing a contour pair; prevented contour reduction from making cracks in cap from loopback contour; fixed two memory leaks.

* 12/28/10: Modified Midas to use robust fitting to edge displacements when there are more than 10 pieces, to allow edges to be excluded or included again, and to set initial zoom automatically.

* 12/28/10: In Blendmont, evaluate cross-correlation coefficients in filtered versions of the full tapered, padded images used for correlation; this is a little slower but reduces artifacts. Added ability to read in excluded edge information from .ecd file, and added options to do robust fitting to edge displacements, to specify the binning and overlap at which an .ecd file was computed.

* 12/20/10: Zip and JPEG compression are now supported for TIFF files read or written on Intel Mac and 64-bit Windows; mrc2tif can now write with JPEG compression on 32-bit Windows.

* 12/18/10: Made mrc2tif and tif2mrc able to operate on images in chunks or strips to reduce memory requirements, and made them able to work with files/images > 2 GB. Programs (including 3dmod) in the Linux distribution will work with version 4 of libtiff to access large files.

* 12/15/10: Added options to Mrc2tif for setting the DPI of the output file, controlling byte scaling and converting to bytes, doing a subset in Z and setting the starting file number.

* 11/1/10: Switched to new implementation of processchunks written in C++/Qt.

* 7/2/10: Converted Edmont to PIP input, added memory allocation, default section lists, binning, shifting of X/Y coordinates to zero, use of model instead of point list for piece exclusion, extraction of subset by frame number, and better error checking.

* 6/29/10: Many Midas changes: added ability to refine shift with local cross-correlation and to load data binned. Parallelized the image transformation routine with OpenMP. Added tooltips. For fixing montage overlaps, added spin buttons to select a piece by its X and Y frame number, adopted much faster method of computing piece shifts and improved estimate of shifts for very large montages, provided up to 10 buttons with highest edge errors, and handled skipped edges.

* 6/23/10: Many blendmont changes: memory is allocated as needed; edges marked in a model can be excluded to keep them from ruining the piece placement; computation of piece shifts is much faster and handles edge exclusion; pieces can overlap by > 50% and more than 2 pieces in a direction can overlap a given point; artifacts are reduced when adjacent edges in a row or column do not overlap in the narrow dimension; X and Y edges can be computed in separate runs in parallel, chunks can be written in Y as well as Z, and parallel writing is protected with boundary files. A script, Splitblend, was added to set up command files for parallel runs of Blendmont.

* 4/13/10: Made Newstack work with nearly unlimited number of sections and files for most applications and added option to split input into a series of numbered output files, one section per file.

11/5/11: In Processchunks, fixed very long delay when many chunks fail right away and problem recognizing when all machines have failed.

11/2/11: Fixed problem with Edgepatches/Tomostitch when there are tabs in the info file.

11/2/11: Changed compiler flags to keep programs like Tilt from crashing on Mac when doing large vector operations.

10/29/11: Fixed the way Nda finds points inside the boundary to reject only points in closed coplanar contours.

10/25/11: Fixed formatting in Xfsimplex to keep Transferfid from failing with a rotation angle <= -100 degrees.

10/24/11: Fixed tomosnapshot, broken when run from eTomo.

10/5/11: Added commands to Alterheader for converting a mode 4 file to mode 2 and back so that individual components can be seen in 3dmod.

10/5/11: Made Xfsimplex object to warp file as initial transform file.

9/30/11: Beadtrack and some other programs will now avoid scaling an input model inappropriately when it lacks image reference coordinate information.

9/29/11: Added flag to new IMOD model (such as produced by patch tracking) so loading such a model will not prevent autocontrast at start or set contrast back to 0-255.

9/28/11: Fixed Vmstopy with use of environment variable; added error message if such a variable is undefined.

9/21/11: Improved reliability of drawing from Fortran graphics programs.

9/20/11: Fixed problems with sda subdividing triangles too much.

9/20/11: Fixed function wrapper which caused wrong sign in rotation output of xf2rotmagstr and also affected tiltalign transforms with projection skew, makegradtable with transforms aligning different Z heights, and mtlengths with alignment files (broken since 3.12.23).

9/11/11: Made Imodmop preserve coordinate system; made FFT's have grid X = NX.

9/11/11: In Midas, saving to file updates the "stored transform" that can be reverted to; also maybe fixed a problem with updating the white level label.

9/10/11: Fixed some problems with Smoothsurf when points are very closely spaced, made it include points only from contours in same surface if mesh data are available, and extended surface fits to end of a Z range.

9/7/11: Modified Vmstopy to handle additional c-shell constructs and fixed some problems; it can now run all existing standard com files including

8/22/11: Changed processchunks so that it closes and reopens the check file. This prevents problems caused by replacing the check file. Modified eTomo so that it no longer deletes the check file, which is already being done by processchunks (and the original prochunks script).

8/19/11: Fixed Xfsimplex/Xfalign crash from uninitialized variable with identical images.

8/12/11: Fixed Xftoxg to multiply warping transforms in the right order to get the cumulative transform.

8/12/11: In processchunks removed the excessive verbose print statements and cleaned up the non-verbose print statements.

8/12/11: Made Avgstack preserve pixel size.

8/12/11: In processchunks fixed a bug that caused warning and errors when a computer was dropped.

8/11/11: Made Vmstopy translate setenv and add a -g to b3dremove on Windows; fixed problems with setting library path and closing standard out.

7/28/11: Fixed bugs in processchunks that were preventing the correct running of sync files and the killing of jobs on a cluster.

7/26/11: Fixed tif2mrc's test for whether all files had the same mode.

7/25/11: Turned down lighting in model produced by Flattenwarp.

7/5/11: Fixed Blendmont for finding mag gradients.

7/1/11: Fixed Chunksetup and Trimvol when running with Windows paths to other directories, fixed a similar problem in Splitcombine, and fixed many problems with running tomosnapshot from another directory on Windows and elsewhere.

6/23/11: Modified Blendmont and Xfmodel to handle warping.

6/16/11: Converted Makejoincom and Finishjoin to Python, modified Finishjoin and Maxjoinsize to handle warping transforms.

5/31/11: In processchunks, fixed the error output format.

5/29/11: Fixed use of transforms with a section list in Newstack, broken since 4.2.1.

5/26/11: Added new library libiwarp with functions for manipulating warping transformations stored as regular grids or sets of control points. It includes Pavel Sakov's natural neighbor interpolation code and Ken Clarkson's hull code for Delaunay triangulation.

3/25/11: Fixed Edpiecepoint (broken for PIP input since 4.2.11) and added option to divide a piece list by a factor for use with binned images.

3/25/11: Made mrcbyte work for images > 2 Gpixels.

3/23/11: Fixed Copytomocoms crash when second axis does not exist yet.

3/3/11: Fixed Blendmont writing a blank line to .ecd files for 1xn montage and made Midas accept files with blank lines.

2/27/11: Added standard deviation output to Sumdensity.

2/27/11: Doubled number of model points that can be loaded into Fortran programs.

2/27/11: Fixed model scaling in sda.

2/23/11: Fixed Avgstack to take long filenames and to work with any size of file.

2/19/11: Adjusted coordinates put out by clip stats on a subarea so that they are correct coordinates in the full image.

2/17/11: Changed Extractpieces to take an image autodoc file missing the montage flag.

2/16/11: Added gpumonitor script that will be used to keep track of GPUs in use in a set of workstations.

2/6/11: Fixed problems with running large numbers of processes in the processchunks application.

2/2/11: Fixed clip corr with unsigned short images.

1/31/11: Fixed tif2mrc stacking of files of different sizes.

1/29/11: Fixed test for when to open a big TIFF file to work for other than bytes.

12/31/10: Made Imodkillgroup accept multiple PIDs for killing more than one group at once.

12/28/10: in Blendmont, limited shifts along the length of overlap zones in very sloppy case, fixed 3 bugs that would crash program.

12/28/10: Converted Edpiecepoint to PIP input and added options to change the overlap of a piece list.

12/20/10: Added option to set compression quality in tif2mrc.

12/16/10: Fixed processchunks compile problem on Fedora 12.

12/12/10: Switched back to old script processchunks for now.

12/8/10: Added Imodcpuload to report load and summed CPU usage or run imodwincpu on Windows.

12/8/10: In processchunks, fixed vmstocsh call so it can display error messages. Fixed memory leaks.

12/1/10: Fixed a problem where processchunks was timing out when a sync fails and there is no process to kill.

12/1/10: Fixed array index out of range bug in Blendmont.

11/15/10: Fixed initialization bug in Blendmont.

11/2/10: Fixed imodkillgroup on Windows for killing a suspended process.

10/29/10: Changed Edpiecepoint to allow making up a piece list with pieces in any order.

9/22/10: Fixed Blendmont so it moves along the short dimension first when finding an edge function, and doubled the default box size values for frame sizes up to 4096, with a small increase in spacing and indentation too.

9/22/10: Added option to patch2imod to read a file without a line count at the beginning.

8/31/10: Added ability to use a separate metadata file produced by SerialEM in Extracttilts and Extractpieces and when loading a montage with 3dmod.

8/25/10: Fixed Newstack problem with a file list of output files and added -append option to specify extension on series of numbered files.

8/19/10: Fixed processchunks test for numbered com files, so rerunning on a finished set does not run -start and -finish over.

7/14/10: Made Montagesize work for > 100000 pixels, made Blendmont able to use an exclusion model built on file with different binning, fixed a bug that crashed Midas when fixing edges with missing pieces, and fixed header produced by Edmont so models will load correctly with binning or X/Y shift.

6/2/10: Made new routine for sorting points on two surfaces for use by Tiltalign, beadtrack, and Sortbeadsurfs; added option to Sortbeadsurfs for testing the routine.

4/18/10: Increased array sizes in Blendmont.

Changes in Infrastructure

* 7/24/11: Defined an IMOD stamp in MRC header and added a flag to indicate whether bytes in a mode 0 file are unsigned or signed. Made all programs able to read and write unsigned or signed byte files. Added environment variables READ_MODE0_SIGNED to control interpretation of files if necessary and WRITE_MODE0_SIGNED to control form of output globally, and added options to control form of output from Clip and Newstack.

* 4/25/11: Tomosnapshot converted to Python and enhanced to handle all kinds of processing in eTomo (join, PEET, NAD, parallel processing).

10/20/11: Fixed etomo tutorial to display correctly in Qt Assistant.

10/19/11: Added #TOP anchor to manpages in the right-click menu and Help menu.

10/17/11: Fixed all help files opened by 3dmod, Midas, and Ctfplotter so that they open at the top with the Assistant in Qt 4.6.

10/3/11: Added IMOD/lib to library path in wrapper scripts to protect against screwed up LIBRARY_PATH variables.

9/7/11: In eTomo, handled the conversion of processes to Python scripts.

9/7/11: Removed xf2xg, newst, and reduceby2 wrapper scripts, and clipflipyz.

9/5/11: Converted dm2mrc, Transferfid, Runraptor, Xfalign, Splitcorrection, and Archiveorig to Python.

8/23/11: Added gpu information to the cpuadoc man page.

8/12/11: Changed short name of RootName option to Finishjoin to -name to fix tomogram joining through etomo with a reference section specified.

8/11/11: Added b3dremove to remove files with multiple trials and not generate an error upon failure, to alleviate problems running com files on Windows. Modified Splitcorrection to use this for final cleanup.

7/23/11: Made install script look in a new subdirectory for, needed for latest Ubuntu.

7/19/11: In eTomo, calling the python version of alignLog.

7/19/11: Alignlog converted to Python.

7/12/11: Converted Matchorwarp to Python.

7/11/11: Converted Collectmmm and Sampletilt to Python.

7/1/11: Fixed 3dmod File Extract to run new Python Trimvol.

6/27/11: In eTomo, running chunksetup with python.

6/26/11: Converted chunksetup to python.

6/21/11: In eTomo, handling the new version of trimvol. Also removed the trimvol subsection from the .edf file and replaced it with individual files.

6/17/11: Converted eTomo to handle the Python versions of Makejoincom and Finishjoin.

6/1/11: Translated trimvol to Python. Option -s is removed.

3/21/11: Made Python function for running commands retry after a broken pipe to solve problem on Mac.

2/25/11: Converted Copytomocoms to Python and added INFO outputs when the log base is set to 32768, and WARNING outputs when it is not set but might need to be.

2/24/11: Converted splitcombine to Python and made eTomo use it.

1/3/11: Switched back to static TIFF library on Mac, but still support JPEG.

12/7/10: Converted Splittilt to python and changed eTomo to handle it.

12/3/10: Modified eTomo to run the python version of setupcombine.

12/3/10: Modified all python programs and modules to be compatible with both Python 2 and Python 3.

12/3/10: Setupcombine converted to python. It even has a man page now.

6/29/10: Many fixes to prevent illegal array accesses in IF and WHILE statements due to lack of shortcircuit evaluation with ifort compiler, most fixes put into 4.1.

5/21/10: Moved unit test data to the Etomo directory.

5/21/10: In eTomo adding UI tests for patch tracking.

5/15/10: In Etomo UI test get rid of random field not found errors by reformatting on time.

4/28/10: Changed uitest to handle absolute file names with a wildcard character.