Changes for IMOD 4.7

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

Changes in Tomogram Processing

** 12/18/12: A new script, Batchruntomo, can build tomograms automatically with fiducial, patch tracking, or fiducialless alignment given a text file of "directives" to set parameters.

** 7/29/12: Added Autofidseed for automatic selection of a fiducial seed model, and a companion program, Pickbestseed, that it uses for analysis of beads.

** 6/20/12: Beadtrack can now refine center positions using an edge-detecting filter, which significantly improves accuracy for many plastic section data sets and some cryo data sets.

** 6/19/12: Tiltalign can now do robust fitting, eliminating or down-weighting points with exceptionally high residuals.

* 11/30/13: Changes to Tiltalign to deal with patch tracking data: it can select a subset of patches for the global alignment to avoid solving for too many variables; it can do robust fitting with weights assigned either to individual points or to whole contours.

* 11/1/13: Made Tiltxcorr able to find mag changes at selected views; for a bidirectional series, Copytomocoms puts the option with the view number in xcorr.com.

* 8/30/13: In Pickbestseed, implemented a new analysis of whether beads are elongated and tuned the parameters with a variety of data sets. It will now identify many fewer beads as elongated inappropriately when they are over a dense background. Autofidseed and Pickbestseed now allow the elongated points to be included without the clustered ones and generate a model of all candidate beads color-coded by elongation and clustering.

* 7/31/13: Made default maximum radius for X-ray erasing a little bigger for bead diameter >= 10; turned on local tracking by default.

* 7/17/13: Made Imodfindbeads able to analyze for bead diameter in averaged bead and adjust parameters for a significantly different size (good only for cryo). Autofidseed has an option to apply this and use the new size for tracking; Batchruntomo will use the new size for tracking too.

* 6/29/13: Made Ccderaser able to remove "extra-large" X-rays and artifacts automatically, and made some other minor improvements to X-ray removal.

* 5/29/13: Ctfplotter: added version number to defocus file so the old bug of view numbers off by 1 will not be detected in error, allowed double-clicking a row to set the angles to that row, and added checkbox for fitting to each view.

* 5/21/13: Batchruntomo will now accept .mrc stack files and rename them to .st, will take template entries with no path and find files in default locations, and gets the pixel size correctly from FEI files.

* 4/7/13: Added options to Batchruntomo to specify the data set name and directory so that a batch directive file is reusable without editing it, an option to deliver data from central location to separate directories, and ability to process only one axis.

* 1/19/13: Mauro Maiorca contributed preNAD for NAD-type filtering of tilt series prior to reconstruction.

* 12/28/12: Converted Filltomo and added options to specify the area in the B tomogram that has valid data and made Setupcombine add these options when appropriate. This helps fill in bad regions when using over-sized reconstructions that have a substantial shift between them.

* 11/17/12: Added option to Tiltalign and align.com so that Z shifts will be relative to the original centering produced by coarse alignment.

* 8/2/12: Beadtrack: improved criteria for when a bead is too weak so that weaker beads are allowed when the average one is getting weaker and to try to prevent beads from tracking on wild positions. Improved the position prediction when returning to the starting view for the next local area, and also made it track halfway out on both sides on first round, to reduce loss of points when going back to starting view. Added model Z scale. Added detection of incorrect polarity. Fixed some problems with sobel positioning.

* 7/23/12: Beadtrack now takes prealignment transforms to avoid tracking onto gray fill areas.

* 4/17/12: In eTomo - Tomogram Generation, substituted tomogram height and Y shift for starting, ending, and increment slice.

2/22/14: Fix exit status, button width, splash screen for Ctfplotter on Mac.

2/5/14: Makecomfile adds option to append to seed model for autofidseedb.com.

1/30/14: Fixed execute permission on Autofidseed and added option for passing options to Imodfindbeads.

1/16/14: Fixed creation of patch tracking com file if mag change searched in coarse align.

12/19/13: Fixed autofidseed and findsirtdiffs for Python 3.

11/28/13: Made changes in the search routine used by Tiltalign/Beadtrack to reduce the high risk of "minimization errors" when starting close to the final solution; also ignore particular errors after first round of robust fitting.

11/2/13: Switched display of residual model to show arrows.

10/27/13: Added option to Tilt to get output in parallel (X/Y) slices without inverting handedness.

10/25/13: Changed Beadtrack's elongation file output so that automatic seed picking would not fail with only 3 beads.

9/1/13: In Tiltalign, made robust fitting try not to get stuck in oscillations, and made it restore non-robust fit upon failure.

8/30/13: Changed options to drop and ignore models in Autofidseed to take lists numbered from 1, not 0.

8/20/13: Fixed bug in Autofidseed that made it use data only from the last track instead of from all three (caused by 12/13/12 Clipmodel change).

8/13/13: Allowed 0 to be entered for Cs in Ctfplotter and Ctfphaseflip.

7/31/13: Changes to Batchruntomo: option to send emails, more informative output about what is running, a log file with a copy of program output saved in each dataset, delivery of more files to dataset directory, running clip stat on a fixed stack.

7/31/13: Fix a bug in Beadtrack that zeroed out the sobel sum when reversing direction.

7/31/13: Made Makecomfile able to make xcorr_pt.com before .preali exists.

7/24/13: Added option to Archiveorig to restore multiple levels of archives.

