Changes for IMOD 5.1

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

Changes in Tomogram Processing

** 12/29/21: Added cross-validation capability to Tiltalign by measuring error of point left out the fitting on multiple runs; changed Alignlog to extract these errors, and made Restrictalign able to select more restricted variables based on leave-out errors.

** 12/23/20: Added option to Tilt to make reconstruction directly from raw stack images.

* 10/3/24: Fixed Ctf3dsetup and Subtomosetup to apply correct scaling to gold-erasing model when reconstructing with binned raw input.

* 10/3/24: Fixed Reducefiltvol to scale defocus from .defocus file to microns.

* 9/17/24: Made Header look in mdoc file for pixel size or tilt axis rotation information if lacking and output them in ways that Etomo will recognize; expanded the option to set pixel size in main header for an FEI file (on by default in Etomo) so that it applies to a pixel size from an mdoc file too.

* 8/20/24: Added option to specify a reference SD of unbinned images to Tilt so that it can adjust the linear scaling to compensate for reduced data range with binning, and made Copytomocoms add this entry to tilt.com, as well as take it into account when initializing linear scaling.

* 7/14/24: Added system template cryoAccurate.adoc that defaults to using 3D CTF correction, supersampling by 2, and positioning with no X-axis tilt.

* 7/14/24: Changed Tiltalign so that the option to set number of local patches indicates the number that would be used if fiducials span the X and Y range, with fewer used when fiducials occupy a subarea. This will not take effect until Etomo can reflect the change and only with newly created files.

* 4/28/24: Added a -halffloat option to Copytomocoms, and a setupset directive for setting it, plus -halffloat options for Makecomfile and Ccderaser, so that processing in Etomo will make most output files be 16-bit floats.

* 4/28/24: When a template entry turns off the LOG option to Tilt, Copytomocoms now determines the SD of some raw stack images and adjusts the SCALE value to give an output from Tilt with an SD of roughly 200.

* 2/1/24: Fixed problem with Restrictalign failing when there were too few points for robust fitting. Sped up Restrictalign for local evaluations by skipping global cross-validation and reducing coverage when there is a great excess of points. Made Batchruntomo use this, only run local evaluation once, and copy logs from first run to _local and _global logs.

* 3/2/23: Revised tomography guide to cover cross-validation.

* 2/28/23: Switched Batchruntomo to run Restrictalign with cross-validation.

* 10/7/22: Changed Ctf3dsetup and Subtomosetup to invert the defocus offsets in Z by default if the option to invert tilt angles is set in the CTF correction command file; changed or added inversion options to override that default; corrected and expanded the explanation of these inversions and centralized it in a section in Ctfplotter man page.

* 8/4/22: Fixed origin values produced by Tilt when reconstructing from raw data with a +/-90 degree rotation and a 1/2 pixel error in origin with an odd thickness. TOMOGRAMS FROM 3D CTF MADE WITH THE RAW STACK NOW HAVE DIFFERENT ORIGIN VALUES, MATCHING THOSE IN TOMOGRAMS FROM THE AlIGNED STACK. Load existing models with -m or use imodtrans -I.

* 3/29/22: Changed align.com to do cross-validation by default and changed default local area requirement to 10 fiducials with minimum of 4 on one side, up from 8,3.

* 1/15/22: Made Restrictalign able to use cross-validation to select parameters that avoid overfitting.

* 2/18/21: Added script Alttomosetup to make command files for processing of alternative stacks use the same alignment as the main stack in a dataset.

8/20/24: Fixed Copytomocoms putting out Voltage in com files as a float.

8/20/24: Fixed tilt.log so Etomo PEET can read angles from it.

8/11/24: Reduced criterion for beads to be considered clustered in autoseeding to 1.375 * bead size to allow more points that shouldn't have trouble tracking.

7/30/24: Fixed Ctf3dsetup to make half-float output when Tilt is set to do so.

7/25/24: Made Restrictalign determine number of full tracks and unique points in patched tracking models with chopped contours so it could decide properly whether to use fallbacks.

7/25/24: Added check in Copytomocoms for tilt angles all the same.

7/4/24: Added option to Tomopitch to keep X axis tilt at 0.

6/27/24: When Dualvolmatch finds best pair of tilts at end of search range on a refinement step, it will now shift the range and try again at that step size.

5/2/24: Changed default outside tapering of aligned stack in Newstack to 0.5% of image size.

5/2/24: Made origin values for Tilt reprojection match input projections.

4/30/24: In Tilt, made header with PARALLEL or RotateBy90 match that from running clip flipyz or clip rotx on PERPENDICULAR tomogram. Improved the efficiency of writing with these options by buffering the transposed output.

4/30/24: Fixed uninitialized variable in Findsection that led to allocation failures.

4/22/24: Added ability to make an aligned stack and reconstruction with a small change in pixel size (see Tomography Guide Advanced Topics).

4/17/24: Fixed Gaussian falloff in Tilt radial filters when running SIRT with internal iterations.

2/18/24: Fixed uninitialized variable in Tilt that would make PARALLEL option crash or work wrong.

2/5/24: Put conversion of coarse aligned stack to bytes in batch defaults so it can be overridden in the Advanced screen.

2/2/24: Added option to Subtomosetup and Ctf3dsetup to apply CTF correction as if tomogram were still positioned in Z at what coarse alignment would give.

2/2/24: Added directive to prevent Batchruntomo from adjusting the angle offset in align.com.

12/26/23: Fixed problem with Serieswatcher if the delivery directory is explicitly set to the directory being watched.

12/20/23: Fixed problem that crashed Pickbestseed with new compiler.

11/11/23: Changed Serieswatcher to treat the GPUs as a pool managed by Gpuallocator, to update the active ebt file before quiting or finishing, and to give output useful for running from Etomo.

10/9/23: Fixed pixel size for CTF correction in Subtomosetup when option is used to make new aligned stack with different binning.

8/24/23: Fixed Batchruntomo to reverse translate a path for messages watched by Etomo only when the path was forward translated.

8/19/23: Fixed problem with translating remote directory in parallel batch.

8/13/23: Fixed Imodfindbeads to print the true number of points being stored when a fallback storage threshold is used, to avoid misleading Autofidseed.