7/8/13: Added Copytomocoms option to specify bi-directional tilt series so separate view group can be set up; added batch directive too.

7/4/13: Fixed Imodfindbeads when not run from Autofidseed.

7/1/13: Fixed bug that prevented Autofidseed from giving Imodfindbeads the sigma for kernel filtering, and made Autofidseed tell Imodfindbeads about prealignment transforms so it can avoid picking peaks at edge of image.

7/1/13: Fixed bug that hung beadtrack.

6/29/13: Made Batchruntomo able to run Archiveorig and Trimvol, accept CPU and GPU lists with the new syntax that Processchunks takes, use a binned thickness, and time out Processchunks if no PID appears in its output.

6/24/13: Made Sirtsetup turn GPU failure from warning to error.

6/23/13: Made beadtrack exit with error if a contour has two points on a view, just like Tiltalign does.

5/30/13: Fixed Tomodataplots to send right color option to Onegenplot.

5/7/13: Added option to Ctfphaseflip to set maximum strip width, for reducing artifacts at zeros in FFT at low tilts.

4/10/13: Fixed Batchruntomo's reading of processchunks log hanging on Mac.

4/9/13: Fixed a few bugs in Batchruntomo for single axis and for running in Windows.

4/4/13: Made copytomocoms put out a command file for extracting data from a B axis added later.

2/27/13: Fixed array allocation problem in Pickbestseed.

2/10/13: Redefined blank values in batch/template directives to mean unset the parameter for other than comparams, and required all booleans to be 0 or 1.

2/1/13: Added option to stop Batchruntomo processing at a chosen step.

1/31/13: In Batchruntomo, implemented definition of scope file as just another template file and changed the way that boolean copytomocoms arguments are treated so that they can be used in templates.

1/2/13: Made Ctfplotter not open windows when autofitting in batch mode.

12/20/12: Added Tomodataplots for graphing various data from tilt series processing (clip stats, blendmont errors, tiltalign mean residuals).

12/19/12: Fixed Tilt when running internal SIRT on CPU with 90 degree angles.

12/17/12: Added option -t to Tomosnapshot to take thumbnails of selected files.

12/10/12: Made Splittilt turn GPU failure from warning to error so that one machine doesn't fall back to CPU while others are on GPU.

12/8/12: Changed Imodfindbeads and autofidseed to provide a default minimum guess and a fallback number to store in model if histogram dip is not found.

12/2/12: Added script Makecomfile to make optional com files for tomogram generation.

12/2/12: Made Autofidseed able to append to an existing seed model, modified Repackseed to retain surface numbers and values in Transferfid.

10/30/12: Removed underscore from Autofidseed info file and temporary directory names for eTomo.

10/24/12: Removed Tilt's setting of pixel size from extended header (8/28/12) because it screws up bead erasing and combining.

10/2/12: Changed Autofidseed to keep Beadtrack from solving for tilt angles and to save a copy of the track com file for comparison.

9/13/12: Made Autofidseed keep Sortbeadsurfs from flipping Y and Z.

9/12/12: Fixed an inadequate memory allocation in Tiltalign.

9/5/12: Fixed a division by 0 in Beadtrack that made it hang or crash.

9/5/12: Changes to Autofidseed and associated tools: made it possible to ignore surface information for selected tracked models or to drop models, switched to a local temporary directory and left surface sorted models and peak models there; improved elimination of elongated points when there are many clustered points. Added ability to draw boundary contours around excluded instead of included areas.

8/28/12: Made Tilt set the output file's pixel size from the input stack's extended header if the input appears not to have a pixel spacing set.

8/22/12: In Beadtrack, use a sobel-based position on second pass only if it is closer to the expected position; try to make running 4 rounds behave more like rerunning with fiducial model as seed.

8/22/12: In Tiltalign and Beadtrack, restored iterative method of initializing X/Y/Z positions for medium to large amounts of data; direct solution was too slow.

7/25/12: Fixed temporary use of real array as double in Tiltalign/Beadtrack.

7/13/12: In Beadtrack, fixed memory allocation problem, replaced surface output option with two options for output of extensive residual and elongation information and XYX coordinates after tracking automatically picked beads.

7/13/12: Added options to Sortbeadsurf for picking subarea size based on number of points in potential subareas, and for leaving some points identified as outliers out of initial pairings.

6/28/12: Fixed bug in beadfixer that made it skip all residuals; fixed undefined variable when using sobel filter in Beadtrack.

6/21/13: Fixed array not allocated big enough in Beadtrack.

6/21/12: Kept robust fit in Tiltalign from setting all weights for a fiducial to at or near zero; tweaked output from Tiltalign and Alignlog.

5/26/12: Changed Tiltalign and Beadtrack to get initial x/y/z coordinates with a direct solution instead of iteration, and added an initial scan for correct starting tilt axis rotation angle to Tiltalign.

Changes in eTomo

** 6/2/13: Added an editor for directives derived from the dataset.

** 11/6/12: ETomo: Added an interface for autofidseed to the Fiducial Model dialog.

* 2/28/14: Reading the bidirectional tilt value from the file header.

* 2/9/14: In eTomo - Setup Reconstruction, allowing .mrc image files to be selected, and renaming them to .st.

* 11/18/13: In eTomo - Coarse Alignment, added support for tiltxcorr parameters SearchMagChanges and ViewsWithMagChanges.

* 11/15/13: In eTomo added support for parallel processing using multiple GPUs per computer.

* 10/24/13: Added a antialiasFilter field for the newstack panels in eTomo - Coarse Alignment and Final Aligned Stack.

* 9/27/13: Added predefined tomodataplots graphs to various places in eTomo.

* 9/3/13: Added warping to the xfalign interface in eTomo - Serial Sections.

* 8/27/13: Added a bidirectional tilt series option to eTomo - Setup Tomogram.

* 8/23/13: There are now two system templates that can be selected in the eTomo startup page; plasticSection just turns on Sobel filter centering in tracking; cryoSample turns that on with the correct filter and changes a few other settings; see Using Etomo for details.

* 7/3/13: In eTomo added the thumbnail option to the tomosnapshot call.

* 3/1/13: Added support for templates to eTomo.

* 1/8/13: Changed the processchunks control panel to allow a Resume to be ordered before the Pause is completed.

* 1/8/13: In eTomo, handled the change from flipping to rotation in 3dmod, so running trimvol will work both with newly selected Z values and ones set previously with old-style flipping.

* 12/18/12: Added the SetFEIPixelSize copytomocoms parameter to Setup Tomogram. The standard pixel spacing will be set automatically in files from FEI software unless the option to do this is unselected in eTomo settings.

* 9/13/12: With robust fitting in Tiltalign, eTomo now puts the weighted mean residual in the project and shows the Robust tab first in the align log.

* 8/21/12: In eTomo - Fine Alignment, added Robust Fitting to the Beadtrack interface.

* 8/20/12: In eTomo - Fiducial Modeling, added Sobel filter parameters to the BeadTracking panel.

3/27/14: Fixed a communication problem between eTomo and 3dmod and rolled back previous incorrect fixes from 2/14/14 and 3/14/14.

3/14/14: Fixed a Windows problem with opening 3dmod from eTomo where imodsendevent was called incorrectly.

2/14/14: In eTomo, fixed a problem with slowness when opening 3dmod dialogs.

2/14/14: In eTomo - PEET fixed problems with defaults and the handling of missing properties.

2/9/14: Updated the images in the eTomo tutorial. Also exposed the autofidseed append parameter and initialized the seed model contours in 3dmod.

1/30/14: In eTomo fixed bugs in the Directive Editor.

1/30/14: In eTomo - Directive Editor, fixed bugs which where causing unchanged directives to be display in the default mode.

1/30/14: In eTomo - Directive Editor, getting CTF defaults from origcoms.

1/29/14: In eTomo - Coarse Alignment, fixed a problem with graphing edge errors.

1/29/14: In eTomo improving error handling for an empty fiducial diameter field.

1/29/14: Fixed problems with autofidseed in eTomo - Fiducial Model Dialog.

1/8/14: Added control of imodchopconts to eTomo - Fiducial Model Dialog.

12/13/13: In eTomo - Fine Alignment, exposed tiltalign - weightWholeTracks.

12/13/13: Updated the eTomo manpage. Improved the eTomo help statement.

11/28/13: In eTomo allowing quoted values in autodocs.

11/20/13: In eTomo - Final Aligned Stack, prevented the creation of a bad rotation.xf file when the final aligned image stack is not present.

11/20/13: Made multi-line INFO and WARNING messages more parsable in etomo_err.log.

11/19/13: In eTomo - Combine, prevented the dataset from being damaged when the Combine dialog is opened too early.

11/19/13: In uitest, fixed a problem with finding the main panel.

11/18/13: In eTomo made multi-line error messages parsable by adding an empty line after each one.

11/15/13: In eTomo reduced the excessive debug output.

11/4/13: In eTomo - Fiducial Model dialog, fixed a problem with deleting autofidseed temporary files in Windows.

11/1/13: In eTomo - Fiducial Model, added fields for AdjustSizes and ClusteredPointsAllowed to the Autofidseed panel.

10/29/13: Fixed a problem in eTomo where the parallel panel did not appear when eTomo reconnected to a parallel process. This problem appeared when Pause and Resume had been previously used.

10/29/13: Fixed the eTomo version string.

10/28/13: In eTomo fixed a bug where stack header data was not getting into the dataset file when eTomo was run from batchruntomo.

10/25/13: In eTomo removed dependencies on Cygwin.

10/24/13: In eTomo - Combine, removed the message complaining about tomograms A and B not being the same size in X and Y, as this is not an error.

10/24/13: In eTomo, preventing embedded spaces in dataset names.

10/23/13: In eTomo resizing when the Cleanup dialog is finished.

10/17/13: In eTomo - Clean up, added unused, optional image files (such as the output from mtffilter) to the file chooser.

10/17/13: In eTomo - Clean up, added SIRT .vsr## output files.

10/14/13: Added GiantCriterion, BigDiffCriterion, and ExtraLargeRadius to eTomo - Preprocessing.

10/9/13: Fixed a problem with running tomodataplots from eTomo under Java 1.7 that prevented the graphs from coming up.

10/9/13: In eTomo fixed a parallel processing problem which prevented the Resume button from working when the process was pausing. This problem appeared in only in reconnected processes.

10/9/13: In eTomo - Nonlinear Anisotropic Diffusion, some test.K... file names will differ in different Java versions. This bug will not be fixed because it does not appear to cause any harm. Only the automated tests where modified.