7/31/23: Fixed Batchruntomo ignoring directive for gold-finding thickness if there are fiducials on two surfaces.

6/30/23: Fixed Tilt not to screw up Z pixel size and origin when run in parallel and making an HDF file as output.

6/15/23: Made Tilt reconstruct an extra-large slice when super-sampling to move ringing artifacts at edge outside of final region retained after Fourier reduction.

6/13/23: Added option to Subtomosetup to stack subvolumes into a volume stack.

5/26/23: Made Batchruntomo handle situation where there are multiple translations of the home directory mount point needed.

4/21/23: Stopped Batchruntomo from putting out lines after Restrictalign finished that hung or confused Etomo's monitoring.

4/20/23: Fix uninitialized variable in Alterheader that make tilt-finish fail with a bizarre filename.

4/12/23: Changes to various scripts to allow spaces in data set name.

3/20/23: Added batch directive to 'deliver' stacks by making symbolic links.

3/16/23: Changed cpu.adoc attribute needed to specify cores available to a job when running Batchruntomo on a cluster to CoresPerClusterJob because the existing attribute, coresPerNode, had a completely different meaning. Also changed attribute gpusPerNode to gpusPerClusterJob just for clarity.

3/16/23: Added option to Autofidseed to just find the shifts between beads on adjacent views near zero tilt.

3/14/23: Made Batchruntomo give an error before starting a set if supersampling with expanded input lines is specified for 3D CTF correction with unaligned images.

2/28/23: Modified testing strategy in Restrictalign to make one change for a variable and go on to test others; also added option to permute order of testing some variables, for more exhaustive tests that don't depend on order.

2/25/23: Added pixel filling with noise in golderaser to cryo template.

2/21/23: Added option to Excludeviews for applying exclusions already done on a main stack to an alternate stack, and modified Alttomosetup and Swaptomostacks to exclude views properly when processing an alternate stack.

2/19/23: Fixed Newstack's test of whether to tranpose X and Y output sizes, which was giving wrong sized prealigned stacks.

1/10/23: Made Alttomosetup restore files if they are already swapped, and added option to just do this and exit.

10/25/22: Fixed Splitbatch tests for allowed combinations of queue and other options.

8/31/22: Added option to Ctf3dsetup to invert the sign of the Z offset during CTF correction to accommodate upside-down tomograms.

8/25/22: Made Batchruntomo accept defocus range to scan instead of defocus.

8/4/22: Changed output from Beadtrack of residuals with sobel and centroid centering to nanometers so it is easier to compare different binnings.

8/3/22: Made Tiltalign skip cross-validation when run from bead fixer; changed formatting of errors to show 4 decimal places when below a threshold.

7/31/22: Batch reconstructions being done in parallel can now be run on a cluster, but must be run through Processchunks at the command line.

7/22/22: Fixed treatment of defocus tolerance as float in Ctf3dsetup and Subtomosetup.

7/4/22: Added an option to Processchunks to specify a pool of GPUs that can be override the GPU machine list in the Batchruntomo command file, and fixed the probing of secondary machines in when runnig batch in parallel.

7/1/22: Fixed Splitbatch to substitute the local host name when local GPU is selected in Etomo.

6/22/22: Add environment variable so Batchruntomo can run Ctfplotter in Linux without generating an error when there is no display.

6/16/22: Added options to Batchruntomo so that parallel batch can run on machines that diverse directory mount points (i.e., having a mountrule in cpu.adoc).

5/5/22: Fixed scaling of output model from beadtrack with non-zero origin values in header.

3/29/22: Fixed infinite loop in Restrictalign.

11/11/21: Fixed Tiltalign error reading tilt angles when excluding views.

11/10/21: Added options to Subtomosetup to make a new aligned stack and to control when GPU is used; made it able to do all aligned or raw stack processing operations regardless of whether CTF correction is being done.

11/8/21: Made Processchunks able to run command files in other directories. Added options to Subtomosetup and Splitcorrection to make command files in another directory.

11/2/21: Changed the way Batchruntomo can be run in parallel: Splitbatch now produces a com file per data set, and Processchunks manages the allocation of CPUs to the batch runs dynamically.

9/27/21: Added -dosesym option to Copytomocoms to specify starting angle of dose-symmetric series; the negative of this provides an angle offset for Tiltxcorr, Beadtrack and Tiltalign.

8/5/21: Fixed cryopositioning in Batchruntomo when GPU is being used.

6/30/21: Fixed Tiltalign to read exclude lists, broken in 4.12.7.

6/15/21: Fixed Beadtrack with SeparateGroup entry, broken in 4.12.7.

6/10/21: Fixed bug in Tilt that made falloff sigma be 0, introduced 12/28/20.

6/3/21: Fixed problems with using "[" in tilt series filenames and allowed tomogram setup to be done with such names.

6/3/21: Converted Tiltalign to C++, parallelized some steps.

5/21/21: Made tomogram sampling able to make the aligned stacks have enough lines to reconstruct the samples given the thickness and X axis tilt.

4/16/21: Added option to Extracttilts to create a dose information file for an image stack taken with FEI software given a fixed dose per image.

2/25/21: Added scripts for splitting up a Batchruntomo command and for dynamically assigning GPUs to Batchruntomo when needed, so that batch can now be run in parallel.

2/18/21: Made Batchruntomo store X and Y limits for trimming in the .edf file for Etomo to display and reuse.

2/16/21: Made Batchruntomo able to do 3D CTF correction.

1/3/21: Made Rawtiltcoords take account of distortion correction if any.

1/3/21: Added options to Subtomosetup and Ctf3dsetup to allow reconstruction from raw stack images.

12/28/20: Added option to Tilt to read in only the subset in X that is needed for the reconstruction. Made output scaling nearly constant when using an aligned stack that is a subarea.

12/17/20: Added options to Tilt to read in radial filters and use areas of intersection between projection rays and pixels instead of interpolation.

Changes in Ctfplotter

** 7/21/22: More changes to Ctfplotter: * Automatic tuning of fitting range, cropping, and power spectrum resolution available on startup as an option or later from a button in plotter window. * "Angles", "Fitting" and new "Settings" button replaced by a "More..." button that pops up a menu. * Local but not global settings are saved after a batch run. * Default angle range in command file changed to 7.2 to give 3 views with 3-degree series and 5 views with 2-degree ones.