10/9/13: Fixed a problem in eTomo running under Java 1.7 where some titles where greyed out.

10/1/13: Prevent the "Use Raptor Result..." button in eTomo - Fiducial Model dialog from being triggered multiple times.

10/1/13: Saving the state of the eTomo - Fiducial Model dialog.

10/1/13: Improved the handling of opening eTomo - Post Processing at the wrong time.

9/17/13: Fixed right-click menu in eTomo - Fiducial Model Dialog.

9/17/13: Resolved problems with the project log window.

8/27/13: Improved tooltips for eTomo - PEET.

8/27/13: Added complete version information to the etomo error log file.

8/22/13: Added ".mrc" as a default volume file extension to the file choosers.

8/20/13: Added support for dual/multi tilt missing wedge compensation during PEET averaging.

8/12/13: Fixed problems with values not showing up in the Directive Editor, which now shows intelligible labels for all fields and combo boxes with descriptions for choices.

8/2/13: In eTomo handling messages starting with "LOGFILE:". The message following this tag will be treated as a local file name, the contents of which will be placed in the project log.

7/31/13: In eTomo - Template Editor, improved the labels and fields.

7/3/13: In eTomo allowing a fiducial diameter of 0.

6/28/13: In eTomo fixed some issues with the template choosers and how they work with the Reconstruction Setup dialog.

6/17/13: Standardized the Mac ps command to be the same as the Linux one.

6/6/13: Switched to makecomfile for the creation of patch tracking and sirtsetup com files in eTomo.

6/5/13: Handling null values during tomogram reconstruction setup that are caused by running eTomo through batchruntomo.

6/2/13: In eTomo fixed the batchruntomo error message.

5/28/13: In eTomo - Join, using the -cs Midas parameter instead of the -c parameter.

5/28/13: Changed the local load average process to use the bash shell unless the user's shell is tcsh.

4/9/13: Handled multi-line INFO and WARNING messages in copytomocoms.

4/5/13: Fixed a null pointer exception, which happened while running copytomocoms from eTomo - when a directive file that did not contain any setupset.copyarg directives was included.

3/3/13: Fixed a problem with recording Exclude Projections in the .edf file.

1/31/13: Fixed the processing of the directive file parameter.

1/16/13: Removed the SetFEIPixelSize copytomocoms parameter checkbox from Setup Dialog

1/13/13: Fixed incorrect betterRadius in golderaser.com.

1/13/13: Fixed two problems with the behavior of eTomo - Fiducial Model.

1/8/13: Creating a second backup file for dataset files, the .prm file, and the project long.

12/19/12: Modified eTomo to run from a directive file. ETomo will run without an interface in this situation.

12/17/12: Fixed some of the log file monitors, which had the file size defined as an integer rather then a long, causing an overflow for larger tomograms.

12/14/12: Converted newstack comscripts to PIP.

12/14/12: Added a button for viewing the seed model to the Transfer Fiducials panel.

11/7/12: ETomo: Fixed the estimated time of completion for process monitors that watch a log file.

11/5/12: ETomo: Added field validation and better white space handling for numeric text fields.

9/28/12: Keeping most of the 3dmod debug code in eTomo (debug level 3).

9/27/12: ETomo: fixed a problem involving the incorrect handling of 3dmod's stderr, which could potentially cause eTomo to lock up until 3dmod exits.

9/27/12: ETomo: fixed null pointer exceptions.

9/27/12: Enabled the GPU check box in the Setup Tomogram dialog when the local host has a GPU available (eTomo).

9/25/12: ETomo: rearranged the file, fixed the crash that happened when the wrong file type was passed to eTomo, and other miscellaneous changes.

9/15/12: Added the last 10 lines of stdout and stderr to eTomo's log (when --debug is not set).

9/12/12: Etomo fixed to deal with KFactorScaling entry properly.

9/6/12: In eTomo fixed a bug which caused Tomogram Setup to fail when there was a subdirectory in the target directory.

8/28/12: Remove duplicate uitest directories testBB, testmidzone2, and testunicross.

8/27/12: In eTomo - Join - Align, fixed a problem with bringing up Midas where the chunks parameters was not passed.

8/21/12: In eTomo, fixed a confusing message.

8/21/12: In eTomo - Generation Tomogram, fixed a bug where the tomogram height in Y was being ignored if the Y shift was not filled in.

8/20/12: In eTomo remembering the state of the trial tilt panel.

8/20/12: Made sure that pop-up messages for the PEET and Serial Sections start up dialogs will pop-up over the correct dialog.

6/5/12: In eTomo, added code to dump the state of classes which may be involved in an intermittently occurring bug.

4/24/12: In eTomo, modified output to newst*.com to work with colornewst.

4/20/12: In eTomo - Join, fixed the print actions functionality, which was not printing some file copies.

Serial Section Interface in eTomo

** 8/17/12: Added the Align Serial Sections interface.

* 11/13/13: In eTomo - Serial Sections, added a Sobel filter checkbox and improved the behavior of the alignment panel.

11/20/13: In eTomo - Serial Sections, fixed the Newstack progress bar.

11/1/13: In eTomo - Serial Sections, improved the context sensitive pop-up menus.

9/19/13: Fixed a problem in eTomo - Serial Sections where etomo could not find the piece list file during startup. This caused it to run extractpieces despite the existance of a piece list file in the dataset.