** 7/16/22: Added option to Ctfplotter to scan a range of defocus values instead of relying on an expected defocus, made changes to make it easier to run with a single image from command line, made default defocus tolerance 50 nm, removed defocus tolerance and power spectrum resolution from command file so that they can be read from settings on restarting.

** 7/14/22: Changes to Ctfplotter: * Ability to set a tilt angle offset, and button to get an estimate of how to set it, as well as to test for whether tilt angles need to be inverted. * Use of padded, rectangular tiles to reduce blurring of spectra from focus variation within individual tiles at higher tilts. * Ability to change power spectrum resolution as well as crop to a pixel size, so that the entire spectrum with many zeros can be analyzed with enough points per zero. * Better, more symmetric arrangement of tiles within the image area. * Settings saved between runs: ones that do not conflict with option entries are automatically reloaded when restarting, with a dialog available to load the rest of the settings or ones from a global file. * An option for automatic truncation of the fitting range using an analysis of local correlations between the spectrum and fitted curve, allowing the fitting range to be set at zero tilt and used for the full tilt range. * Ability to set the start of the fitting range by right-clicking below the first zero.

* 6/26/23: In Ctfplotter, added ability to autofit to higher number of views above a certain angle and an automated method for estimating tilt axis offset.

* 9/2/22: The default angle range in Ctfplotter was not changed to 7.2 on 7/21 but has now been changed.

* 8/31/22: Change test of left-right differences in Ctfplotter to give a clear result when angles do need inverting and to clarify messages.

8/20/24: Fixed Ctfplotter problem with the fitting range for autotuning and made it put out a CCC for SerialEM even if autotuning fails.

5/2/24: Added option to Ctfplotter to test for need to invert tilt angles and exit.

3/12/24: Fixed Ctfplotter crash turning on automatic truncation or downweighting, introduced 7/31/23.

3/4/24: Fixed Ctfplotter losing pixel cropping value from ctfplotter.info if it does just a defocus scan.

2/18/24: Fixed Ctfplotter crash and bad computations with RHEL 8 build.

11/6/23: Fixed Ctfplotter not drawing fitted curve if it starts with extreme values. Added a way to print final spectra during autofitting.

11/1/23: Fixed a crash in Ctfplotter.

10/30/23: Made Ctfplotter crop to minimum pixel size of 0.105 nm and prevented some bad initial fitting ranges with very small pixel sizes.

10/23/23: In Ctfplotter, allowed the -frequency to take a value just for the start of the fitting range and allowed Angstroms to be entered instead of reciprocal pixels. Fixed fitting problems when the fitting range starts past the first zero.

9/26/23: Fixed array size in autotuning that made Ctfplotter crash in 32-bit Windows at least, and made 32-bit version less likely to have memory failures.

9/25/23: Fixed uninitialized variable in Ctfplotter that affected thread limits.

9/8/23: Fixed Ctfplotter scanning for defocus when there is an expected phase shift and changed criterion so that autotuning would work with 3 zeros within 2/3 of Nyquist.

8/23/23: Increased thread limits for Ctfplotter on AMD processors with > 8 cores and others with >= 12 cores; speeds it up 50% and 13%, respectively.

8/13/23: Fixed Ctfplotter showing cut-on frequency as fallback when it is not.

7/17/23: Added options to Ctfplotter to save compressed TIFFs instead of PNGs and to specify filename when running with single image.

5/24/23: Fixed Ctfplotter autotuning to actually apply cropping when the original pixel size is > 0.27 nm, not just repeatedly decide it needs it.

4/29/23: Updated Ctfplotter guide and added an example to CTF tutorial.

4/25/23: Fixed failure to flush cache in Ctfplotter when just the tilt angle offset is changed, and fixed reading offset from settings.

4/20/23: Added option to Ctfplotter to include the button to test left-right differences and the tilt angle offset field in the main dialog instead of the tile and wedge parameters section.

4/14/23: Fixed Ctfplotter if used with noise file, broken by speedups on 10/25/22 at least when finding astigmatism.

4/3/23: Starting saving value in spin box for number of zeros to fit in Ctfplotter settings.

10/25/22: Multithreading and other changes in Ctfplotter have sped it up by a factor of ~2.5 overall and reduced time for initial steps even more.

10/10/22: Stopped FFT cache in Ctfplotter from building up indefinitely.

10/8/22: Made Ctfplotter autotuning able to fall back to usable settings if the defocus goes astray; small improvements for running from SerialEM.

9/1/22: Fixed Ctfplotter crash using noise images.

8/23/22: In Ctfplotter, improved defocus scanning and made it cache FFTs to be reusable for overall and wedge spectra.

8/20/22: In Ctfplotter, added output of overall CCC and fixed some problems with finding phase and autouning when skipping defocus scan.

8/18/22: In Ctfplotter, fixed problems when scanning defocus without tuning; made Autotune button turn into Undo Tune after running, to prevent iterating and allow a way to get back to previous settings; added "More" menu option to discard settings on exit; made it use PS resolution changes only, if possible, to save time when running with a single image; allowed the fitting range option to set just the end of the range.

8/3/22: In Ctfplotter, fixed two problems with the new weighting/truncation option, fixed a problem with changing spectrum resolution, sped up changing of PS resolution by resampling existing hyper-resolution data in most cases, and allowed PS resolution to be changed with noise files.

8/25/21: Added ability to save graphs from Ctfplotter as PNGs, including when running from batch.

Changes in Etomo

** 6/26/23: Converted squeezevol panel to run reducefiltvol.

** 3/10/23: In Etomo - Batchruntomo, added support for clusters.

** 1/19/23: Added Alt Stack tab to post-processing dialog to run Altomosetup and generate a tomogram from alternate stack.

** 6/14/22: In Etomo - Batchruntomo Interface added the ability to run multiple data sets in parallel.

** 1/24/21: Alignframes interface in Etomo is now available and guide has been revised to include notes on processing EER files.

** 4/23/21: In Etomo - Tomogram Generation, added an interface for 3D CTF.

** 2/23/22: Added Subtomograms panel to Post-Processing dialog for single-axis non-montage dataset. The Advanced/Basic button is now present on post-processing dialog is now set to be visible.