9/19/13: Fixed a problem in eTomo - Serial Sections where the main frame locked up when the log window was displayed.

9/19/13: Fixed a problem with the xfalign panel in Serial Sections and Join in eTomo where blanking the filter data caused the process to run with the initial values.

9/4/13: Added SloppyMontage parameter to blend.com in eTomo - Serial Sections.

8/24/13: Improved the layout, behavior, labels, and tooltips of the "Align Serial Sections / Blend Montages" interface.

1/16/13: Added the creation of an empty .xf file to the Serial Sections interface.

1/13/13: Fixed an unhandled exception when montaged stack with an extension other then ".st" is used with Align Serial Sections.

1/11/13: Added back non-PIP support for colornewst.

PEET Interface in eTomo

3/29/14: In eTomo - PEET, fixed the loading of a non-array selectClassID value, and fixed more problems with unnecessary errors generated because of missing parameters

3/13/14: Fixed a problem in eTomo - PEET where tilt angles where not being loaded from a renamed tilt log file.

3/5/14: In eTomo - PEET, made sure that empty attributes will not generate Matlab syntax errors.

2/6/14: In eTomo - PEET, accepting integer vectors in selectClassID.

1/29/14: Added option for no reference refinement in eTomo - PEET.

12/3/13: In eTomo - PEET, excluding the quoted values functionality.

8/2/13: Added an option for the PEET Help pages to the eTomo menus.

7/3/13: In eTomo - PEET, suppressing warning popup dialogs.

6/28/13: In eTomo - PEET, removed an incorrect validation that prevented a dataset from being created in a directory containing a .prm file with a different name.

6/28/13: In the eTomo - PEET tables, keeping the following row highlighted after a row is deleted.

6/24/13: In eTomo - PEET, added a warning popup when a value in the .prm file will be overridden.

1/17/13: Added selectClassID to eTomo - PEET.

11/7/12: ETomo - PEET: handling parsing failures in the .prm file.

Changes in 3dmod

** 12/19/13: Rubberband, arrows for view-axis based rotation, and slider for moving along view axis added to slicer; with band on, limits can be set and File-Extract File can be used extract selected region with Rotatevol.

** 12/12/13: Enabled modeling in XZ and YZ planes of XYZ window. New closed/planar contours are started automatically on a new slice in all three planes. Surface numbers are assigned automatically so that such contours drawn in XZ or YZ planes can be meshed. Made arrows and PageUp/PageDown work relative the plane where the mouse is located and added keypad keys to move the current model point.

** 2/26/13: 3dmod can take an image pyramid (multiple copies of same volume at different resolutions) and has a new kind of cache that allows rapid access to subareas at any zoom when a pyramid is loaded; ordinary (non-tiled) files can also be cached as strips for somewhat faster access.

** 1/1/13: Turned YZ flipping in 3dmod into 90 degree rotation about X to preserve handedness; models saved from this state still have Y and Z swapped to keep other programs working. Modified Trimvol and Findcontrast to work with new Z values and to have an option to treat Z values in old way.

** 12/26/12: Added dialog to Model View for saving and running a sequence of movie segments with different settings.

* 1/16/14: Jane Ding contributed Grab with Note plugin, which takes Slicer or Zap snapshots with notes added below the image.

* 1/10/14: Made 3dmod able to read single pixels from non-MRC-like files so Pixel View and Graph windows can show file values.

* 12/23/13: Added ability to change object transparency during Model View movies.

* 12/23/13: Made hot key popup menus for Zap, Slicer, and XYZ windows that show up when right-clicking over a toolbar, and added a HotKey menu to Model View. These menus allow most hot keys to be seen and selected.

* 12/23/13: Added hot key for resizing image inside Zap or Slicer rubber band to fill window.

* 12/22/13: Added a dialog to set the size of the Model View window without changing model zoom.

* 12/22/13: Added menu entry Image - Linked Slicers to open an array of slicers, one per image file, controlled by a single slice toolbar,

* 12/21/13: Added a small rotation tool window to Model View with arrows for rotating model.

* 12/12/13: Made scroll wheel change point size in XYZ and Slicer windows.

* 12/12/13: Made XYZ window report distance from current point to mouse with q hot key, fixed use of current model point for q report from Zap window.

* 10/22/13: Made it possible to start Zap rubber band from ANY corner.

* 10/18/13: Added toolbar buttons to Zap and Slicer for drawing a single thick arrow for snapshots; also added an object property to draw arrowheads at the ends of contours.

* 8/13/13: Added ability to draw the interior of contours in the Zap window with transparent color (see Edit-Object-type dialog).

* 6/24/13: Added 6-7-y-u-i-h-j hot keys as an alternative to the keypad in 3dmod model view for rotating the model or clipping planes.

* 6/23/13: Added an option in 3dmod preferences to use up and down arrows just like PageUp/PageDown.

* 1/28/13: XYZ window now has a toolbar button to apply the current Z scale to the XZ and YZ views; the setting is saved between invocations.

* 12/13/12: Added button on the Model View Edit-Models dialog to show all models at the same scale.

* 11/12/12: Added ability to select multiple contours in slicer and made slicer draw selected contours thicker.

* 5/8/12: Added lasso to Zap toolbar, useful for selecting multiple contours, masking an isosurface, and selecting area for deleting contours below threshold in bead Fixer.

3/14/14: Made the close button on the detached toolbar of linked slicers close all the linked slicers.