* 11/11/24: Made findbeads3d the default erase beads method.

* 10/30/24: Fixed Etomo not writing the restrictalign.com file after it was first created, which kept cross-validation from being run on local parameters if it was already run on global variables.

* 7/25/24: Added the CopyTomoComs parameter HalfFloatModeOutput to the reconstruction Setup dialog.

* 3/3/23: Add new options for montage alignment of preiodic specimens in Serial Sections/Blend Montages

* 4/27/22: Support dose-symmetric series explicitly in setup reconstruction dialog.

12/10/24: Fixed a problem where the Batchruntomo interface was disabling the dataset fields after a simple validation failure.

12/10/24: Fixed the --timestamp etomo parameter so that it works better and is independent of the --debug parameter.

11/20/24: In Fine Alignment preserving ImagesAreBinned when the prealigned stack is missing.

11/12/24: In Final Alignment fixed the way the right-click menu is opening restrictalign.log.

11/7/24: Removed debug messages from the _err.log, which were appearing when debug was not set.

11/7/24: Removed an incorrect message from the Etomo project log.

10/26/24: Added more popups for closing stale 3dmods.

10/16/24: In Setup Reconstruction renamed the extract tilt radio button.

10/12/24: In Setup Reconstruction added a confirmation popup for deleting a raw tilt file which is to be replaced by copytomocoms.

10/4/24: Improved the handling of relative and absolute file paths.

10/4/24: Fixed how the Use GPU checkbox is initialized in Final Aligned Stack.

9/13/24: Improved the Reduction Factor fields in the Reduce/filter volume tab (Post Processing). Set them to the reduction factor used when squeezevol was applied to input file when possible. Also improved some of the right click menus in Post Processing.

9/4/24: In the Reconstruction setup dialog, Fixed problems with screen behavior when a template is selected.

8/21/24: Improved the Clean Up functionality for standard image file names.

8/21/24: Added parameters for computing the elongation factor to the findbeads3d .com file.

8/19/24: Fixed axis buttons in the Etomo main panel, which were not displaying correctly in all fonts.

8/19/24: Updated the Etomo Tutorial.

8/10/24: Fixed problems that appear in the Settings dialog when it is opened from the Front Page.

8/2/24: Fixed a problem in Etomo where the Settings dialog was incorrectly populated when opened from the Front Page.

8/1/24: Fixed a problem with the display in Basic mode in the Fiducials Seed Model panel.

7/31/24: In Fine Alignment updated the labels and tooltips for the number of local patches variable in tiltalign.

7/11/24: In the Parallel Processing table, changed "# CPUs" to a less misleading "# Cores".

7/9/24: In Tomogram Positioning in Etomo, added a checkbox for the tomopitch NoXAxisTilt parameter.

7/8/24: Added a panel for the EERSuperResZSumPadding parameter to the Align Frames interface.

7/8/24: Fixed the algorithm which splits button labels into two lines. The previous algorithm was working poorly for some fonts, especially on Windows.

5/29/24: Corrected a problem with running "env", which caused it to run duplicate commands.

5/26/24: Attempted to fix a problem that affects monitors which are based on the log file. Java is sometimes unable to find the log file in order to read it.

5/26/24: Fixed a problem where the Reconstruction Setup was not responding to the user configuration file.

5/26/24: Fixed a problem with the blendmont monitor in Serial Sections.

5/21/24: Fixed large font layout problems.

5/3/24: Fixed the delay in opening dialogs that use the Parallel Processing panel.

5/1/24: Pulled template data into ctf3dsetup.com.

5/1/24: Fixed an inappropriate error message popup in Tomogram Generation.

5/1/24: Made it easier to skip running up a final aligned stack, and use the CTF 3D tab in Tomogram Generation instead.

3/14/24: Fixed the file size progress bars.

2/29/24: Removed bad data in the dataset file, which was building up and slowing down the load.

2/15/24: Added the dose symmetric starting angle when available to the .preali file in 3dmod.

2/5/24: Converted CrossValidation in align.com to an integer.

11/25/23: In Etomo - Coarse Alignment, fixed a process monitor problem that happened when blendmont and tiltxcorr where run together.

11/20/23: In Etomo - Settings, fixed the local parallel processing panel so it displays the correct information when cpu.adoc or the IMOD_PROCESSORS environment variable is in use. Also made it possible to add GPU processing when IMOD_PROCESSORS is in use.

11/13/23: In Etomo - Align Frames, fixed a bug where the RotationAndFlip was being added to the .com file when it was not called for.

11/13/23: In Etomo fixed a bug in the parallel processing table where the CPU and GPU Max columns where sometimes missing.

11/8/23: In Etomo, found a more universal work around for the display problem which sometimes causes button names to be truncated.

11/3/23: In Etomo, found a work around for a display problem which sometimes causes button names to be truncated.

11/3/23: In Etomo - Generic Parallel Process, added a panel for converting one line commands into a chunks for parallel processing.

10/13/23: In Etomo fixed integer overflow and other problems with the progress bar.

10/10/23: In Etomo - Tomogram Combination, fixed a problem where a button did not stay selected when its process succeeded.

10/8/23: In Etomo - Batchruntomo Interface added directives and parameter information to the basic dataset tooltips.

10/8/23: In Etomo - Batchruntomo Interface fixed the Advanced button in the row level dataset dialog.

10/1/23: In Tomogram Generation and Post Processing, changed the 3D CTF thickness default to 15.

9/28/23: In Etomo - Batchruntomo Interface, fixed an error in the dataset table which occurred when batchruntomo was killed.

9/28/23: In Etomo - Batchruntomo Interface, fixed an error in the dataset table which occurred when batchruntomo crashed.

9/27/23: In Etomo - Fiducial Model, added a panel for finding shifts near zero.

9/4/23: In Etomo - Batchruntomo, fixed problems with reading mount rules.

9/4/23: In Etomo - Batchruntomo, improved file lock issues in the batchruntomo monitor.

9/4/23: In Etomo - Batchruntomo, added the ability to handle multiple public mount rules.

8/24/23: In Etomo - Tomogram Generation, added the missing NumberOfProcessors parameter to ctf3dsetup.com when running on multiple GPUs.