3/8/14: Fixed deferring of initial messages to 3dmod on Mac.

3/8/14: Fixed lack of title bar and initial placement of toolbar for linked slicers.

2/26/14: Add options to 3dmod for setting initial center, angles, and zoom.

2/21/14: Added three more colors for arrows drawn with Grab with Note.

2/21/14: Fixed changing transparency during model view movies.

2/6/14: In eTomo - PEET, accepting integer vectors in selectClassID.

1/20/14: Fixed keypad hot keys in Model View on Mac.

1/18/14: Further polishing of Grab with Note, which can now be used to draw multiple arrows in Zap or Slicer windows.

1/11/14: Fixed 3dmod crash when the I button is pressed in Zap and no image loaded, present since 4.6.29.

1/2/14: Fixes in 3dmod for problems with toolbar and popup menu and new model view tool windows.

12/25/13: Changed description of hot keys in help files and tooltips to show plain letter as upper instead of lower case (S not s) and shifted letter with Shift+ instead or just upper case (Shift+S not S).

12/19/13: Fixed File-Extract File when subarea of volume or volumes of different size are loaded or when the time lock is on.

12/13/13: Fixed 3dmod button resizing in Windows when change font size.

12/12/13: Fixed position tracking in pixel view window from XYZ window.

11/20/13: Fixed 3dmod crash from loading many files through startup window.

11/4/13: Fixed scale bar drawing from montage snapshot of model view window.

10/21/13: Fixed a problem that crashed 3dmod when a slicer angle is very small, such as when doing mouse-rotating.

8/20/13: Made contour copying work with contours selected in multiple objects.

8/7/13: Inverted the false color ramp for value displays to match the polarity of the ramp for image display, so that "hot" is bigger. Added color ramp bar to the Values panel of the Model view Object Edit dialog.

7/24/13: Fixed 3dmod crash when etomo tells it to load an empty X-ray model.

7/3/13: Fixed 3dmod autocontrast for zoomed-down display of a subarea when Subarea option is not checked.

6/24/13: Based fill value when displaying incomplete or spread-out montage on the image mean.

6/7/13: Fixed 3dmod icon missing from dock on Mac, adopted a higher-resolution version from Mike Strauss.

5/22/13: Fixed 3dmod recognition of DigitalMicrograph files to work with file from tilt series.

4/5/13: Made it possible to do a model view movie with no change in display.

2/27/13: Fixed problem of 3dmod quitting during initial load due to messages to Bead Fixer.

1/15/12: Defined a file chooser plugin for 3dmod.

1/15/12: Fixed behavior when startup window is used when started as 3dmod and model view is selected, so that it actually runs 3dmodv.

1/9/13: Fixed problems with 3dmod messaging caused by change to rotation.

12/12/12: Made 3dmod print length and area of lasso when it is completed.

7/17/12: Made scale bar in Model View show up as black and be controllable by the White checkbox if image display is on.

Changes in General Processing Programs

* 12/6/13: Added option to Imodinfo to get contour lengths broken out by fine-grained color, and made -o option provide object list for all outputs.

* 10/25/13: Changes in Tiltxcorr: shift limits are now applied in an elliptical rather than rectangular region; implemented a new, more selective method for excluding the central peak due to fixed pattern noise; added an option to compute normalized correlation coefficients at multiple peak positions and pick the highest (not useful so far).

* 9/19/13: Added ability for Xfsimplex to load data with antialiased image reduction and made Xfalign call it in this mode, so that filtering now happens after reduction instead of before. This avoids problems with very large images and makes the effect of filtering somewhat more predictable, but has changed the effect of the filters for autoalignment in the Join and Serial Section interfaces.

* 8/18/13: The Serial Section Alignment guide now describes how to use the interface in eTomo.

* 7/3/13: Added Newstack option -twodir for stacking two files of bidirectional tilt series.

* 6/9/13: Added options to find warping transforms to Xfalign and changed Tiltxcorr to take pairs of raw and aligned sections so that it can find warping when only F transforms exist.

* 6/9/13: In Xfalign, implemented local fitting for warping transforms to avoid bad buildup of cumulative warps over many sections, made the reference section option work with warping, and added an ability to do robust fitting to transform components to keep the alignment from being thrown off by isolated aberrant images.

* 6/4/13: Added options for inverted the Z order of the output to dm2mrc, raw2mrc, and tif2mrc.

* 5/27/13: Tiltxcorr can now produce a file of warping transformations with a variant of patch tracking.

* 5/27/13: Made Patch2imod able to produce a model from warping transforms.

* 5/27/13: Midas: Added input option to specify sample sizes instead of chunks sizes so that selected sections can be constrained better; added controls for see warping vectors and selecting warp points based on size of their shifts; improved cross-correlation around warp point to reduce need for iterating.

* 3/12/13: Newstack has an option -fromone to allow section and line numbers to be numbered from 1 instead of 0, and an option -exclude to specify sections to exclude; Colornewst accepts -fromone but not -exclude.

* 3/12/13: Newstack can read input with antialias reduction instead of binning, so -shrink can be combined with essentially all image transformations.

* 2/23/13: Added script Makepyramid for making an image pyramid.

* 1/14/12: Made Mrc2tif able to save TIFF files organized in tiles.