8/13/23: In Etomo added close buttons to the interface tabs.

8/3/23: In Etomo - Batchruntomo, ensured that the tomogram thickness field in the Positioning section is properly sized and works with different fonts. This also ensures that other fields will be wide enough as the font size is increased.

8/3/23: In Etomo - Batchruntomo, moved the Raptor TargetNumberOfBeads directive to the Basic dialog.

8/1/23: In Etomo - Batchruntomo added the CTF autotune option to the Basic values dialog.

7/27/23: In Etomo - PEET added User Commands to the More Options.

7/14/23: In UItest, making Anisotrophic Diffusion work correctly with HDF file formats.

7/11/23: In UITest fixed the subtomograms test to work with the HDF format.

7/11/23: In Etomo - Post Processing and NAD added the FormatOfOutputFile parameter to trimvol commands.

7/11/23: In Etomo - Post Processing - Subtomogram corrected loading of reorientation type.

6/29/23: Fixed output to project log when bead fixer runs tiltalign.

6/29/23: In Etomo - Post Processing - Subtomogram fixed the front end test so it works with all image file name styles..

6/27/23: Added option to make volume stacks on subtomograms panel.

6/26/23: In Etomo - Batchruntomo fixed problems with the single dataset Advanced dialog field values.

6/26/23: In Etomo - Batchruntomo fixed problems with reconnecting, and allowed reconnecting to a process running on a different computer.

6/26/23: In Etomo - Batchruntomo fixed display problems for parallel processing.

6/14:23: In Etomo fix a bug that caused Etomo to generate incorrect file names When the file included a number that had to be rounded.

4/28/23: Updated Etomo to work with changes to queue sections in cpu.adoc.

3/31/23: Fixed a problem in Etomo where settings could not be saved.

3/29/23: Transition restrictalign to use a command file using makecomfile.

3/23/23: Got Etomo working with Python 3 in cygwin installations.

2/24/23: Modifications to alttomosetup and added button to restore swapped files.

1/28/23: Fixed a problem with the single-row CPU and GPU tables.

1/25/23: Resolved issues with high pass filter and symmetrization in Peet dialog.

1/5/23: Added parameters to etomo to control which computer and queue sections are read. The defaults are the original names ("Computer" and "Queue"). The parameters are "--computersection" and "--queuesection". A parameter can be set to nothing or a nonexistant value to prevent the corresponding type of section from being read.

1/4/23: Fixed initialization of the back projection checkbox in batch interface (in 4.11).

10/24/22: Added batch-test-gui in 'all' section of uitest.make file.

10/24/22: Resolved issue for exclude views being run with wrong extension on Setup dialog.

10/17/22: Gave uitest the ability to run proceesses that put additional information in the progress bar.

10/17/22: Added assertions and behavioral tests in uitest for batchruntomo interface.

10/12/22: Resolved issues for default settings and tooltips related to PEET More Options tab.

9/27/22: Add entry for autofidseed LowerTargetForClustered option.

9/16/22: Added More Options tab in Peet. The field UserCommands is temporarily hidden as the String array issue needs to be resolved.

9/7/22: Correct validation error for scan defocus range in ctfplotter.

8/26/22: In Etomo - Batchruntomo, added ScanDefocusRange.

8/22/22: Got Etomo uitest working on Red Hat 7.

8/22/22: In Etomo - Batchruntomo Interface, added the GPU pool parameter to processchunks calls.

8/17/22: In PEET interface, suppressed the warning on user-supplied reference not being found when it is not being used.

8/12/22: Added scan defocus range field to ctfplotter tab in Etomo.

8/5/22: Made log file windows in Etomo have proper font size.

8/1/22: Allow GPU to be used on a cluster.

7/18/22: In Etomo - Setup Reconstruction, fixed a problem with building the copytomocoms command.

6/19/22: Added ability to set processchunks options via cpu.adoc.

6/2/22: Added GPU option for generic parallel processing interface.

5/31/22: In PEET, handle high pass filter cutoff and sigma in the iteration table.

5/3/22: Insert new/duplicated volume rows after selected row.

4/20/22: In Etomo - Fine Alignment minor fixes for restrictalign panel.

4/19/22: Resolved NullPointerException for pressing Done on Post-processing dialog.

4/2/22: Fixed a bug in Etomo that prevented the B button from working.

4/2/22: Added CrossValidate to tiltalign in Etomo - Fine Alignment.

4/2/22: In Etomo - Fine Alignment moved restrictalign to the main tab and added support for local alignments.

3/21/22: In Etomo - Batchruntomo fixed problems with keeping track of a run through multiple reconnections and resumes.

2/24/22: Added "Value in title" radio-button to rotation and flip for output.

2/24/22: Do not show any text if maximum number of GPUs recommended is -1 in the CTF Correct panel of Final Aligned Stack dialog.

11/10/21: Save files on resume for Peet.

11/2/21: Do not show maximum number of GPUs recommended if only one GPU.

10/27/21: New alignframes interface phase 2; interface fixes and improvements.

10/20/21: Phase 1 changes for new alignframes interface and removing its dependency on --newstuff.

10/19/21: In Etomo - Final Aligned Stack fixed a problem with tooltip formatting which caused Etomo to lock in rare cases (in 4.11).

10/18/21: Minor changes in capitalization, defaults and enabling/disabling for the new alignframes interface.

10/13/21: Tooltips changes for the new alignframes interface.

10/8/21: Resolved file locks on log after failed run in new alignframes interface.

10/7/21: In Etomo moved the Tools to the main frame.

10/7/21: Fixed loading from starting com file in alignframes interface.

10/01/21: Added intensity corrections to montage blending page.

9/15/21: Allow number of local GPUs to be specified in the Settings dialog.

9/13/21: In alignframes interface, added AdjustAndWriteMdoc to .com file and moved new .mdoc file if necessary .

9/9/21: Code modifications to get the uitest for the new alignframes interface working.

8/2/21: Added 'remove trends in rotation' option to Serial Sections' Stack tab. Corrected radio buttons behaviour.

7/1/21: Modifications to code for field validation for the new alignframes interface.

6/4/21: In Etomo fixed a failure in the build unit test.

5/20/21: Added internal functionality to Etomo's comfile parsing.