* 12/13/12: Made Clipmodel able to clip contours or points by value and retain fine grained properties in all operations; added option to update object min/max value; changed it to remove empty contours and added option to keep them.

* 10/19/12: Made Tif2mrc able to read metadata in files from TVIPS acquisition software and produce a .rawtlt file and a title in the header with tilt axis rotation angle.

* 10/4/12: Pixel sizes are now obtained from DigitalMicrograph files and stored in output file by dm2mrc. They are read from TIFF files and stored in output file by tif2mrc if they are less than 1 micron, with an option and environment variable to override that limit. 3dmod will assign these pixel sizes to a new model when reading such files.

* 8/30/12: Supermontaging changes: split Edgepatches into two, with a new program Setupstitch to set up the info file. Added options to edgepatches to help with fixing problems in initial 2D correlations. Changed Stitchalign and Tomostitch so the volumes are not shifted into alignment during warping but using piece shifts in Blendmont, to guarantee that Blendmont's overlap zone analysis includes the actual overlap. Made all patch models show false color value display without having to turn it on.

* 8/28/12: Boxstartend now sets the origin correctly when extracting to separate files so models will be interchangeable between full and subvolumes.

* 7/29/12: Added a script, Onegenplot, that will use Genhstplt to make a single graph with a relatively simple set of command-line options, and made numerous changes to Genhstplt to improve its usability for this purpose, including the ability to rearrange data so several columns can be plotted at once versus another column.

* 7/17/12: Added options to Newstack for setting mean and SD of output images and for omitting extra header from output.

* 7/13/12: Made Model2point able to output general point or contour values, and Point2model able to read in point files with such values.

* 6/21/12: Made Xfalign support color image files, added an option to enter sections numbered from 1.

* 6/5/12: Added options to Point2model to set scale and origin directly.

* 4/27/12: Added imod-dist, a program by Rick Gaudette for reporting distances between points in a model and a reference location.

* 4/17/12: Added Colornewst to process RGB color files with Newstack.

3/22/14: Fixed newstack when -fromone used with default section list.

2/13/14: Switched default antialiasing filter for Newstack to Lanczos 3.

1/29/14: Changed Newstack floating to truncate images with extreme ranges instead of scaling them to a different mean/SD.

1/14/14: Fixed bug in clip multiplying while unpacking 4-bit data, added rounding in clip multiply or divide when outout is to an integer.

1/12/14: Made Imodchopconts able to chop up or sort out contours based on fine-grained color.

12/19/13: Allowed X, Y, and Z limits out of range for Trimvol.

11/21/13: Changed Corrsearch3d to use dynamic allocation, load from file more efficiently, and use multiple threads for some steps.

11/5/13: Fixed bug that crashed Imodfindbeads when adjusting size downward.

11/4/13: Make xfalign apply shift limits in initial cross-correlation.

11/4/13: Made mrc2tif use 4 or 5 digits for all output file numbers if needed.

11/1/13: Fixed bug in imodtrans -3 option introduced 12/8/12.

10/22/13: Fixed another warping-related crash in Midas.

10/15/13: Fixed numerical problems in drawing code that crashed Midas on big images in 64-bit Windows.

9/24/13: Prevented tomodataplots from putting out an empty file and Onegenplot from going into an infinite loop on an empty or inadequate file.

9/20/13: Added option to Reducecont to replace each contour with a set of points evenly spaced along the contour.

9/3/13: Added option to Edpiecepoint to create list ordered first by Z.

8/30/13: Added option to Genhstplt to form linear combination of columns.

8/23/13: Fixed Tiltxcorr to compute warping with a seed point model.

8/23/13: Fixed Newstack to set output size properly for +/-270 rotation.

8/15/13: Made Newstack floating scale images with extreme ranges to different mean and SD to preserve dynamic range for other images.

8/12/13: Added ability to scale output from clip multiply and divide.

8/8/13: Added Clip options to print histogram and unpack 4-bit data.

7/31/13: Clip multiply/divide can have a stack as first file and a single image as the second file.

6/24/13: Added option to Boxstartend to taper incomplete boxes near edge of volume inside or outside of the image data boundary.

6/23/13: Rotatevol has an option to rotate by the inverse of the specified angles.

6/5/13: Added value for maximum distance between contour points for the surface output of imodinfo.

5/27/13: Made Xf2rotmagstr able to read warping files.

4/9/13: Made shift limits to Tiltxcorr apply to shift from one view to next when using cumulative correlation.

3/13/13: Tiltxcorr can do its image reduction with antialiasing instead of simple binning and it has an option to start from the last image at minimum tilt instead of the first, which reverses the order for untilted images.

3/7/13: Xfalign can now do cross-correlation only with -params -1.

2/26/13: Fixed suppression of "unknown field" messages in Tif2mrc.

2/21/13: Made Binvol able to use antialiased reduction in Z instead of binning.

2/7/13: Changed Reducemont to PIP input and made it able to handle arbitrarily large input pieces or images so that large images can be broken into tiles.

2/1/13: Fixed blendmont array allocation.

1/31/13: Fixed graphics module so Onegenplot will exit when window is closed on all platforms.

1/22/13: Switched Addtostack to dynamic array allocation.

1/10/13: Fixed problems with list reading from fortran introduced 8/24/12.

12/31/12: Fixed reading of views from ascii model file.

12/31/12: Fixed -scaled option to Model2point, which was never read in.