5/26/21: Added unit tests for new alignframes interface.

5/25/21: Added changes related to the new alignframes interface and addressed timing related issues found during alignframes uitest.

5/20/21: Improved the reliability of the automated front-end test system.

5/16/21: In Etomo - Post Processing fixed a bug that prevented Full Volume from being opened.

5/4/2021: In Coarse Alignment, added spinner for Midas binning.

2/3/21: In Etomo allowed tomodataplots to accept any input file.

Changes in 3dmod

* 4/25/24: Added ability to set 3dmod cache size in GB, and made it limit memory usage to 3/4 of system memory by default, turning on cache if necessary.

* 1/6/24: Added ability to clip model to portion on or near an image plane displayed in model view.

* 6/6/23: Made Interpolator plugin able to handle nested contours if an option is set to analyze for them; added new setting to limit number of contours (re)interpolated at once with Smooth type; fixed some other problems.

* 3/5/23: Added option to scale bar dialog to have scale bar on all snapshots even when dialog is closed, and 3dmod preference to turn off current point markers for snapshots.

12/8/24: Added ability for 3dmod to report the edge and pieces numbers of a montage overlap zone at the current point, and added a button in Midas to open 3dmod and get an edge number to display from it.

9/9/24: Sphere sizes are now scaled when a model is loaded on or transformed to match a volume with a different pixel size.

8/20/24: Fixed half-pixel errors in Y and Z when 3dmod opened with -Y initially loads a model that needs rotating too.

4/29/24: Used all three open symbols to mark connection points.

4/29/24: Fixed using different connection number to end meshing to part of an open contour after a gap.

4/28/24: Fixed fitting plane to contours in planes parallel to the Z axis when setting slicer angles to show contour and when meshing such contours.

4/26/24: Added option to show Slicer plane in Model View window.

2/8/24: Made 3dmod keep track of file chooser directory and open one in last directory, without changing current working directory.

2/5/24: Added 3dmod option to set tilt angle of image to show initially. Made it switch to nearest view with model points when it gets message to open Bead Fixer.

1/24/24: Extended clipping added 1/6/24 to show entire model in front of image plane.

1/23/24: Fixed Write files checkbox being unclicked in model view movie when starting to run a sequence; fixed Full 360 to go back to the starting point.

1/6/24: Fixed problem with 3dmod exiting when model view is last window closing.

11/13/23: Added option to 3dmod to exit program when last image window is closed.

9/15/23: Allowed contour selecting with Ctrl-Shift first mouse button to work with Drawing Tools open.

7/24/23: Fixed autocontrast target controls in 3dmod preferences dialog.

6/28/23: Added ability to get FFT in Zap with Shift-F hot key.

6/11/23: Made 3dmod load a volume stack as volumes at multiple times unless overridden with the -T option.

6/11/23: Added limit to number of linked slicers to open, set in 3dmod preferences, and made linked slicers step through time in tandem to show the next set of times when there are more times that slicers.

6/11/23: Made Sculpt in Drawing Tools retain gaps between points, or open ends of open contours in closed objects.

5/26/23: Fixed 3 crashes from Drawing Tools with no current point selected.

5/20/23: Added antialiased reduction for image display in model view window and fixed crash and display problem with a tile cache loaded as integers.

4/14/23: Added buttons to Surf/Cont/Point dialog to set a point label with the contour's length or area.

4/3/23: Fixed crash opening XYZ window.

3/15/23: Made 3dmod shorten model filename shown in Information window.

3/5/23: Added time toolbar to XYZ window.

3/2/23: Fixed ghost mode hot key if there are not settings, fixed chunksetup default overlap to be 8 not 4.

2/28/23: Added options to Edit Object Type window to copy color and name also.

1/16/23: Added option to View menu of Model View to show current object bounding box.

1/16/23: Added button to 3dmod Edit-Image-Reload window to reload without rescaling the data, and explicitly supported reloading from files changed on the fly in all OS's.

12/9/22: Added ability to set or clear a range of buttons in the Model View Object List dialog by holding the Shift key down.

10/25/22: Started storing Long way and Reverse settings as part of a movie sequence in model view.

8/18/22: Another change to fix 3dmod autocontrasting at start.

7/25/22: Another change to fix 3dmod autocontrasting at start.

6/6/22: Fixed resizing of XYZ window with Shift-R.

6/4/22: Fixed autocontrasting at start with zoomed-down image.

6/2/22: In 3dmod, 0.5 is added to the screen pixel location before converting to an image coordinate in Zap and Xyz, so clicking is effectively in the middle of the pixel.

5/20/22: Improved updating of isosurface when masking with Zap lasso.

2/26/22: Fixed scale bar error when model pixel size differs from image pixel size with only one image loaded in 3dmod.

1/14/22: Added hot key Ctrl-Shift-L to toggle linking model view and top slicer angles.

1/14/22: Added ability to resize XYZ window to fit images at current zoom with hot key Shift-R.

1/12/22: Fixed 3dmod window positioning and sizing on multiple monitors with Qt 6, used in Mac releases for OS 11.

11/20/21: Fixed disproportionate response to mouse moves in various windows and fixed movieing of multiple windows to draw all windows on each cycle.

11/4/21: Fixed model view for Linux.

9/24/21: Implemented new method for picking points in the model view window with the mouse, which should be more reliable and faster than the old method using a deprecated feature of OpenGL.

6/17/21: Added buttons to Model View Edit Objects to remesh a subset of sections after stepping the subset up or down in Z.

6/17/21: Added 3dmod options to omit meshes from autosaves to make them faster for large models.

6/4/21: Added option in 3dmod to make the modeling cursor bigger than the size set from the DPI and added a bigger cursor.

2/11/21: Made 3dmod able to use the appropriate pixel size for scalebars and measurement when pixel size varies among multiple image files or sections. Mrc2tif can also put variable pixel sizes into the output files.

Changes in Model-handling Programs

10/3/24: Fixed Xfmodel not to adjust for 90-degree rotation automatically, only when an option is entered.

7/4/24: Added option to Point2model to turn on false color display of values.

4/30/24: Fixed Xfmodel when transforming between images with transposed X and Y sizes because of a ~90 degree rotation.

3/26/24: Fixed Imodauto error whenever there are slices with no contours, broken in IMOD 4.12.33.

2/20/24: Added options to Imodextract to specify object groups instead of objects, and to specify object or groups to delete rather than ones to retain, and made it maintain object groups properly regardless of how objects are specified.

2/7/24: Added option to Imodfillin to remove contours inside other ones.

1/12/24: Made meshing able to handle capping of annulus-type structures.

10/8/23: Fixed model allocation in Sda, added input for minimum distance between sphere and surface, added rudimentary man page.

9/13/23: Added environment variable to prevent the wrong connection points being used to define meshing bridge points between contours on same slice.

6/13/23: Added ability to handle time indexes in Model2point and Point2model.

6/3/23: Made Mtk use memory allocation for arrays depending on the number of objects to allow many objects.

2/22/23: Added option to Imodmop to taper padded region in Z as well as X and Y.

2/21/23: Fixed output file option of imod-dist and clarified man page.

1/16/23: Added option to Imodcurvature to allow variable window lengths and parallelized it.

12/9/22: Added option to Imodinfo to produce output for an object group.

11/15/22: Increased memory available to Imodauto to do slices in parallel, and parallelized some within-slice operations when there is just 1 slice.

8/17/22: Fixed uninitialized variable that made Model2point put out point sizes in some versions.

5/28/22: Added option to Imodauto to attach a different image file's coordinate reference information to model.

3/28/22: Changed 3D model transformation to adjust Z by 0.5 for the transformation.

2/13/22: Fixed adding point sizes with point2model.

6/17/21: Added ability to use connection points to specify where two contours on the same plane should be joined in order to mesh with a contour that they branched from.

3/12/21: Added options to Model2point and Point2model to handle point sizes, and expanded integer output from Model2point to handle points and values.

2/9/21: Added option to Model2point to print mesh vertices.

Changes in Alignframes

* 7/7/24: Added options to Alignframes and Framewatcher for dropping frame sets from tilt series that have a low mean or dose in an .mdoc file, and for working with .mdoc files from FEI software.

* 4/23/24: Improved Alignframes support of files from FEI software to get pixel size and corrected tilt axis angle from mdoc and set Y inversion automatically for MRC files if -rfsum -1 entered.

* 2/23/24: Made Alignframes "-rfsum -1" and "-titles" options work for EER files.

* 2/8/21: Made it possible to produce an antialiased, gain-normalized, reduced image directly from full super-resolution data when reading from an EER file; modified Clip, Alignframes, and 3dmod to accommodate this.

* 1/31/21: Added option to Alignframes to output aligned sums of even and odd frames.

8/20/24: Made Alignframes ignore negative entry to -rotation for EER files.

7/7/24: Fixed Alignframes problem using GPU for dose weighting with CUDA 12 and fixed warning about frame dose entry for EER files.

2/19/23: Fixed -axis entry to Alignframes to not subtract 90.

2/23/22: Made Alignframes able to apply a rotation/flip to the sum when a value is specified in a "need" entry in the frame file header.

1/24/21: Added environment variables to set default EER super-resolution and Z summing for 3dmod, Clip, and Alignframes.

10/8/21: Added guide to new Alignframes interface.

9/29/21: Fixed Alignframes trying to access non-existent mdoc file.

9/26/21: Made Alignframes insert or adjust dose values in a mdoc file when a fixed total dose is provided, and add prior dose information to an adjusted mdoc if it is missing.

3/21/21: Fixed Tomodataplots for Alignframes data from non-FISE series.

2/18/21: Made the even-odd option to Alignframes able to put out valid dual-axis names.

Changes in Other General Processing Programs

** 12/5/22: Blendmont changes to improve piece alignments with periodic structures and black overlap zones: * When evaluating multiple cross-correlation peaks, it measures cross-correlation coefficients in a set of local subareas of the overlap zone, and uses weight by local standard deviation to downweight featureless areas. * Added an option to activated weighting by deviation from expected shift between pieces, and stopped activating this with the very sloppy option. * Made it keep track of 3 highest cross-correlation peaks and substitute a different peak position when it gives a much more consistent alignment within a 2 by 2 set of pieces. * Made it recompute edge function after a shift between pieces changes either from this repair or after robust fitting downweights an edge shift. * Added an option to set a variety of parameters for a whole grid map, where holes within the grid squares can produce many correlation peaks. * Made it detect when the regions correlated are essentially black and set flags to exclude such edges from the piece alignment.

** 9/12/21: Made Blendmont able to correct intensity gradients and differences between pieces.

* 9/18/24: Added program for reordering an mdoc file by tilt angle and modifying dose and size information in it.

* 5/2/24: Made installer on Mac add or edit IMOD startup line in user's .bash_profile, .zprofile, and .cshrc since system files are often replaced.

* 12/30/23: Added options to Binvol to do reduction with cropping of the 3-D FFT and expansion with padding, and made antialiasing reduction the default.

* 4/5/23: Added new script Reducefiltvol that does volume reduction with Binvol and/or filtering with Mtffilter, where either the simple low-pass filter or deconvolution filter are supported. It can be run from Batchruntomo using directives set in the Advanced screen.

* 4/3/23: Changed Binvol to accept non-integer reduction factors in all dimensions (as long as the factor is the same in X and Y), and changed Squeezevol to run Binvol whenever possible, so it is suitable to use for large reductions (e.g., 4) on the Squeezevol panel in Etomo.

* 3/16/22: Added cross-validation to Alignframes for picking best filter and guiding the choice of number of pairwise frames.

* 1/18/22: Added support for 16-bit floats in MRC files; virtually all programs can read them, programs with options to set the output mode can write them, and virtually all programs will write them by default if an environment variable is set.

* 11/4/21: Released a native build on M1 Mac using Qt 6.

* 10/9/21: Made Imodfillin able to extract contours from isosurface meshes.

* 9/24/21: Meshing now makes complex caps over elongated and concave contours automatically using a new procedure contributed by Lennert Ploeger.

12/4/24: Fixed several bugs in Blendmont's intensity adjustment procedure and made it handle large variations in beam intensity between adjacent pieces.

9/11/24: Prevented widespread warnings from Python 3.12 about illegal escape sequences; there may still be some places that will give warnings.