12/18/12: Fixed Edgepatches to use original Z shift when using X/Y shift from projxf.

12/17/12: Added right click menu to Plax graphing window to allowing printing the graph or saving to a PNG file; also, in Genhstplt, left-clicking pops up the coordinates clicked. Made Genhstplt draw black on white by default.

12/16/12: Made Genhstplt able to plot in color in the graphics window and in the postscript output; added option to Onegenplot to specify color by R,G,B or by a standard color name.

12/9/12: Fixed Xyzproj and clip 2D average to preserve pixel size.

12/9/12: If Z pixel size is 0, MRC header gets fixed so it matches X pixel size.

12/8/12: Modified Imodtrans to adjust model max coordinates when image file is given for reference coordinates, added option to allow scaling of transform shifts, and allowed translations to be combined with transforms.

11/14:12: Fixed imodtrans so output file can be same as input file on Windows.

10/29/12: Made Header report of pixel size from extended header take account of binning up to 4; made Alterheader FEIPIXEL do the same and set a flag to prevent the operation from being done twice; added option to Copytomocoms for converting pixel sizes of FEI files.

10/23/12: Added ability to get Z pixel size from DigitalMicrograph files.

10/4/12: Fixed Blendmont for using good edge limits with the new stitching scheme.

9/12/12: Added a program, Joinwarp2model, to produce a model file from warping control points in joining, which should be used as starting point for a refining model.

9/12/12: Properly added Setupstitch to distribution.

7/19/12: Added option to mtk to switch to making graphs of distance to nearest neighbor instead of distance to all neighbors.

7/17/12: Replaced eigenvector solving routine in nad_eed_3d with one compatible with open source. Results are slightly different and speed is improved by 13%.

6/22/13: Converted Clipmodel to PIP input, fixed point output.

6/21/12: Added an option to Blendmont to specify a value for filling blank regions.

5/26/12: Changed -linear option to Imodfindbeads to allow use of antialias image reduction instead of regular interpolation.

5/11/12: Parallelized clip smooth with OpenMP and made it use a much faster routine for a float input data.

5/4/12: Added a filter useful for defringing images taken with phase plates to mtffilter.

5/3/12: Added model view information to ascii model format, but excluding object views.

4/15/12: Made clip splitrgb able to extract a subset in Z, and joinrgb able to append to an existing color file, so that a file can be processed in chunks.

Changes in Infrastructure

* 1/30/14: Switched to outputting signed bytes by default. BYTE FILES WILL NO LONGER BE READ CORRECTLY BY VERSIONS BEFORE IMOD 4.3.

* 1/8/14: Made all C/C++ programs except Raptor able to read TIFF and MRC-like file formats, made it possible to direct output to a format specified by environment variable. TIFF stacks are now written with min and max of the file in the last image directory and these values are used when reading a stack.

* 1/2/14: Replaced Fortran image I/O system with system used by C programs. Fortran programs can now read TIFF, DigitalMicrograph, and other MRC-like files.

* 7/16/13: FFTs: Switched to FFTW for Fourier transforms in most distributions, which will use multiple threads depending on transform size. Changed IMOD FFT routines to produce the same transforms. 2D transforms are now complex conjugates of what they were. 3D transforms are now correct and no longer are mirror images in the XZ plane. Switched to array allocation in Fftrans and Enhance and eliminated used of disk-based routines for large images. Eliminated broken disk-based 3D FFT from Clip. Changed the way Clip writes transform files when Y or Z is odd to put data in proper order, made Fftrans work properly and produce same format of output in case of odd sizes. Eliminated ability to read old mirrored FFT files. FFT's ARE NOW INCOMPATIBLE WITH ONES FROM PREVIOUS VERSIONS.

* 6/13/13: Made processchunks watch for jobs taking way too long and kill them.

2/7/14: Fixed problems with installer on Python 2.5 and Python 3.

2/1/14: Made installer able to take a .csh file, so it can be used to upgrade on Windows without Cygwin.

1/31/14: Fixed installer test for 32/64 bit mismatch and added test and message about libjpeg 6.2 on Ubuntu.

1/28/14: Restored fortran graphics program wrappers to Mac build, lost 1/13.

1/16/14: Change eTomo to make it independent of Cygwin. Fixed a problem with killing processes on Windows.

7/22/13: Made all python scripts properly put IMOD on front of path in Cygwin.

7/17/13: Made processchunks set a thread limit of 1 by default unless running a single com file or running with GPU option, with a new option to set the limit higher.

6/18/13: Made a subm script to start submfg in the background in cases where the subm alias is not available; added a man page for subm.

6/17/13: Made a new Imodkillgroup that can kill a process tree as well as a process group, and that works on Windows without Cygwin. Changed Processchunks to use this for all non-queue kills, thus fixing killing on Windows. Also added b3dwinps and b3dtouch for eTomo to use instead of Cygwin calls.

6/11/13: Made processchunks able to send jobs to specific GPUs.

2/21/13: Fixed bug in Vmstopy when translating cp and mv with a filename starting with f.

2/7/13: Fixed ability of Fortran programs to read more than 2 GB in one call.

12/8/12: Modified Imodtrans, Imodjoin, and raw2mrc to put error output to standard output.

11/12:12: Processchunks: fixed a problem where a "+" in the dataset name caused processchunks to fail.

8/2/12: Made usage statements and manpages from PIP show abbreviations of short names.