9/11/24: Added libraries to RHEL 8 package to run on Ubuntu 24.

9/8/24: Fixed pixel sizes in output files from Binvol.

7/10/24: Fixed Mac display on multiple monitors with different DPIs with Qt 6.

6/27/24: Added an option to Clip to overwrite without truncating; clarified man page that -ov truncates when overwrite stops before end of file.

5/6/24: Added environment variable to prevent errors or warnings from setting permissions in Vmstopy and b3dcopy.

4/28/24: Fixed Trimvol -mode option to apply to output of Clip rotation.

4/26/24: Fixed floating to mean & SD in Newstack so that sections with outlier mins or maxes are actually scaled to the common SD.

4/26/24: Added environment variable to set what is returned by the routine that determines physical memory; made imoqtassist -t output what this routine returns.

3/8/24: Improved Processchunks detection of which machine is local host.

3/6/24: Added option to Clip threshold to output points and values above threshold to a text file.

2/23/24: Added -t option to Header to print the string stored as a tagged field in a TIFF file.

2/7/24: Added option to Newstack to allow binned output size to be odd when input is even, and vice versa.

11/13/23: Added environment variable to suppress inversion when reading MRC files where Y is inverted.

11/6/23: Fixed "astigmatism is known" option in Testctffind.

10/30/23: Fixed default Z binning in binvol.

10/20/23: Added option to specify output format to Chunksetup.

10/19/23: Made Genhstplt able to save TIFF as well as PNG.

10/14/23: Fixed problems when Midas is dragged between high-DPI monitors on a Mac for versions built in OS 11.

9/28/23: Suppressed most occurrences of new warning message from Mac OS 14.

9/18/23: Fixed Tif2mrc computing min/max of floats as integers.

8/7/23: Added option to Testctffind to restore performance on lower dose images to what it was in Ctffind 4.1.8.

7/31/23: Added man page for Testctffind.

6/29/23: Added option to Trimvol to set output file format.

6/26/23: Fixed Reducefiltvol making a volume stack with space in path and made it always make subvolumes or volume stacks be MRC files.

6/11/23: Added option to Alterheader to define file as a volume stack in one step.

6/11/23: Added option to Mtffilter to specify the frequency units being entered (A, nm, 1/A, 1/nm), and made it allow a small amount of truncation before warning that filtered images are out of range for the mode.

6/10/23: Fixed Binvol problems with default binning, uninitialized array, and computation of maximum lines to write.

5/23/23: Upgraded Tilt and Alignframes to compile with CUDA 12 and added builds for RHEL7 and Windows; dropped CUDA from the Win32 build.

5/20/23: Fixed Reducefiltvol missing from install package.

4/5/23: Fixed bad piece shifts for large montages that showed up on Windows.

4/5/23: Made Clip able to stack multiple files for splitrgb, and made Colornewst able to handle multiple input files.

4/2/23: Made Clip able to stack multiple files for resize and 8 other processes.

3/16/23: Added option to Midas to set the initial correlation box size and shift limit.

3/15/23: Added options to Extractilts to produce a dose weighting file for AreTomo and to output minimum tilt angle, starting tilt angle of a bidirectional or dose-symmetric series, and the views at which they occur.

3/10/23: Added option to Alterheader to copy coordinate information from another image file of the same size in X and Y.

2/20/23: Added deconvolution filter as in Warp and IsoNet to Mtffilter.

2/19/23: Added options to Chunksetup to use a one-line command instead of a master command file, and to provide a suffix instead of an output file name.

2/19/23: Fixed Python scripts and 3dmod File-Extract to work under Python 3 in Cygwin; Etomo still needs fixing.

2/1/23: Added script Stackframemdocs to compose a valid image .mdoc file from a set of frame stack .mdoc files.

2/1/23: Made Newstack able to treat frame stack mdoc files as valid mdoc files if associated with a single-image file, and added options to modify the ends of the image file names in order to match the names of their mdoc files.

1/27/23: Fixed potential crashes in Blendmont with very narrow overlap zones.

1/20/23: Made Imodholefinder support hexagonal hole patterns.

1/16/23: Prevented Framewatcher from treating binned 2 K3 reference as a stack file.

12/11/22: Fixed problem in Blendmont when correcting for intensity.

12/9/22: Converted Raw2mrc to PIP input and changed Dm2mrc to run Raw2mrc with a filenames from standard input to avoid line limits on Windows.

12/9/22: Added option to Newstack to use the pixel size for a corresponding section from an .mdoc file or HDF metadata to set pixel size in output file.

12/4/22: When Processchunks is running on a queue and is told to pause, it will remove all jobs on queue that have not started yet.

10/28/22: Took new test (from 10/24) for "awt" out of etomo startup script.

10/27/22: Added option to Genhstplt to remove input file.

8/18/22: Made Etomo startup script detect a headless java and give a good error message.

4/26/22: Fixed Newstack crash testing transforms for need to transpose size.

3/27/22: Added ability to use shared memory for intermediate files when a series of programs are run, and a program Manageshrmem to manage that operation.

3/25/22: Added option to set X range in Genhstplot/Onegenplot.

1/21/22: Made processchunks not report dropping a machine until all running chunks on it have failed, since successful chunks reset the error count.

12/22/21: Limited number of threads used by Etomo on machines with very large numbers of cores.

10/23/21: Made a negative Z summing entry directly specify the number of summed frames to read from an EER file (applies to 3dmod, Clip, Alignframes, and the IMOD_READ_EER_Z_SUMMING environment variable).

10/22/21: Added options to Onegenplot and Genhstplt for setting the Y range and for saving a PNG file.

9/7/21: Added processes to Clip for fitting a plane to find an image gradient, and for making a "flatfield" image (a reference for normalizing).

8/18/21: Made Processchunks restart a chunk submitted to a queue if the log file never appears and the script file is gone.

7/6/21: Added way for Xftoxg to eliminate trends for rotation only.

6/4/21: Made Newstack fill empty areas with the mean of the median values on the four edges instead of the image mean if the whole input image is loaded.

3/14/21: Made Newstack make the default output size be the transpose of the input X and Y sizes when transforms consistently indicate a rotation closer to 90 than 0.

1/19/21: Added ability to read some raw files from FEI/Thermo Fisher.