This is a record of changes to SerialEM since it was first publicly released. * marks changes or enhancements noticeable to the user, or items of particular significance, for the stable release version ============================================================================ 4/22/24: SEM_4-2-0beta6 4/22/24: SEM_4-1-10 4/20/24: Changed how SEM-AutoIT selects an aperture size on Windows 10 so it now works on Glacios (In 4.1). 4/20/24: Fixed initial assignment of fallback rotation angles to go between mag ranges instead of leaving one range unassigned (In 4.1). 4/19/24: Added ability to call some general plugin functions from Python. 4/18/24: Added script commands for reporting and setting the variable governing the components of the frame filename. 4/18/23: Allowed hexadecimal values (starting with 0x) to be entered in script commands when an integer is expected, making it easier to set flag values. 4/16/24: Added option to disable trimming of dark borders to the Navigator Align Setup dialog, duplicating one entry in the specialized option for this. 4/16/24: SEM_4-1-9 4/16/24: Added routine to realign to a reloaded grid and transform Navigator items to a new registration. 4/16/24: Fixed extensions added when SaveLog command is used with no extension on the name. 4/16/24: Added support for frame handling from AMT cameras. 4/13/24: Fixed function to get advanced scripting version in FEI server. 4/12/24: SEM_4-2-0beta5 4/12/24: Added mechanism for a plugin to set up a script to run once when program is idle. 4/12/24: Made montage fitting to an area try Search as well as View in Low Dose when there are too many pieces; made full montage use current area in Low Dose mode if it is View or Search and has a much larger pixel size. 4/12/24: Fixed early return, which became immediate on 3/19 (beta4). 4/12/24: Set default for MaxStackWindowSizeXY to 1024 if total memory limit is above 5 GB (In 4.1). 3/28/24: Fixed AutocorrPeakVectors to stop script properly after an error (In 4.1). 3/28/24: Fixed some needless scope changes when setting or leaving Low Dose mode with states set and fixed image shift being left after changing between View or Search states with different shift offsets (In 4.1). 3/28/24: Fixed position of X and Y values in Stage Move tool (In 4.1). 3/28/24: Fixed asking to save unchanged/empty Navigator when there is an autosave file in short-term calibrations that no longer exists (In 4.1). 3/25/24: Fixed bad image shift being set when mag is change externally on a JEOL after a low dose V -> R change that changes alpha (In 4.1). 3/21/24: Fixed peak erasing not being done when angles from autocorrelation analysis were not in the same quadrant (In 4.1). 3/20/24: SEM_4-2-0beta4 3/19/24: Added ability to get early return from OneView type cameras and to get immediate early return instead of waiting for exposure to end. 3/19/24: SEM_4-1-8 3/19/24: Fixed crash opening Acquire at Items from 3/17/24 change. 3/18/24: SEM_4-1-7 3/18/24: In setting up full montage, made it switch the montage to use View or Search if it is the current area and has a 5x bigger pixel than the other area (In 4.1). 3/17/24: Set reported values from FindPixelSize. 3/17/24: Added script commands to control what acquisition parameters are used for StartNavAcquireAtEnd. 3/17/24: Added script command to set coil by name on Hitachi. 3/17/24: When adding grid of points, allowed polygon or map to fill to be specified by table index. 3/17/24: Fixed Acquire at Items dialog to handle the script selections correctly when switching between tilt series and other actions or between Mapping and Final Data (when there are both TS and A items) (In 4.1). 3/17/24: Fixed beam radius in multishot display to be set for the Record probe mode instead of current one (In 4.1). 3/8/24: Allowed polygon or map to be filled with grid of points to be identified by the negative of the table index instead of a label and checked for uniqueness of the label. 3/8/24: Allowed use of LeftOffset, TopOffset, and smaller than full chip size in CameraSizeX/Y for K2/K3 (In 4.1). 3/6/22: Added option to Nav Acquire to skip Z move when running a task at a different item location. 3/5/24: Fixed frame sums before requesting MRC frame from a Falcon 4 so tuning of camera timing can be checked/iterated without revisiting dialog (In 4.1). 3/1/24: Added ability to return a string value directly from a generic plugin function and to set script variables from a plugin. 3/1/24: Fixed setting reported values from plugin functions with 1 or 2 returned doubles (In 4.1). 2/29/24: Split the View/Search defocus and shift offset controls into two rows and added Auto buttons to find the shift offsets automatically. 2/29/24: Fixed some log output coming out the wrong color or even when output is deferred. 2/29/24: Allowed SetItemAcquire to turn off Acquire for item in range being acquired, and added argument to SkipAcquiringNavItem to turn off its Acquire. 2/29/24: Fixed double counting item skipped in main script as done (In 4.1). 2/28/24: Fixed assignment to variables on ReportNavItem line (In 4.1). 2/28/24: SEM_4-2-0beta3 2/28/24: Prevented some unneeded updates when using SuspendNavUpdate and stopped getting stage position from scope when adding points marked on buffer; fixed a crash using that with collapsed groups (In 4.1). 2/28/24: Fixed setting variables on command line for ReportCurrentBuffer and ReportActiveViewTitle (In 4.1). 2/27/24: SEM_4-1-6 2/27/24: Fixed initial angle set from lines in high-focus mag calibration to omit adjustments for high focus (In 4.1). 2/27/24: Added script command to set variables for many scope state values without a call to the scope. 2/27/24: Fixed display of beam and focus increments in Scope Control panel. 2/24/24: Fixed debug output from threads not coming out gray. 2/23/24: Made FEI scope plugin and server adjust the exposure time to get the expected number of EER frames even if camera timing hasn't been tuned; made camera dialog show true dose including frames lost for CDS in counting mode; put the exposure time and dose including these lost frames in the mdoc file (In 4.1). 2/23/24: Fixed Test Multishot Positions to not apply the beam tilt adjustments if the option is off (In 4.1). 2/23/24: Made UseNavGroupForMultishot use the group currently being acquired when acquiring (In 4.1). 2/22/24: SEM_4-2-0beta2 2/22/24: Fixed crash starting with DebugOutput set and log window closed. 2/22/24: Kept function set with OnStopCallFunc from being called on normal script exit (In 4.1). 2/20/24: Fixed IsImageFileOpen to make sure stored filenames of open files were converted to full paths before testing. 2/20/24: Fixed SetupFullMontage and SetupPolygonMontage to convert filename to full path, wait for stage move to finish, and stop on error (In 4.1). 2/19/24: Added command line argument to start with main window minimized. 2/19/24: Made it consider only files with extension .gain, .tif, or .tiff when looking for Falcon EER gain reference (In 4.1). 2/19/14: Added script command to defer updating control panels during a series of SetUserSettings commands. 2/17/24: To try a narrower font being considered as the default monospaced font, place NanumGothicCoding-Regular.ttf (from Testing-4.2 download directories) in SerialEM executable directory. 2/16/24: Added routine for measuring View or Search shift offsets using correlations between images at different mags; added script command for running this and other for manipulating these offsets. 2/16/24: Added script commands for opening a file chooser for a text file name and setting the current Navigator item. 2/16/24: Revised colors available; defined default colors for errors, warning, verbose and debug output, and user-inserted text, with properties to set these, and applied some formatting to calibration listings. 2/16/24: Made montage capture all STEM channels when set up to run a script. 2/15/14: Made completion line in One-Line Script window resize with width of window (In 4.1). 2/15/24: Made Autosave Log in Tilt Series menu do just what the help says, save after every tilt, and not activate a general autosave (In 4.1). 2/15/24: SEM_4-1-5 2/15/24: Fixed autofocus in hybrid montage being done at image shift of corner piece in previous block (In 4.1). 2/14/24: Fixed message to log from failure to save log from going into an infinite loop (In 4.1). 2/12/24: Fixed change in acquire coordinates at binning 4+ when turning on dose fractionation for K2/K3, broken 7/5/23 (In 4.1). 2/12/24: Added option to Navigator window to show item numbers in first column. 2/12/24: Made file choosers start in the current directory, changed current directory to that of chosen file, saved current directory in settings and set it when loading settings. This does not apply to settings and script-related files, which consistently default to the current settings directory. 2/11/24: SEM_4-1-4 2/11/24: Made backspace in Edit mode delete the current polygon if it was created with autocontouring (In 4.1). 2/10/24: Reformatted scope control panel for clearer organization. 2/7/24: Fixed screwed up hybrid montages when property StageMontageMaxError is set (In 4.1). 2/5/24: Added ability to get message boxes from scripts with monospaced font. 2/5/24: Changed "Fix" button in script editor to re-indent selected lines properly, equivalent to typing Tab on each one. 2/4/24: Added ability to set text colors and type styles in log window and a script command to set the color and style for the next output; SEMMessageBox outputs will be red. 2/4/24: Put argument list summary from script help file on the completions line od a script editor when completion character is typed within or at end of complete command. 2/4/24: Allowed -1's to be entered for RealignToNavItem to use the imge shift reset parameters in the Navigtaion Align Setup dialog. 2/4/24: Fixed some problems when completion character is typed in script editor with Python (In 4.1). 2/4/24: Allowed variables in prompts for userSetDirectory and EnterNameOpenFile (In 4.1). 2/4/24: Fixed window placement of script editor #60 (In 4.1). 1/31/24: Added script commands for getting the point array of a Navigator item, testing if an image file is already open, and finding name of file at a given index. 1/31/24: Allowed image shift to be reset as part of Realign to Item aligning to a scaled map if field of view at final mag is large enough. 1/31/24: Fixed Realign to Item skipping alignment to center frame when switching to a new frame and going to last frame used (broken 1/27). 1/31/24: Fixed adjustment when assigning current stage positions to a Navigator item and improved the "disparity in stage position" reports from Realign to Item by using just the shifts in the images (In 4.1). 1/31/24: SEM_4-1-3 1/31/24: Fixed output of ReporCameraLength command in STEM mode (In 4.1). 1/29/24: Added cryptic checkbox to show index numbers before names in the state dialog table. 1/28/24: Fixed GoToImagingState command to accept a full name if it is unique even if it matches the start of another name (In 4.1). 1/27/24: Fixed various things in realigning to a scaled map and added ability to skip both rounds of alignment at the lower mag. 1/25/24: SEM_4-2-0beta1 1/25/24: Relaxed defocus criteria for acceptable CTF fit in coma-free alignment and add suggestion to try lower beam til temporarily (In 4.1). 1/25/24: Added ability to do third round of Realign to Item with scaled-up extract from lower mag map. 1/25/24: Prevented saving of frames when re-imaging in a map state unless specified in script to command to goto map state. 1/25/24: Fixed crash from 1/19 change for script at end of acquire. 1/25/24: Allowed Step To & Adjust procedure to concatenate the transformation between mag 1 and mag 2 with a refining transform between mag 2 and mag 3 to give a transformation directly from mag 1 to mag 3. 1/25/24: Adjusted default readout interval for Falcon 4i to give correct number of frames for 6-sec exposures (In 4.1). 1/25/24: Fixed bad value for autofocus beam tilt being set if Check Autofocus is stopped (In 4.1). 1/25/24: Allowed Realign to Item to work with groups collapsed (In 4.1). 1/20/24: Added checks for bad tilt series and montage parameter indexes after loading in a Navigator file and before starting acquisition (In 4.1). 1/19/24: Added ability to transform an image to match one at another mag, and to align between images at differents mags, with script commands for these operations. 1/19/24: Added script commands to set and report multishot parameters and flags to control whether a cross pattern is used. 1/19/24: Added ability to set script to run at end of Navigator Acquire at Items to the dialog. 1/11/24: SEM_4-1-2 1/11/24: Added ability to set hex grid vectors with SetRegularHoleVectors (In 4.1). 1/11/24: Fixed bad handle leak the crashed DM with GMS 3.6 (In 4.1). 1/5/24: Changed ReportCurrentPixelSize command to give size at mag of Low Dose area when in Low Dose (In 4.1). 1/4/24: Fixed problem with Try-Catch inside of a Catch block and with keeping track of block level when an error occurs on a statement starting a block (In 4.1). 1/3/24: Made autofocus routine erase periodic peaks if checkbox in Align&Focus panel is set for that. 1/3/24: Added script command to report maximum image shift available at a given mag based on property settings and deflector limits on a JEOL. 12/30/23: Made periodic peak erasing require 2.5 times more peaks when being done for image shift and stage calibrations; trying to prevent failures when the field of view is in the range of 2-4 microns (In 4.1). 12/29/23: Added "format" script function to apply C-style formatting when storing or outputting a variable or value. 12/29/23: Supported shorter exposure times for subareas for ClearView (needs new SEMCCD plugin). 12/28/23: Fixed some uninitialized variables and expected size of saved frames when saving a subarea from K2/K3 (In 4.1). 12/28/23: Preventing system path (where calibrations are saved) from being changed after startup (In 4.1). 12/24/23: Added basic support for Gatan ClearView (In 4.1). 12/22/23: Fixed Go button in tilt series setup opening Extra Output dialog when trying to resume from "postponed" after a stop in batch mode (In 4.1). 12/18/23: SEM_4-1-1 12/18/23: Fixed messages to save log before closing during batch tilt series (In 4.1). 12/15/23: Fixed number of shots shown for custom holes in Navigator status line (In 4.1). 12/15/13: Fix crash if non-existent python version is included on an embedded script started with PythonScript (In 4.1). 12/11/23: SEM_4-1-0 stable 12/11/23: SEM_4-0-28 12/11/23: Added script command to set montage control panel parameters. 12/10/23: Fixed hex multishot pattern for 8 or more rings. 12/10/23: Added hole finder option to use just a subset of holes at 1 micron spacing on a hex grid. 12/9/23: Fixed bugs in combining hex grid items. 12/9/23: Fixed display and acquisition of combined hex grid items if number of rings is changed in dialog. 12/8/23: Fixed recording custom multishot pattern, broken 9/27. 12/8/23: Fixed IS calibration not properly stopping on two error conditions and requiring program to be exited. 12/8/23: Added menu item for selecting a script to run instead of taking Record in Multiple Records run from Acquire at Items. 12/8/23: Fixed argument lists for 12 script commands if called from Python and various problems in script help. 12/8/23: Added support for STEM with Tietz scan generator. 12/8/23: Fixed a crash when using ctffind from PACEtomo (new package needed). 12/8/23: Fixed crash combining with non-square pattern (In 4.0). 12/4/23: Fixed optional arguments to CombineHolesToMulti when called from Python. 12/1/23: Fixed detection of lack of hardware binning and ROI for DE cameras, broken in beta26. 11/30/23: Made restoring of window positions work properly when there are two monitors with the primary one on the right; fixed reopening program maximized. 11/30/23: SEM_4-1-0beta26 11/30/23: Fixed saving of frame mdoc for multishots with early returns. * 11/30/23: DE code and DLL updated to work with 2.7 server; API 2 can now be used with 2.7 but not earlier servers and gives fast continuous mode. 11/30/23: Made TakeUnbinnedIfSavingEER be on by default. 11/30/23: Stopped updating log file on each tilt during batch tilt series. 11/30/23: Added script command to report last shift in shift to marker and allowed acquire to be turned off for current Navigator item when acquiring. 11/30/23: Made an error writing to log file during a script, tilt series, or Navigator Acquire put warning in log instead of throwing an error. 11/30/23: Fixed problem converting beam calibrations between aperture sizes that made dose calibration say beam was not in calibrated range (In 4.0). 11/15/23: Fixed unreasonable timeout after a COM error moving stage. 11/15/23: Added script command to open a dialog, currently just multishot. 11/14/23: Added script command to find a substring in a string and expanded TrimString to take an index. * 11/14/23: Added option to Tilt Series Extra Output to make a map from a low-tilt Record for each series run from Acquire at Items. 11/14/23: Fixed Z values of aligned piece coordinates and numbering of MontSection sections in .mdoc after reordering a bidirectional tilt series. 11/11/23: Made Realign to Item skip an LM map if point was marked on an MMM map that is acceptable but does not have desired margin to edges. 11/11/23: Changed List Mags routine for FEI STEM to avoid having to confirm a dialog after each step, and to report the transitions out of LM. 11/11/23: Made Eucentricity by Focus take DeltaZtoDefocus scaling into account. 11/4/23: SEM_4-1-0beta24 11/3/23: Fixed limit on how big the return values to Python script could be. * 11/2/23: Added options to use Ctfplotter instead of Ctffind for CTF fitting when click in FFT and for coma/astigmatism correction. 11/2/23: Added script command to make next graph be saved as TIFF so it can be read in. 11/2/23: Added script command to suppress information output still present with SuppressReports. 11/2/23: Added property to specify what probe mode to use in LM with FEI STEM. * 10/17/23: Added button in multishot dialog and script command to use the current group of Navigator points to define vectors. * 10/17/23: PythonModules is now included in the install package and will be updated by the installer. 10/13/23: Added script command to find out if a directory is writable, and added option argument on Try command to suppress output. * 10/12/23: Added automatic pruning of log window. 10/12/23: Fixed swapped error messages from RelaxStage command and made UserSetDirectory return 'Cancel' if the user cancels the chooser. 10/11/23: Made it save image that crashes in ctffind and output parameters. 10/8/23: Added property to specify key-value pairs to add to autodocs. * 10/6/23: Added script commands and other functions to control beam stop on newer JEOL scopes and FEI scopes with UTAPI interface. 10/6/23: Added ability to renew connection to JEOL scope when there is a time out in Navigator acquisition. 10/6/23: Added "special debug levels" to get some specific output without all of the output activated by DebugOutput key letters. 10/3/23: Added script commands to determine number of functions defined in the SerialEM executable and serialem module, for checking if module is up to date. 10/1/23: Added Python-only script command to make module return even a single value as a tuple; reverted ReportItemAcquire to reporting a single value, and added separate command to report if tilt series is set for an item. 10/1/23: Fixed problems with backlashes in SEMargStrings passed to a Python script embedded in a regular one. 10/1/23: Fixed GetCrossover being called with spot size out of range. 9/27/23: SEM_4-1-0beta23 9/27/23: Incorporated new DE dll that fixes continuous mode. 9/27/23: Made starting image shift be restored at the end when recording image shift vectors for Multiple Records. * 9/27/23: Added a non-Qt version of Ctfplotter to install package and changed SerialEM to use this unconditionally unless a graph is being saved. 9/20/23: Fixed external scripts hanging when STOP is pressed and made module raise a SEMexited exception with a different message. 9/19/23: Changed parameters for doing stage montage with image shift in blocks; instead of a number of blocks, which is mag-dependent, it is specified with the maximum allowed image shift. BLOCK SIZES IN SETTINGS DO NOT APPLY. 9/14/23: Added warning when a string property appears to have comment after it, and a message box if a C-style comment is unclosed. 9/14/23: Fixed beam getting off on JEOL/Hitachi after setting the View/Search shift offset. 9/14/23: Fixed Step to and Adjust IS dialog to not lose value of checkbox for taking an image. 9/12/23: Fixed use of speed factor when precooking a montage. 9/12/23: Added ability to set a rotation angle for diffraction images in the camera length table. 9/12/23: Added cartridge ID from first call to get JEOL autoloader data with index 0, and other information if valid, to inventory. 9/12/23: Added script command to move stage in background. 9/7/23: SEM_4-1-0beta22 9/7/23: Fixed installer copying shrmemframe, broken 7/22/23. 9/7/23: Added optional arguments to set number of holes in the CombineHolesToMulti command, and added commands to set an item for tilt series and to report if the navigator is acquiring. 9/7/23: Added OmegaCanDoNegativeShift property that can be set to eliminate need for setting an energy offset; this is defaulted on if JeolHasNitrogenClass is set. 8/19/23: Add script command to wait until user has clicked a new marker point. 8/19/23: Kept track if Navigator points are marked on an FFT so items will be displayed either on FFTs or nonFFTs as appropriate. 8/10/23: SEM_4-1-0beta21 8/10/23: Added script command to report if a camera is inserted. 8/10/23: Fixed problem in ctffind library that impaired accuracy on lower dose images. 8/10/23: SEM_4-0-27 8/10/23: Fixed crash taking an image if Low Dose hidden on startup (In 4.0). 8/9/23: Fixed K3 on GIFs with fast shutter having a default duty cycle of 50% in CDS mode and throwing away half the signal; this applies to systems with EELS (e.g., Quantum K3 1069 and BiocontinuumHD (1067HD with EELS) (In 4.0). 8/4/23: Changed criterion for kV warning on starting from > 1 to > 0.8. 8/4/23: Added script commands to report multishot vectors in image shift units and to return a list of holes to be acquired for an item. 8/4/23: Replaced field validation in Ctffind parameters, Hole Finder, Eucentricity by Focus, Autocontouring, and Beam Aucentering setup dialogs. 8/2/23: Replaced Microsoft validation of text fields, which was giving "Enter a number" errors on some systems, in Montage Setup, Tilt Series Setup, Navigator Acquire, and Multiple Record setup dialog. 8/2/23: When using "Eucentric-Both" in Low Dose, it will now switch between Search and View if appropriate for the fine operation. 7/24/23: Prevented recursive variable substitutions; only variables originally present in a line will be substituted. 7/22/23: Added option to multi-hole combiner to use just the position of the central point instead of averaging positions from all points in a pattern, and stabilized the point labels so they stay in same position. 7/22/23: Fixed Ctrl-Left click for selecting a point by changing the new map loading to Shift-Middle-double click. 7/22/23: Added a CUDA 6 FrameGPU.dll, posted CUDA library packages, and modified installer to update with the correct FrameGPU.dll. 7/22/23: Add script command to set any lens on Hitachi. 7/21/23: Preliminary support for Gatan Metro camera. 7/21/23: Allowed StringArrayToScript to be used from Python and fixed StartNavAcquireAtEnd to select the right main action if dialog was never opened. 7/21/23: When a transformation is done with registration points from an imported map to another map, the Z value of that map will be assigned to items drawn on the imported map. 7/21/23: Added script command to save graph from ctfplotter and show it in a buffer (requires IMOD 4.12.51). 7/21/23: Added script command to report free disk space. 7/21/23: Allowed montage to take K2/K3 frames with subarea. 7/17/23: Fixed crash during Navigator tilt series acquisition if program started with setting for groups collapsed. 7/13/23: SEM_4-1-0beta20 7/14/23: Fixed taking multishot only within holes, broken 7/10/23. 7/13/23: Stopped confirmation message coming up when finding holes with the Navigator Acquire task and laying points out in groups. 7/13/23: SEM_4-1-0beta19 7/12/23: Add option to use map hole vectors and adjust them when doing multishot in Navigator Acquire at Items. * 7/12/23: Added buttons to apply an adjustment and to use hole vectors from a map to the multishot setup dialog. 7/12/23: Fixed loss of missing points added by mouse and problems with double-toggling of included/excluded hole finder points. * 7/10/23: Image shift values corresponding to hole vectors are computed after finding holes on a map and stored in the Navigator file; they can be used later for multishot vectors with a script command. 7/10/23: Added check for whether multishot items are too close together, suggesting hole combining wasn't run. 7/10/23: Started storing a transformation when multishot vectors are adjusted with 'Step To and Adjust IS' and added script command to apply it to vectors. 7/10/23: Fixed drawing of points outside the image when image is zoomed smaller than window, broken 3/1/23. * 7/10/23: Shift-middle-double-click near the blue rectangle drawn for a map will make it load that map. 7/10/23: It will try to load a regular settings file from the system location before loading the default settings file. 7/5/23: Added option to Step and Adjust IS dialog to take image after shifting to a position. * 7/5/23: Allowed taking subareas in dose fractionation mode for K2/K3, needs new plugin. 7/3/23: SEM_4-1-0beta18 * 7/3/23: Added entry for extra file suffixes in the Tilt Series Extra Output dialog to replace having to use 'SuffixForExtraFile' command. 7/3/23: Fixed some problems finding holes in hex grids. 7/2/23: Stopped disabling the "Use Last IS vectors" button if not previously defined or not at the same tilt angle as before. * 7/2/23: Added an AutoIT compiled executable that is used to change aperture size for systems where the UI automation fails to do so (Win 7, some Win 10). 7/2/23: When a single-channel JEOL STEM interface has multiple detectors, made it initialize the proper interface if there is an appropriate MappedToDSChannel or MutuallyExcludeDetectors property. 6/29/23: Got maximum exposure time from FEI camera and enforced it. 6/28/23: Added script commands to get dose-symmetric angles with current settings and to modify them as long as the same reversals occur. 6/28/23: Added property to set number of spot sizes in STEM. 6/28/23: SEM_4-1-0beta17 6/28/23: Preliminary support added for new TFS UTAPI scripting interface, which will allow proper aperture control (requiring at least server 7.18). 6/27/23: SEM_4-0-26 6/27/23: Fixed program getting stuck or crashing when spot intensity calibration is canceled at one of the entry boxes (In 4.0). 6/27/23: Made JEOL's rotation angle be reasserted every time JEOL scope goes back into STEM. 6/27/23: Changed UI Automation calls used to change aperture size, which fixed problems on at least one Windows 10 scope. 6/27/23: Added DummyInstance property, changed program startup so it has same effect as /DUMMY argument, added message box when trying to start a second non-DUMMY instance. 6/27/23: Made script stopped with Python error be properly marked as not completed, so Acquire at Items keeps Acquire flag on. 6/27/23: Added script command to add a circle polygon. 6/27/23: Made SkipAcquiringNavItem work when used in main script. 6/27/23: Made scripts be stopped instead of suspended when run with NoMessageBoxOnError set. 6/27/23: Added script command to accumulate Record dose in multiple areas and provide them as prior dose values in the mdoc files. 6/27/23: Fixed problem with file locks preventing file removal and other operations when running a Python script. * 6/21/23: Allowed adding Navigator items on centered cropped image. 6/21/23: Prevented adding Navigator items on a cropped image (In 4.0). * 6/17/23: Kept track of whether a cropped image was centered and allowed Navigator display on such an image. 6/17/23: Assigned a different port for running Python from a Dummy instance of SerialEM (In 4.0). 6/17/23: Fixed type of "feature" entry to SnapshotToFile from Python (In 4.0). 6/16/23: Added script commands to get the transformations between image buffer and stage corrdinates, and to convert between stage and image positions. 6/16/23: Adjusted dose rates and doses for shutter dead time; added message to dose calibration when dead time is large (In 4.0). 6/14/23: Fixed format summary in Frame Save Options to show ZIP not LZW (In 4.0). 6/14/23: Changed camera setup dialog to show linear/counting mode buttons for an Alpine camera if a property is set and to change a control set from linear to counting if those buttons are not shown, but show the buttons by default. 6/11/23: Added property to allow energy filter to be used without switching scope into EFTEM/GIF mode, and fixed problems with CEOS support. * 5/28/23: Added ability to include a file into a Python script. 5/28/23: Added support for CEOS energy filter. 5/25/23: Added navigator menu option to determine whether peak erasing is done for Realign to Item in Low Dose mode. 5/25/23: Fixed diffraction focus for Hitachi to access the right lens and added difraction shift functions. 5/24/23: Added script command to turn off Acquire for Navigator points too close to a supplied boundary or the convex hull of the points. 5/24/23: Changed installer in anticipation for when FrameGPU4.dll is no longer included in the package, which will occur on the next substantive change in the FrameGPU code. 5/18/23: Fixed default disabling of peak erasing in Realign to Item. 5/18/23: Made RestoreBeamTilt restore astigmatism also if saved (In 4.0). 5/17/23: Fixed StartNavAcquireAtEnd when run from Python (In 4.0). 5/17/23: Added ability to lower or raise screen in STEM just for a JEOL detector below the screen, to protect camera below. 5/12/23: Added property to prevent montage correlations from using background thread. 5/12/23: Added script commands to copy low dose area parameters, report vacuum status as 0-2 for FEI scopes, and end Navigator acquire at items. Fixed SetupPolygonMontage when first entry is not 0. 5/11/23: SEM_4-1-0beta16 5/11/23: Made sure the pattern assigned when multiple holes are combined overrides the Hex grid option setting. 5/11/23: Fixed skipping of Advanced Scripting for AreDewarsFilling and refilling refrigerant. 5/10/23: Improved handling of blanking during transients for mag and spot changes and normalizations (In 4.0). 5/10/23: Increased limits for deferring log updates so the log is updated after 500 lines or 3 seconds. 5/10/23: Fixed loss of checkbox to control erasing of periodic signals. 4/29/23: SEM_4-0-25 4/29/23: Added a property to increase exposure time when saving as EER so that the file actually has the expected number of frames. Described procedures in the help for 'AddToEERExposure' and 'ReadoutInterval' for getting these frame counts to match. 4/29/23: Added script commands to report and set camera properties. 4/28/23: Fixed exposure times being increased by 27% when saving as MRC from Falcon 4i by accounting for the unit for making fractions being 9 frames instead of 7 (In 4.0). * 4/26/23: Added slider to hole finder dialog to exclude holes near edge of area of found holes. 4/26/23: Added script command to report frame-saving path for Gatan and generic frame-saving cameras. 4/25/23: Made sure all image windows are redrawn after some Navigator changes. 4/25/23: SEM_4-0-24 4/25/23: Fixed test for bad variable substitution (In 4.0). 4/19/23: Added script command to change group ID of item. 4/18/23: Added hot key for toggling Registration point. 4/18/23: Fixed SetAutocontourGroups command when dialog closed. 4/18/23: Improved erasing of periodic signals by erasing in full-sized images and doing more FFTs to trim artifacts at edges. 4/18/23: SEM_4-0-21 4/18/23: Fixed problems with using a variable for a script command (In 4.0). 4/18/23: Disabled line drawing on FFTs (In 4.0). 4/18/23: Made Hole Finder reload single images as integer when they are maps converted to bytes, to stabilize the intensity values (in 4.0). 4/16/23: Added option to reverse direction of zoom with mouse wheel to a new Miscellaneous Options submenu of settings. 4/16/23: Added script commands to report the system path and the values of an item of image metadata using the key with which itwould be saved to an .mdoc file. 4/16/23: Made OpenOldFile command skip montage setup dialog. 4/16/23: Added File menu entry to set the current directory. * 4/16/23: Added Script menu entry to prevent program from returning keyboard focus to one-line script window. 4/16/23: Added property to allow dose calibrations to be used with fringe-free illumination where beam brightness does not change with intensity in nanoprobe. 4/12/23: Fixed range checking of "every N minutes" entry in Acquire at Items, which made entry stop working after another change in 4.1 (In 4.0). 4/10/23: Allowed Escape key in One-line script window to return focus to main program. 4/10/23: Made peak erasing in second round of Realign to Item probably work better by not trimming images being correlated to their overlapping region. 4/10/23: Made peak detection for erasing in FFTs adjust for tilt angle; made peak erasing for Realign to Item be off by default for now. * 4/10/23: Added details about shots, remaining numbers, and rates to progress line during Acquire at Items. 4/10/23: Added StopBackgroundTilt command that seems to work on JEOL and latest FEI scope server versions. 4/10/23: Added script command to read one piece of a montage. 4/10/23: Added flags to MultipleRecords for doing regular or custom holes. * 3/31/23: One-line script changes: focus now returns to the text box of the script that was run when it finishes. Enabled Ctrl-C and Ctrl-V for copy and paste, Ctrl-U to delete the line, and up and down arrows to move between lines. 3/31/23: Managed the Smaller/Larger intensity buttons in the autocenter setup dialog so that they are enabled only when intensity is in the calibrated range. 3/31/23: Fixed dashed red rectangle for stage limits to display only on images that extend beyond it. 3/31/23: Fixed crash in autocontouring when there are no contours found. * 3/30/23: Added ability to enter multiple commands separated by semicolons in one-line script window. 3/30/23: Added dose rate linearization table for Falcon 4i. 3/30/23: Enabled File-Open Old when Acquire at Items is open (In 4.0). 3/30/23: Disabled float return option in camera menu for FEI cameras (In 4.0). 3/30/23: Disabled one-line script text boxes when program is busy (In 4.0). 3/30/23: Allowed maximum shift of 25 um in template alignment dialog (In 4.0). * 3/30/23: Added ability to do alignment correlations after erasing peaks in FFTs from periodic structures; this is used by default for stage and image shift calibrations and in Realign to Item in low dose mode, subject to override by a property, and otherwise controlled by an option in the Image Alignment & Focus panel. 3/30/23: If a script is run when idle, the script is updated from the editor if it is open, and keyboard focus is restored to whatever window had it. 3/30/23: Fixed crash in ctffind on images with no Thon rings. 3/30/23: Implemented check for spacing in hole finder for hex grids. 3/30/23: Stopped asking for confirmation of making a map from a read-in image when run from script. 3/25/23: Changed SkipAdvancedScripting property so that negative values provide flags for particular components to skip (autoloader and/or temperature control). 3/22/23: Prevented file properties dialog from opening when checking New file at item for a polygon and dialogs are being skipped. 3/22/23: Removed marker shifts from Navigator file, cleared them out before loading them from settings, and eliminated duplicates when loading. 3/22/23: Added script command to setup polygon montage. 3/22/23: Added property to suppress selected messages. 3/20/23: SEM_4-1-0beta14 3/20/23: Fixed spiral hole pattern for non-square patterns. * 3/9/23: Added capability for "status lines" at the bottom of the Camera & Script control panel that can be written to by script command. 3/9/23: Fixed error processing when GetApertureSize command fails and added environment variable to keep FEI-SEMserver from trying to access aperture or autoloader dialogs if that makes it hang on Windows 7. 3/9/23: Fixed problems with using AutocontourGridSquares when dialog is not open, changed parameters to use dialog values as defaults, added script commands to make polygons and get statistics about means, 3/6/23: Fixed some problems using SetMontageParams and added script command to set camera parameter set to use before opening a montage. 3/6/23: CHANGED SetupFullMontage TO TAKE AN OVERLAP FACTOR BEFORE THE FILENAME. 3/6/23: Added script command to set the grid limits for a full montage. 3/6/23: Stage restoring after movements in eucentricity will now restore after movements in Z, not just tilts. 3/2/23: Added script command to set option to redo montage cross-correlations. 3/1/23: With SkipAstigAdjustmentForIS set to -1, only astigmatism will be measured in the coma vs IS calibration and adjusted for in multishot etc. 3/1/23: Added script command to skip Z move in next Realign to Item. * 3/1/23: A dashed red rectangle will be drawn when an image extends beyond property-based stage limits. 3/1/23: Fixed ReportApertureSize to assign to reported value and variable. 2/26/23: SEM_4-1-0-beta13 2/25/23: Fixed uninitialized variable that can cause incorrect display of multishot cross patterns until acquire has been run. 2/25/23: Fixed numbering of holes in frame filenames with multishot cross pattern (In 4.0). 2/24/23: Stated in help that aperture size could not be changed for FEI scopes running under Windows 7, only insert/retract works. Also changed method of finding combo boxes to work for all boxes on Windows 7. 2/23/23: Fixed IStoStageMatrix and StageTpoISMatrix commands (In 4.0). 2/21/23: Restored the status area text after running the script that runs when the program is idle. 2/17/23: SEM_4-0-20 2/17/23: Fixed crash opening file when buffer control panel is hidden (In 4.0). 2/14/23: Fixed stage coordinates saved when a new map is made from a hybrid montage. 2/13/23: Fixed handling of python version number so 3.10+ works (In 4.0). 2/13/23: Fixed script toolbar buttons above 40 (In 4.0). 2/13/23: Added Condenser 3 to FEI aperture support and made it able to handle phase plates. 2/12/23: Fixed problems with aperture commands; improved acquisition order of combined items for hex grids, which is still not nearly optimal. 2/11/23: Made precombine.holes file not be written on an autosave, so that the Undo button stays enabled (In 4.0). SEM_4-1-0-beta12 2/7/23: New versions of FEI-SEMserver will not run on Windows 2000, but it still seems to work on non-SP3 XP. * 2/7/23: Used Microsoft "UI Automation" to add aperture support for FEI scopes on Windows 7 or above to retrieve names from the Autoloader panel with ReportSlotStatus. 2/7/23: Added options to Coma vs IS calibration setup dialog and script command to use full array for coma measurements. * 2/7/23: Added dialog for setting imaging conditions before imposing first image shift in the Step To and Adjust IS procedure for multi-shot setup. 2/7/23: Fixed ReadOtherFile command reading from montage (In 4.0). 2/7/23: Fixed memory leak in pixel size routine, used when Hole Finder is run from the dialog (In 4.0). 2/7/23: Fixed Hole Finder not applying montage adjustments to positions when the montage is not a map (In 4.0). 2/4/23: Fixed bad rotation of pattern in multi-hole combiner. 2/2/23: SEM_4-0-19 2/2/23: Fixed bad image shifts when changing EFTEM, broken 1/29/23 (In 4.0). 1/31/23: Added specific error message when serialem module does not have an attribute, saying that either the command is not recognized or the module needs updating. 1/31/23: Fixed CalibrateComaVsIS command to use entered values. 1/30/23: Fixed inversion in making IS vectors from hole vectors. 1/29/23: SEM_4-0-18 1/29/23: Prevented crash from pushing Calibrate button in coma vs. image shift dialog when program is busy. * 1/29/23: Added option to the multi-hole combiner to remove or turn off combined items with fewer than a selected number of holes. * 1/29/23: Added ability to toggle points to be included or excluded with the mouse after finding holes and before making Navigator points. * 1/29/23: Added support for grids with hexagonal arrays of holes. Processing is slow, not all optimized, and not in the background - be patient. 1/29/23: Fixed so that correct image shift offset calibration is used when starting with a GIF camera or switching between cameras; for FEI scopes, made it retain position when switching between GIF and nonGIF (In 4.0). 1/27/23: Made error message include the line that is bad when there is an error reading a Navigator file in autodoc format (In 4.0). 1/27/23: SEM_4-1-0beta11 1/27/23: Fixed crash in montaging with very narrow overlap zones. 1/27/23: Fixed bad zoom being set when reading in an image acquired on a camera not defined in current properties (In 4.0). 1/20/23: Added option for autocentering to change mag for the imaging when not in Low Dose mode. 1/20/23: Added script command to set tilt increment. 1/20/23: Fixed some problems with hybrid montages and allowed one for low mag map to use zigzag pattern. 1/20/23: Added script command to look up slot number for an ID on JEOL autoloader. 1/19/23: Fixed crash when collapsing Navigator groups right after adding a grid of points (In 4.0). 1/19/23: Fixed ability to set axis rotation with mouse click in a Search image when Trial/Focus area is being defined (In 4.0). 1/19/23: Fixed errors that occur when a camera shot is started immediately after clicking the mag or spot spinner in the scpoe control panel (In 4.0). 1/18/23: Fixed missing the last autoloader slot when getting the inventory on a JEOL (In 4.0). 1/18/23: Fixed binning spinner in autocenter setup dialog going past end of range (In 4.0). 1/16/23: Fixed OpenOldFile command with HDF file (In 4.0). * 1/18/23: When doing multishots in a regular array of holes, the routine will now move to the holes in a spiral path by default, with a menu entry to select the old zigzag path or a raster path instead. * 1/18/23: Added Script menu entry to set a script to run periodically when the program is idle. * 1/16/23:Added option to do a hybrid montage with image shifting within blocks of pieces and stage shifting between the blocks. 1/16/23: Added property to specify a script to run during a montage between acquisition and saving, and a script command to get information on the current or next piece. * 1/13/23: Made it possible to set marker point outside image for shifting to marker (shift-P and To Marker button) and Go to Marker in Navigator. 1/13/23: SEM_4-0-17 1/13/23: Started writing a file along with the Navigator file, named ..._pre-combine.holes, for narrowing down the source of a bug where Realign to Item fails on points after combining holes (In 4.0). 1/13/23: Made some changes to reduce the possibility of a script being run when Enter is pressed in its editing window (In 4.0). 1/10/23: SEM_4-1-0beta10 1/10/23: Added script commands for getting and setting the brightness and contrast of an FEI STEM detector. 1/9/23: Added ability to save K2/K3 in a separate thread so that a new frame-saving shot can be taken sooner after an early return. This is only enabled by a property because tests so far have not shown any benefit. * 1/4/23: Added a high-defocus image shift calibration, which improves many operations when working with defocused View and Search images. 1/4/23: Improved positions for coma-vs-IS cal when drawn on defocused View. 12/29/22: Added mechanism for "reusable" files for Navigator acquire so that many polygons can be fit to montages and consolidated into a subset of files rather than one per file. 12/29/22: Started storing the Collapse groups state in settings. * 12/29/22: Made all 5 range-selecting keys in Navigator work with groups collapsed. Allowed easy deletion of multiple maps in a range with Shift D. 12/29/22: Made program able to open MRC files missing some sections at the end. 12/28/22: Fixed initialization of overlap and byte scaling when reading montage parameters for new file at item from Navigator file (In 4.0). * 12/23/22: Added dialog for autocontouring grid squares and converting selected ones to polygons. 12/22/22: Fixed SEMCCD getting frames for just aligning with K2SynchronousSaving set (In 4.0). 12/18/22: Made SetFrameTime and ChangeFrameAndExposure adjust fraction times for all Falcons when appropriate. 12/18/22: Added ability to take snapshots of images > 512 Mpixel at 1:1 zoom. 12/18/22: Allowed script buttons in Camera/Script Tools to grow if their spinners are hidden. * 12/16/22: Added dialog to run Coma vs. Image Shift calibration; the positions tested can seen on a View image and distance and rotation of vectors to positions can be adjusted in dialog. 12/15/22: Fixed Setup on Manage Vacuum/Dewars in Navigator Acquire falling through to Setup on Hole Finder. 12/15/22: Fixed crash switching basic mode files. 12/15/22: Added script command to calibrate coma vs. image shift. 12/15/22: Restored BlankWhenRetractingCamera property. * 12/15/22: Allowed images from ScaleImage and FilterImage to be made maps, as well as ones resulting from arithmetic operations as long as both contributing images are eligible to be maps. 12/14/22: SEM_4-0-16 12/14/22: Preserved open/closed states and floated positions of tool panels hidden in basic mode, even across sessions (In 4.0). 12/14/22: Fixed setting of DE protection cover to always open after first shot of beam intensity calibration, which made it stay closed at one site (In 4.0). 12/13/22: Fixed display of hole finder points on a non-map when no Navigator items have been drawn (In 4.0). 12/13/22: Fixed crash cropping from image with no metadata (In 4.0). 12/13/22: Fixed montage binning overview spinner going backwards before a montage has been opened (In 4.0). 12/13/22: Fixed Low Dose parameters getting screwed up if Eucentricity by Focus is calibrated or run with different settings (In 4.0). 12/13/22: Fixed task button in Navigator Acquire being left depressed when switching between Mapping and Acquisition (In 4.0). 12/13/22: Changed default for "ScopeHasPhasePlate" to 0 for FEI scopes without Advanced Scripting (In 4.0). 12/7/22: Added ability to put "EndIfVersionBelow" in a basic mode or other file with elements to hide so that items supported in newer versions can be ignored (in 4.0). * 12/9/22: Incorporated improved montage piece alignment routine recently implemented in IMOD. Added checkbox to Montage Control window to make it evaluate multiple peaks with cross-correlations weighted by deviation from expected shift, which helps when there are regularly spaced holes. Made it use a special set of filter parameters for montages that appear to be for whole grid maps, to prevent correlations dominated by holes. Made correlations run in a background thread while the next piece is acquired, when possible. 12/9/22: Added item in Help menu for running SerialEM snapshot. 12/9/22: Provided separate IDs for V-F-T-R-Setup buttons in Camera & Script Tools so these items can be hidden in Camera menu. 12/9/22: Fixed display of autocontour polygons on a montage to use a single adjustment for montage position. 12/1/22: Added command to set image shift vectors of regular hole pattern. * 11/30/22: Made the Basic Mode filename be saved and loaded from settings, and added a menu entry to load a different file. 11/29/22: Allowed single shots to occur when saving frames from Tietz cameras, and from generic frame-saving plugin cameras that pass a flag indicating they can do single shots before all frames are fetched. 11/29/22: Allowed calibration of mag-IS offsets to continue across gaps in the mag table. 11/29/22: When montaging with continuous mode, a drift settling value will be converted to a number of initial frames to drop when starting the mode. 11/25/22: SEM_4-1-0beta9 11/25/22: Fixed I/O library for SEMCCD plugin putting up a message box. 11/19/22: SEM_4-1-0beta8 11/19/22: Switched to latest DLLs from DE to work with the new SerialEM build. 11/17/22: SEM_4-0-15 11/17/22: Fixed crash when reverting to version before the new script buttons. 11/17/22: Made SetFrameTime and ChangeFrameAndExposure commands work for DE cameras (In 4.0). 11/16/22: Added script commands to forget prior state and calibrate electron dose. * 11/16/22: Added AutoContourGridSquares command to make polygons around grid squares. * 11/16/22: Made label display and selecting of polygons behave like points when the polygons are members of a group. 11/16/22: Added optional entry to UpdateItemZ to specify item index. * 11/16/22: Added ability to have up to 3 more rows of script buttons and spinners in the Camera & Script control panel. 11/16/22: Fixed some problems with the false color display. 11/15/22: Fixed crash opening Navigator Acquire dialog (In 4.0). 11/15/22: Fixed another vulnerability in drawing routine (In 4.0). 11/12/22: Fixed crash when stop reading a montage using shifts in the mdoc file (In 4.0). 11/11/22: Extended the fix for Falcon 4 binning to cover subareas, which also give an error when saving EER. 11/11/22: Fixed error in drawing Navigator items on very large montages (In 4.0). 11/10/22: SEM_4-1-0beta7 11/10/22: Made Navigator Align to Template setup allow making the image in A a map even if it is not cropped. * 11/10/22: Removed New Map and Delete Item from Navigator menu. 11/10/22: Added ability to bin images in FEI scope plugin/server because of error when binning is requested while saving EER files in new TEM server versions; property 'TakeUnbinnedIfSavingEER' enables this. 11/10/22: Added camera type of 6 for Falcon 4i and a default readout interval, and made it skip waiting on the next acquisition after a frame-saving one. 11/10/22: Fixed missing line break after last FEI ZLP shift in short term calibrations (In 4.0). 11/9/22: Explicitly turned off emission before flashing FEG on JEOL to make it ramp down better (In 4.0). 11/8/22: SEM_4-0-14 11/8/22: Changed installer to clean up all files added by installing a new 4.1 build (In 4.0). 11/8/22: Fixed vulnerability in drawing routine that probably caused crash (In 4.0). * 11/8/22: Started saving shifts from Shift to Marker in settings and added a list box to allow removing shifts. 0/8/22: Disabled all radio buttons about saving shifts when no saving is possible in Shift to Marker dialog (In 4.0). * 11/7/22: Switched distribution to being built with Visual C++ 2015 tools. SerialEM will no longer run directly on Windows 2000 and XP SP1 or SP2 but has to be run on a separate computer connecting to FEI-SEMserver on the scope computer. A Visual C++ 2015 redistributable package must be installed to run on Windows XP SP 3. 11/1/22: Added script commands ImageMarkerPosition, GetNavGroupStageCoords, GetNavGroupImageCoords, LoadSettingsFile, and SetupFullMontage. * 11/1/22: Added task to Acquire at Items to run hole finder and combiner after acquiring a map. 10/31/22: Set flag to force an autofocus after taking or aligning to dose-symmetric anchor (In 4.0). 10/29/22: Added camera property to specify readout interval for individual Falcon cameras and made changes so that no property entries should be needed if there is a Falcon 3 and 4 with standard intervals. 10/29/22: Fixed writing of full tilt series alignframes command file and copying of the mdoc file for Falcon 3/4. Also added pixel size to the command file so that aligned output would have the right pixel size (In 4.0). 10/28/22: Fixed adjustment of counting mode exposure time for Falcon 3, which was given the adjustment for Falcon 4 on 2/3/21 (In 4.0). 10/28/22: Added ability to pipe input to a program run with RunProcess, CreateProcess, or RunExternalTool. * 10/27/22: Added false color display with F12 as a hot key and replaced the Autozoom button in the Image Display panel with this. * 10/27/22: Added script commands for drawing graphs with genhstplt in IMOD. * 10/27/22: Added script command to computer ice thickness from energy- filtered/unfiltered pair of images. * 10/23/22: Automatically set the file number of the first extra Record output file when running batch tilt series. 10/23/22: Fixed setup of extra output parameters for batch to store the parameters set from the tilt series setup dialog (In 4.0). 10/23/22: When suffixes are set for extra files opened during Navigator acquisition, after closing the files, it removes any files not written to during the acquisition (In 4.0). 10/23/22: Allowed SetFrameTime command for Falcon 4 (In 4.0). 10/18/22: Added ability to use standard input redirection with tools and other processes run in the same way, and added a property to allow commands using a command processor to open the DOS window. 10/18/22: Allowed points to be selected outside the image area when dragging the mouse when Navigator is in Edit Mode (In 4.0). 10/14/22: SEM_4-0-13 10/14/22: Prevented various tasks from being started from the menu when continuous acquisition is running; they can still be run from script (In 4.0). 10/14/22: Fixed Try Again with Marker for a montage (In 4.0). 10/14/22: Made it pick the nearest beam shift calibration in a magnification range instead of using the first one it finds in the range, which made refined calibrations not get used (In 4.0). 10/14/22: Fixed wrong image being displayed when loading single-frame maps with the option to convert to bytes on, and assignment of map ID to loaded-in single-frame images (In 4.0). 10/7/22: Set RotateHeaderAngleBy180 to 1 by default if InvertStageXAxis is set. 10/5/22: Added handlers to catch invalid parameter and termination errors that do not go through the exception handler and added a backtrace to crash message. 10/5/22: Added check for special/unicode characters in properties. 10/5/22: Fixed problem with autofocus using wrong alpha or probe mode to assess if calibration exists (In 4.0). 9/29/22: Fixed display of multishots in hole when no multiple holes are defined. 9/27/22: Changed test for whether a camera is an Alpine so that it excludes a variant of K3 put on Continuum filter (In 4.0). 9/26/22: SEM_4-1-0beta5 9/26/22: Added property and changed FocusRamper to fix the blanking in camera timing calibrations starting after the scan with FEI STEM. 9/26/22: Fixed taking FEI STEM images when there is advanced scripting (In 4.0). 9/22/22: No longer allow using just a number instead of using DoScript (In 4.0). 9/22/22: SEM_4-0-12 9/22/22: Fixed new test for whether flashing is supported. 9/21/22: SEM_4-0-11 9/21/22: Added message box for RotationAndPixel pixel sizes of 999 (In 4.0). 9/20/22: SEM_4-1-0beta3 * 9/20/22: Added ability to save Focus and Trial states in Low Dose, and automatically restored prior state when Low Dose is turned on or off. 9/20/22: Added optional argument to turn off acquire flag for SkipAcquiringGroup command and fixed # done count in dialog when skipping a group. 9/20/22: Added cold FEG beam current to mdoc file and a script command to report it. 9/20/22: Fixed a problem with initial rotation angles if the EFTEM camera is calibrated first, and made it test for FEG flashing capability for an FEI scope instead of assuming it exists. 9/19/22: Clarified dose/frame text for Falcon 4 and fixed showing CLA for IS in STEM mode on JEOL (In 4.0). 9/15/22: SEM_4-1-0beta2 * 9/15/22: Added buttons to the multiple Record setup dialog to step to positions in an existing pattern and adjust image shift values, and to use the vectors from the last hole-finding for a regular pattern. 9/15/22: Made FEI autoloader and refrigerant commands use advanced scripting if the version is high enough. Prevented Selectris filter update from being attempted during other calls that use advanced scripting. 9/15/22: List of FEI STEM detectors should now come out in log window instead of just in server window. 9/15/22: Added property to specify staying in or out of STEM on startup even when InitialCurrentCamera setting would cause a state change. * 9/15/22: Added File menu entries to close all open files and to specify initial saving and autosaving of the log. * 9/15/22: Moved calibration of beam tilt versus image shift to Focus/Tune menu and move electron dose calibration from Calibration to Tasks menu, so that the Calibration menu can be omitted in basic mode. Added a reminder to calibrate dose if it expired in the last week. 9/15/22: Allowed smaller minimum defocus for coma and astigmatism by CTF; added another setting to specify the additional defocus for astigmatic images and allowed this to be smaller too. 9/15/22: Added script commands to open state dialog and set an imaging state, to cycle the autofocus target, to set image shift values for a custom pattern of multiple Records, and to set defocus offsets for a custom pattern. 9/6/22: Fixed two crashes if hole finder finds only one or two points in montage (In 4.0). 8/25/22: Fixed Camera - Divide 16 Bit by 2 being disabled for FEI cameras (In 4.0). * 8/24/22: Added ability to run the Ctfplotter program from IMOD instead of the built in Ctffind. 8/24/22: Made "SuppressMessages" suppress the output from 'Ctffind'. 8/24/22: Added a RunProcess script command to avoid opening DOS window. 8/24/22: Made NavFileItemToOpen set $repVal2 to 1 for success, 0 for failure. 8/22/22: Fixed script run by external Python from getting hung up (In 4.0). 8/22/22: Prevented ChangeIntensityBy from applying negative factor (In 4.0). 8/20/22: Prevented CreateProcess command from being named CreateProcessA (in 4.0). 8/19/22: SEM_4-0-10 8/19/22: Fix DM crash with GMS 3.5 after taking ~1 million frames (In 4.0). 8/19/22: Fix problem if property "GIF 0" occurs after "FEIFilterType 1" (In 4.0). 8/19/22: Fix InitialCurrentCamera being assigned with AssumeCameraForDummy value when the latter wasn't set (In 4.0). 8/19/22: Prevented some bad array accesses in Navigator after loaded a file smaller than the previous one (In 4.0). 8/19/22: Fixed some duplication of acquired positions in hole combiner (In 4.0). 7/22/22: Fixed using the wrong information about what piece a point is drawn on when drawing on an image that is not the original map drawn on (In 4.0). * 7/19/22: Added ability to toggle drawing of a range of Navigator items with the V key, as for A, D, etc. 7/19/22: Added property to skip normalizations after mag and/or spot change. 7/19/22: Changed label for polygon supermontage items to start with label of original polygon. 7/19/22: Fixed loading a montage map from an HDF file (In 4.0). 7/19/22: Made Polygon Supermontage assign the backlash of the original polygon to the new supermontage items (In 4.0). 7/16/22: Fixed navigator index being off for tasks like a script run after a multishot in Acquire at Items (In 4.0). 7/17/22: Fixed assignment of rotation to the first EFTEM non-LM magnification and problem calibrating first image shift when the LowestEFTEMNonLMIndex property is set. 7/17/22: Made the year in the DateTime entry .mdoc entry be 4 digits. 7/17/22: Added an integer time stamp and a FEG flash counter to the .mdoc file; the latter is kept in SEMshortTermCal.txt and incremented on every flash done by SerialEM. 7/17/22: Added script commands to trim a string from the front or back up to a specified substring, and to report camera name. 7/16/22: SEM_4-1-0beta1 7/7/22: Added a collection of script commands for adding new points or polygons from stage positions or pixel positions on an image, and a command for deleting an item. 7/7/22: Added script commands to report the beam position from fitting beam edges, to find the parameters of an elliptical beam if it is fully within the image, and to report the tilt axis offset. 7/7/22: A negative value of FitMontageWithFullFrames makes it use the full frame size only when a fitted montage is just a single piece. 7/7/22: SetImageShift and the ImageShiftBy... commands now test for image shift going out of range and do not shift if it will. 7/7/22: ReportMag now also reports whether in EFTEM or STEM mode. 7/7/22: Made program test image shift axes separately for being or going out of limits if a property UseSquareShiftLimits is set (the default is on for JEOL, Hitachi, Krios and if there is advanced scripting). 7/6/22: SEM_4-0-9 7/6/22: Fixed test in Navigator Acquire for whether call to find out if flashing is advised failed (In 4.0). 6/28/22: Fixed not being able to reenable external Python control (In 4.0). 6/28/22: Made script commands for dewar levels give a message box on JEOL if debug output is set (In 4.0). 6/28/22: Fixed Manage Dewars/Vacuum button showing up in Navigator Acquire dialog on JEOL with property entry to prevent it (In 4.0). 6/28/22: For DE Apollo camera, made frames per second read-only, fixed getting name of frame file, fixed count scaling when aligning images, and hid the option to save single frames. Also fixed determining status of saving with 2.5 server (In 4.0). 6/26/22: Added ability to set stage and tilt speed for Hitachi scopes, and remove and reinsert the objective aperture. 6/22/22: SEM_4-0-8 6/22/22: Fixed tasks using Search instead of View when View has a field of view below the criterion but they have the same mag (In 4.0). 5/28/22: When reading from or reopening a montage with whole rows or columns skipped, the program will treat it as having the full originally specified size for consistency with when it was initially open. Instructions for importing externally defined Navigator items have been changed and clarified to enable importing points picked on such montages. 5/28/22: Fixed writing float images to .idoc file (series of TIFFs) (In 4.0). 5/27/22: Fixed adjusted center of montage fit to polygon being off when drawn on tilted image (In 4.0). 5/27/22: Fixed reading montage from HDF file with Read from Other (In 4.0). 5/25/22: Made loops that access all piece coordinates more efficient. 5/25/22: SEM_4-0-7 5/25/22: Allowed View shift offset to be reset in STEM mode (In 4.0). 5/24/22: Changes to support Gatan Alpine camera (In 4.0). 5/24/22: Fixed montaging with idoc file, broken 4/22/22 (In 4.0). 5/21/22: Added property to start program with Discard Settings set. 5/21/22: Allowed script spinners in Camera & Script panel to be hidden. * 5/21/22: Changed "Ask about making map" to "Make map..." in montage setup dialog, so it will no longer ask, just do it as specified. 5/21/22: Added montage option to close file when montage is done. 5/20/22: Fixed warning of difference between binning of montage set to be opened during Navigator acquire and Record binning to access right camera control set (In 4.0). 5/20/22: Fixed hiding of items for some control panels when options section is not being hidden (In 4.0). 5/18/22: Added magnification to ImageConditions output. 5/18/22: Created directory for copying EER gain reference if it is not there yet (In 4.0). 5/17/22: Returned DE dark reference image with server 2.5 (In 4.0). 5/17/22: Fixed one source of zero intensity calibrations (In 4.0). 5/17/22: Fixed checking for high flash advised instead of low in Navigator Acquire (In 4.0). 4/30/22: SEM_4-0-6 4/30/22: Fixed default for PythonModulePath so this property really shouldn't be needed if PythonModules in directory with SerialEM.exe (In 4.0). 4/30/22: Made EchoBreakLines available in Python and made it break lines at '\n' without needing the | prefix (In 4.0). 4/30/22: Changes to be able to take DE dark references with 2.5 server version, with fixed number of repeats (In 4.0). 4/30/22: Fixed anchor map and realign to item returning to "prior state" in state dialog instead of forgetting that state (In 4.0). 4/27/22: Restored "Save one frame per file" to Frame Options dialog (In 4.0). 4/27/22: Added manifest entries that may prevent "Error adding Python process to job object" (In 4.0). 4/24/22: Fixed crash autofocusing with tilted floating point images (In 4.0). 4/24/22: Fixed crash rotating floating point map image (In 4.0). 4/24/22: Made tilt axis be drawn correctly on a rotated map image (In 4.0). 4/24/22: Stopping focus from cycling in Navigator Acquire when the option is turned on but disabled in the dialog (In 4.0). 4/24/22: Made sure image is redrawn after Shift to Marker is applied to a restricted set of points (In 4.0). 4/23/22: SEM_4-0-5 4/23/22: Prevented Return from closing Buffer Control panel and made sure no combo boxes are editable (In 4.0). 4/23/22: Added script command to set email address for next email. 4/23/22: Added script command to reorder a montage piece list by tilt angle. 4/23/22: Added script command to enable saving multiple records into separate files (a work in progress, needs an alignment procedure for tilt series). 4/23/22: Fixed crash on JEOL using PLA for IS, broken 3/28/22. 4/22/22: Added property FalconEventScaling for scaling images from EER files aligned in SerialEM the same as other counting images and revised help to describe measuring this (In 4.0). 4/22/22: Fixed Falcon 4 aligning in SerialEM for real this time (In 4.0). 4/22/22: Fixed crash printing an error message from sending mail (In 4.0). 4/22/22: Fixed reading of metadata from HDF montages and reordering of piece coordinates on bidirection/dose-symmetric series (In 4.0). 4/19/22: Improved values reported from CheckForBadStripe so it is possible to distinguish a bad stripe from a defect near chip boundary (In 4.0). 4/17/22: Prevented "Run script after" in Navigator Acquire from being moved before primary action (In 4.0). 4/17/22: Fixed Echo to not convert "\n" to newlines (In 4.0). 4/17/22: Made "Save Records" in multishot dialog be disabled by early return setting only if a K2/K3 is current camera, and disabled the early return entries when one is not the current camera (In 4.0). 4/17/22: Made sure filter settings are asserted at start of mag-dependent image shift calibration (In 4.0). 4/17/22: Prevented infinite looping after error saving in background during dose-symmetric series and fixed problems with reordering file after error (In 4.0). 4/17/22: Prevented waiting for JEOL lens relaxation in STEM mode (In 4.0). 4/17/22: Limited number of visible items in a combo box dropdown to 40, which makes a scroll bar appear and avoids noxious behavior when selecting scripts (In 4.0). 4/4/22: Added property MultiInHoleStartAngle to set angle of first peripheral shot take in a hole with multishot routine. 4/4/22: Added option to take montages through the multishot routine. 4/4/22: Added script commands to accumulate Record dose through a series of images and to get the dose for an image. 4/1/22: SEM_4-0-4 4/1/22: Fixed Navigator Acquire not moving to stage position after failing to find a map for realigning to (In 4.0). 3/30/22: Fixed scaling by 100 when aligning EER frames in SerialEM (In 4.0). 3/28/22: Fixed transfer of image shift between mags for FEI/Thermo scopes where lowest nonLM mag index is different in EFTEM mode. * 3/28/22: There can now be up to 100 files open. 3/28/22: Changed "Balanced Shifts" in Low Dose dialog to be a single button with mutable label that is green when shifts are balanced. 3/28/22: Fixed rotation problem report to report no absolute calibrated angle instead of all mags relying on nominal relative rotations (In 4.0). 3/28/22: Fixed program getting screwed up by warning from waiting for lens relaxation if the log is closed (In 4.0). 3/24/22: Prevented DE protection cover mode from being changed after an acquisition is started (In 4.0). 3/18/22: Fixed running Python scripts from RunScriptInFile and prevented this from being called from Python (In 4.0). 3/17/22: Fixed drawing of low dose areas with Balance Shifts on (In 4.0). 3/11/22: Fixed align flag being sent to K2/K3 when dose frac is not selected (In 4.0). 3/11/22: Fixed "Use item labels in filenames" to not replace text in the directory name and to replace only the last matching text in the name so numbers can be used in the name prior to the label (In 4.0). 3/11/22: Fixed Edit focus to use the registration of the image being displayed, not the current registration in the Navigator (In 4.0). 3/9/22: SEM_4-0-3 3/9/22: Fixed the camera coordinates used for an anchor map when there is more than one camera and stopped anchor map routine from proceeding after an error getting the image (In 4.0). 3/9/22: In Navigator Acquire dialog, made most disabled options be hidden when hiding is selected, even if they are checked (In 4.0). 3/9/22: Added another color to spot indicator (light cyan) to indicate when intensity is in the extrapolated region of the calibration, clarified in the help this distinction and the fact that this region is not allowed for calibrating dose, and improved the error message when calibrating electron dose fails (In 4.0). 3/9/22: Explained in help that View or Search will be reasserted with old parameters if Low Dose continuous update is turned on after changing probe mode or crossing LM-nonLM boundary (In 4.0). 3/7/22: SEM_4-0-2 3/7/22: Added script commands RunScriptInFile and RunSerialEMSnapshot, added the diagnostic script for the latter to the program package, and fixed problems with running functions in scripts loaded with these commands or RunScriptInWatchedDir (In 4.0). 3/6/22: Fixed crash adjusting focus position with Navigator "Edit focus" when groups are collapsed, made several other operations in Edit focus mode work right with groups collapsed, and allowed Ctrl-left click to select a point in Edit focus mode (In 4.0). 3/4/22: Fixed "TILT SERIES TERMINATING" messages showing instead of message boxes (In 4.0). 3/2/22: SEM_4-0-1 3/2/22: Got the 2/24 SEMCCD change on RotationAndFlip into package (In 4.0). 3/2/22: Fixed DM crashing when saving frames (In 4.0). 3/2/22: Fixed crashes opening multishot dialog with noScope/noCamera instance, made it possible to turn on Low Dose also (In 4.0). 3/1/22: Fixed dose calibration being off by 4 for Apollo camera (In 4.0). 2/28/22: Made Navigator Acquire ignore early return setting if camera is not a K2/K3 (In 4.0). 2/28/22: Fixed infinite loop when compensating beam tilt for image shift (In 4.0). 2/28/22: Made Navigator Acquire impose backlash when moving to point if stage relaxation is selected (In 4.0). 2/25/22: SEM_4-0-0 stable * 2/24/22: Changed RotationAndFlip value in .pcm files when aligning in IMOD to -2, so that if nonnormalized files saved without reorientation are aligned in IMOD 4.12.18 or higher, it will reorient the aligned sums properly. 2/24/22: Stopped renaming the 64-bit SEMCCD files to SEMCCD-GMS2-64.dll so that it is more clear that the right version is present. * 2/24/22: Sped up variable frame summing in SEMCCD plugin when saving unnormalized frames. 2/24/22: Added an option to Filter Control panel to do Refine ZLP with Trial in Low Dose. * 2/24/22: JEOL scopes with original defaults for image shift delays will have ISDelayScalingFactor set to 0.2 based on new measurements. 2/22/22: Fixed crash using multishot dialog with Navigator not open. * 2/22/22: Made it possible to avoid making a temporary stack when doing K2/K3 early returns; early return will now show some or more benefit when using it for multiple Records. 2/22/22: Fixed rotate on load and Rotate Map, broken 2/16/22. * 2/22/22: For Titan or scopes with Advanced Scripting, the program will adjust image shift settling times to new, much lower values if ImageShiftDelays are still at the original defaults and ISDelayScaleFactor is not set. 2/22/22: Fixed parsing of /* */ comments in properties file. 2/22/22: Made FrameSeriesFromVar set up an appropriate beam shift when given image shifts on a JEOL. * 2/22/22: The tilt delay set in the tilt series setup dialog is now separate from the general tilt delay which applies during eucentricity. * 2/22/22: Added option to iterate beam autocentering. 2/18/22: SEM_4-0-0beta6 2/18/22: Changed SEMCCD plugin to keep r/f 0 and add "need n" when frames are saved without rotation and flip to avoid breaking alignframes. The start of the title after "SerialEMCCD" has also been changed. 2/17/22: SEM_4-0-0beta5 2/17/22: Fixed "No message box on error" in Navigator Acquire interfering with proper tilt series termination on error. * 2/17/22: Increased available number of scripts to 60. * 2/16/22: Made alignment in DM with a K3 use the MotionCor2 capability. 2/16/22: Added ability to flip an imported map when rotating it. * 2/16/22: Made Zemlin tableau use Record images with CTF acquire parameters. 2/15/22: Fix crash in frame alignment dialog if settings were never read. 2/15/22: Fixed crash when aligning whole tilt series in IMOD and Save was not actually checked, and passed on errors in the camera image display routine properly to stop running procedures. 2/15/22: Added script command to report discrepancies between stage calibrations derived in different ways. 2/9/22: SEM_3-8-18 2/9/22: Guaranteed that image shift would be read from scope after setting it to neutral on JEOL (In 3.8). * 2/9/22: Made it possible to see Record/Focus areas on all acquire points by turning on Show acquire in Edit Focus mode. 2/9/22: Attempted to prevent files from being marked as montage when not montaging. 2/9/22: Stabilized drawing of acquire box on marker point when current point changes (In 3.8). 2/9/22: Prevented division by 0 in a camera routine (In 3.8). 2/7/22: Fixed setting View shift offset with shifted View image when continuous update is on, or turned on afterwards. * 2/7/22: Added script commands to scale an image to bytes, paste two images side by side or vertically, produce a reduced spectrum scaled to bytes, and produce a side-by-side reduced image and scaled spectrum. 2/7/22: Scaled stored dialog sizes and positions when DPI setting is different from when the program was last run; also made all such dialog positions and sizes be set when loading settings after startup. * 2/7/22: Added button to save Mont-map states, ones having Mont-map instead of Record camera parameters, to the State dialog. 2/7/22: Added ability to specify beam shift changes in FrameSeriesFromVar. * 2/4/22: Moved menu entry for setting email address from Tilt Series to Settings menu. 2/4/22: Added Tilt Series menu entry to set a delay after return to the starting point in bidirectional series. 2/4/22: Added option to Navigator Acquire at Items to retract cameras at end. 2/4/22: Added script commands to set up a script to run after Navigator acquisition, and to load a script package at end of script. 2/4/22: Saved larger TIFF and JPEG files in a thread to keep UI alive. 2/4/22: Switched reading of EER files when aligning frames to use antialiasing and read in 4K images only. 2/4/22: Fix scaling for Apollo camera to come from the right property. 2/2/22: Fixed matrix used when adding points from hole finder with "away from focus" option (In 3.8). 2/2/22: Prevented clicking on Search image from moving focus area (In 3.8). * 2/1/22: Added option to beam autocentering to use current Trial parameters with a specified reduction in beam size. 2/1/22: Made beam autocentering switch a direct detector to linear mode if the intensity is changing more than a factor of 3. 2/1/22: Added script command to assign image shift vectors for multiple Records from the vectors measued by the hole finder. 2/1/22: Fixed opening FFT window, broken by menu fix of 1/25. 1/28/22: Test Acquire in beam autocenter setup turns off continuous update to prevent the regular Trial intensity from being changed by test (in 3.8). 1/28/22: Added missing line of task elements to Acquire at Items table. * 1/26/22: Released plugin/server in which saving frames from Ceta 2 works. 1/26/22: Added special option to keep Trial and Focus at same position while allowing other differences. * 1/26/22: Added Navigator Edit Mode feature for selecting multiple points by holding down Ctrl and the left button and moving the mouse of over points. 1/26/22: Added a report of problems with rotation calibrations. 1/25/22: Allowed embedded newlines in a string assignment to a variable make the variable an array of strings. 1/25/22: Added EchoBreakLines command to print each element of an array on separate line. 1/25/22: Made "three-choice" message box able to have only one button and to become wider instead of wrapping lines; added script command to turn off wrapping, and used this box for OKBox and YesNoBox when wrapping is off. * 1/25/22: Added rotation and flip value for K2/K3 to mdoc and made frame files saved without rotation/flip indicate the value needed with "nrf" (which became "need" later). 1/25/22: Added script command to run a script in DM. * 1/25/22: Made rough eucentricity use previous image instead of original one as reference if shift is big enough, since correlating with progressively larger shifts is more prone to fail. Added script commands to set a limit for Z movement and to test if last run failed due to the limit. * 1/25/22: Changed "To file" spinner in Buffer Control panel to a combo box for showing and selecting the current file; kept open files in order in title bar. 1/25/22: Added line to snapshot dialog showing active window name, and script commands to report and set active window. 1/25/22: Fixed menus when New Window is used after being in Basic mode. * 1/20/22: Made most tasks taking lower-magnification tracking shots use Search instead of View in Low Dose mode if View has an inadequate field of view but Search has a better one and is not in LM. There is a special option to override this behavior. 1/19/22: SEM_4-0-0beta3 1/16/22: Included dose of Records retaken before being saved in PriorRecordDose values (In 3.8). 1/13/22: Set information needed to get adjustment for high defocus when loading a map. * 1/13/22: Extended autoloader script commands to support the JEOL autoloader. 1/13/22: Added script commands to get the vectors from hole finding and to add a title to the header of an image file. 1/13/22: Added option to use a monospaced font in the log window. 12/28/21: Fixed reporting of frame alignment results for Falcon 2 (in 3.8). 12/24/21: SEM_3-8-17 12/24/21: Made Acquire at Items move to the position with backlash instead of doing the backlash routine afterwards when making a single-frame map. * 12/24/21: Made scroll wheel zoom image only when over the image window and scroll either the log or the Navigator table when it is over those windows. 12/24/21: Fixed saving of maps when (disabled) skipping of save is checked and erroneous report of multishot failed during Acquire at Items. 12/23/21: When the main image window is resized, the image zooms are adjusted by the change in size instead of the zoom of the current buffer being reset to fit the image in the window; this prevents reset when un-minimizing the program too (In 3.8). 12/23/21: Fixed image read in for Realign to Item being displayed at the wrong zoom (In 3.8). * 12/19/21: Upgraded state dialog and state saving so that Record, View, and Search states can all be saved and set, including focus offsets, and so that target defocus can be saved outside of Low Dose mode. 12/19/21: Prevented several scenarios for getting stuck with a View/Search defocus offset in other modes. * 12/19/21: Added support in SerialEM for saving and aligning frames from Ceta 2 camera (plugin not finished). 12/14/21: Fixed defocus offset spinner for Search changing actual defocus when in Search. 12/9/21: Fixed problem reconnecting to Tietz-SEMserver (In 3.8). 12/2/21: When acquiring montages at the points of a polygon supermontage and skipping pieces outside the polygon, the error from Realign to Item will be added to the polygon coordinates to give more accurate skipping. 12/2/21: Fixed Navigator Acquire to take montage instead of single image when making a montage map and the disabled skip saving option is on, and also not to do backlash adjustment after making a montage map. 11/27/21: Fixed loading map from non-current open file with hole finder open (In 3.8). 11/24/21: SEM_4-0-0beta2 11/23/21: Changes to support frame filename changes in DE server 2.5. 11/23/21: More changes for camera timing calibration with NoShutter = 2. * 11/23/21: Changed from two primary actions for saving images in Acquire at Items to one action with a checkbox for making a map. Also allowed this action to be with View/Search images regardless of whether a map is being made. 11/21/21: Fixed image acquisition from Gatan camera, broken 11/8. 11/21/21: When DM dies and there is a filter, the filter update will not only retry every 5 seconds, since the more frequent retries were hanging SerialEM with a socket connection. 11/21/21: Added condenser stigmator script commands. 11/18/21: Fixed Falcon dose rate output being off by 4, broken 10/12. 11/18/21: Changed name of temporary file during inverting/reordering of tilt series to not end in .mrc, to discourage automatic copying. 11/18/21: Made it possible to move a task above or below the Primary Action with the Move Up/Down buttons in Acquire at Items. 11/18/21: Fixed loss of prediction-related parameters when reading tilt series parameters from a Navigator file. 11/18/21: Fixed setting target defocus value into master value when postponing tilt series dialog. 11/18/21: Made the Acquire at Items primary task selection appropriate for tilt series or no tilt series when switching between the two parameter sets or loading a set from file. 11/16/21: Fixed loss of autofocus beam tilt when loading tilt series parameters back from Navigator file. 11/16/21: Added warning to log if there are unicode or other special characters in the MrcHeaderTitle property. 11/16/21: Prevented crash if trying to resume tilt series after the file inversion of bidirectional series fails and leaves file closed. 11/16/21: Added scriptable properties to control image toggling during stage calibration. * 11/16/21: Enabled buttons for defining Trial/Focus areas in Search mode. 11/16/21: Fixed some problems with using OpenNewMontage when no montage was opened before. 11/8/21: Fixed possibility of failed memory allocations due to integer overflow for arrays > 2 Gpixels, except for images sent to Python. 11/6/21: Added a possible delay after image shift to FrameSeriesFromVar. 11/6/21: Made ReportLastFrameFile report directory and filename separately. 11/6/21: Made the mouse wheel scroll Navigator table if it is the last item clicked on, without giving the dialog focus. 11/3/21: Fixed problem with holefinder assigning points to grid after correlation with raw average gives no usable points (In 3.8). 11/2/21: Changes to make camera timing calibration better with NoShutter 2. 11/2/21: Added script command to set base name for frame files. * 11/2/21: Made hole finder check spacing between holes with analysis of autocorrelation peaks using pixel size routine. 11/2/21: Added script command to find spacing and vectors of a lattice of points in an autocorrelation using the pixel size routine. * 11/2/21: Added option to Acquire at Items to take single-image maps in Low Dose with View or Search. 10/30/21: SEM_3-8-16 10/27/21: Allowed /* ... */ comments in scripts 10/27/21: Fixed crash reloading settings if not in basic mode and basic mode hides out a tool panel. 10/25/21: Fixed Acquire at Items assessing problems in the wrong set of acquire parameters. 10/25/21: Fixed clearing of Acquire flag after Acquire at Items runs a Python script, and passing exception from camera and possibly other errors back. * 10/25/21: Added support for getting refrigerant level and time remaining until a refill from JEOL scopes. 10/25/21: Fixed hole finder crash with very bad pixel size defined and added some protection against it taking angle and spacing of pattern from the diagonal when pixel size is too large. 10/20/21: Added plugin for GMS 3.5 (In 3.8). 10/12/21: Made offset in autofocus calibration not apply for Falcon 4. 1/12/21: Fixed frequent accesses of stage status on JEOL with no events. 10/12/21: Added ability to start a SimpleOrigin refill (requires latest software) and added script command to turn system on or off. * 10/12/21: Changed terminology for dose rate from "unbinned pixel" to "physical pixel". 10/12/21: Added a camera type for DE Apollo camera and changed dialogs as needed for this type. 10/12/21: Made DE reference maker able to take a reference for the current Record parameters, changed script command for DE dark reference to allow this and Navigator Acquire at Items to use it; and made Setup button in Acquire at Items open the server reference dialog. 10/6/21: Changed Eucentrity by Focus to estimate scaling between defocus and Z at different defocus offsets from the slope of an extended autofocus calibration and provided a new script to measure the scaling directly if necessary; CHANGED MEANING OF ZbyGFocusScalings PROPERTY COMPLETELY. * 10/6/21: Added commands to do an autofocus calibration over a wider range with measurements at a sparse interval outside the normal range; increased limit on number of points in a focus calibration. 10/6/21: Allowed /* */ to enclose multiline comments in properties file. 10/6/21: Prevented Alt alone from hanging program when doing operations. 10/6/21: Start blanker thread when there is reblanking without unblanking. 10/6/21: Stored modified pixel size and rotation from high-focus adjustment in MontSection of mdoc. 10/6/21: Fixed defocus offset getting off when settings with a different offset are loaded while in View/Search, or when changing with SetUserSetting. 9/29/21: SEM_4-0-0beta1 9/28/21: Added script commands for reporting some settings in a camera parameter set. 9/27/21: Allowed autofocus to be run after primary action in Acquire at Items. 9/24/21: Added script command to get hole finder diameter and spacing. 9/24/21: Added script commands to report and set diffraction shift. 9/24/21: Fixed crash if start to exit during a dose-symmetric series and choose to reorder file instead (In 3.8). 9/24/21: Added option to the Focus by Eucentricity dialog to use a View subarea for the focus measurements. 9/22/21: SEM_3-8-15 9/22/21: Fixed crash using hole finder on non-montage (broken 8/23) (In 3.8). 9/21/21: Allowed relative focus to be set with objective minilens in LM on JEOL, so scope control, focus calibration, and autofocusing can work in LM. 9/21/21: Stopped brief unblanking before exposure with NoShutter 2. 9/16/21: Retry opening an mdoc file for writing to try to dodge file locks from automated copying operations. 9/16/21: Added dose rate table for Falcon 4 at 200 kV. 9/12/21: Added option to multi-hole combiner to turn off and not acquire points outside a polygon when selecting points inside. 9/12/21: Prevented trimming in autoalignment to the template in Align to Template. 9/10/21: Fixed rotations of multishot patterns produced by the combiner when working with montage-based image coordinates, broken 8/23. 9/9/21: SEM_3-8-14 9/9/21: Stopped displaying full multishot pattern on the current point if some positions are being skipped for it (In 3.8). 9/9/21: Fixed crash reordering dose-symmetric file when running from Navigator (In 3.8). 9/9/21: Stopped trying to ensure a dark reference in beam calibration routine with OneView/Rio cameras (In 3.8). 9/7/21: Fixed crash when loading settings with Low Dose turned on but no area selected. 9/7/21: Made header title line show "dosym" instead of "bidir" for dose-symmetric series (In 3.8). 9/5/21: Fixed 27 settings not being saved, broken 8/4/21. 9/5/21: Made the timing for Refine ZLP in Navigator acquire be based on the global time since last ZLP and stopped tests for periodic tasks from falling through into test for whether far enough from last position. 9/4/21: SEM_3-8-13 9/4/21: Fixed corruption of autocentering parameters and crashes after reloading or loading new settings (In 3.8). 9/4/21: Fixed Navigator acquire resuming when leave dialog with Postpone. 9/4/21: Made Align to Template not restore state when in Low Dose mode. 9/3/21: Prevented pushing STOP during mag and other such changes. 9/3/21: Added script command ImageMetadataToVar. 9/3/21: Made Echo preserve \r\n line endings in a string and print multiple lines. Also made it possible to pass \n and \r\n to a Python script without the '|' prefix if they are immediately surrounded by quotes. 9/3/21: Fixed ability to load map from HDF file that is not open. 9/3/21: Eliminated the "Restore state after Realign to Item" option from Acquire at Items dialog. 9/3/21: Added check for template existence at start of Navigator acquire with Align to Template selected. 9/1/21: Fixed repeated looping on inverting the first half of a bidirectional series when background saving is not enabled (In 3.8). 9/1/21: Fixed test for number of peripheral shots in multishot procedure to have same limit as in dialog and added test of second ring number (In 3.8). 8/30/21: SEM_3-8-12 8/30/21: Fixed ordering of points with "Away from focus" option when making Navigator points in hole finder, and when using "Add Grid of Points" with Focus area axis rotated by +/-90 (In 3.8). 8/28/21: Added property to specify that EFTEM mode has different lowest nonLM mag index. 8/25/21: Fixed List Mags to not hang on JEOL when restoring mag at end. 8/23/21: Fixed termination of external script from remote machine (Linux?). * 8/23/21: Changed multi-hole combiner to use image positions for a montage whenever possible (i.e., if points were drawn on a loaded map), which fixes problem of bad center positions when there are big piece offsets. 8/23/21: Fixed hole finder assigning points to wrong montage piece and some other potential problems (In 3.8). 8/19/21: Added camera properties for Falcon frame path and reference directory so that it will work with multiple Falcons. 8/19/21: Fixed problems with HDF saving, and with reopening HDF montages. 8/19/21: Added checks for illegal characters in entered names for frame files and folders. 8/18/21: Prevented problem with mismatched sizes in shift calibrations when using trial area (In 3.8). * 8/17/21: Put stage coordinates of marker point in status bar when Navigator is open. 8/17/21: Prevented some inappropriate operations when the stage is busy. 8/17/21: Put SAVING IMAGE in status bar in case it takes a long time. 8/17/21: Took the fill value used for missing montage pieces from a piece near center instead of the first piece when possible so it would be gray not black. 8/17/21: Prevented DM from crashing and got proper error return when the output file for frame saving cannot be opened (In 3.8). 8/17/21: Prevented program crashes and message boxes during batch acquisition when the file to be reordered for bidirectional or dose-symmetric series cannot be renamed (i.e., when open elsewhere) (In 3.8). * 8/4/21: Expanded the set of tasks that Navigator Acquire at Items can run, provided flexibility in where and when they run, added multiple Records as another primary acquisition action, revamped the Acquire at Items dialog and made it nonmodal so other setup dialogs can be opened and checked from it, and added various other options that should allow SPA acquisition to be done without scripts. * 8/4/21: Added routine for managing nitrogen filling and vacuum pump events and a dialog for setting parameters. * 8/4/21: Added routine for aligning to a template image, which is saved as a map and has to look like a cropped image. 8/4/21: SEM_3-9-0beta9 8/4/21: Fixed gain and defect correction when aligning Falcon 4 frames; fixed copying of gain reference to frame folder when saving Falcon 4 frames. 7/27/21: SEM_3-8-11 7/26/21: Fixed limiting of autoalign distance when there is non-centered trimming of one or both images (In 3.8). 7/22/21: Fixed 7 new properties being case sensitive. 7/22/21: Added StageXYSpeedFactor property to set speed for X/Y moves. 7/22/21: SEM_3-8-10 7/18/21: Made it test if GPU is available when frame alignment is being used with a Rio or Oneview (IN 3.8). 6/30/21: Made Script stop after an error doing arithmetic expression (In 3.8). * 6/29/21: Added routine to set eucentricity by measuring defocus. * 6/22/21: Added ability to use "Shift to Marker" on mag-specific subsets of items and to save shifts for reuse on newly acquired maps. 6/17/21: Added partial support for SimpleOrigin nitrogen filling system. 6/15/21: SEM_3-9-0beta8 6/15/21: Added a property to set a wait time after the end of dewar filling when 'TSCheckScopeDisturbances' causes it to wait before a Record. 6/15/21: Saved tilt series, montaging, and file opening parameters to the Navigator file. * 6/15:21: To allow extra tilt series output settings to be varied in batch acquisitions, added a button to open the extra output dialog to the tilt series setup dialog when it is opened from Navigator. * 6/12/21: Added support for FEI Selectris filter. 6/12/21: Added support for CFEG flashing on FEI scopes. 6/12/21: Started storing JEOL alpha in saved states. 6/8/21: Added script commands ChangeItemDraw, ReportCurrentBuffer, and ListCalibrations, and property to show magnification instead of defocus in the Buffer Status panel. 6/5/21: Prevented walkup to an angle beyond the maximum allowed tilt (In 3.8). 5/24/21: Fixed autodoc/mdoc functions and IsVariableDefined when run from Python. 5/24/21: Added plugin and scope functions and scripts commands for accessing image-beam tilt on an FEI scope. 5/19/21: Asking for walkup to an angle higher than the maximum will generate an error (In 3.8). 5/18/21: Fixed disabling of script toolbar when stage is moved after setting up a Navigator montage (In 3.8). 5/17/21: Add script commands to access emission state on JEOL cold FEG. 5/16/21: Fixed loss of information needed for hole finder when "Rotate on load" is set for the map (In 3.8). 5/10/21: SEM_3-8-9 5/10/21: Added property to stop reading properties before ones defined in a later (beta) version (In 3.8) 5/10/21: Fixed STEM detector name displayed and saved in mdoc when detectors are mapped to Digiscan channels (In 3.8). 5/10/21: Fixed reading of DE camera server property for scaling of counting mode images (In 3.8). 5/9/21: Fixed ReportIfNavOpen to give 1 when no file defined (In 3.8). * 5/5/21: Added ability to embed Python inside regular scripts. 5/5/21: Fixed display of multi-shot areas when multiple holes not selected (In 3.8). 5/5/21: Saved existing script package under a new name when reading settings with no script pack entry because it was being overwritten (In 3.8). 5/3/21: Made the program stop tasks before exiting so that beam tilt and other states gets restored, after asking the user to confirm. 4/30/21: Fixed crash displaying hole finder points when montage analysis fails (In 3.8). 4/29/21: Fix potential crash changing STEM mag on JEOL. * 4/29/21: Allowed a regular script function to be called from Python, switched to collecting standard output from Python and putting it in the log so that the standard 'print' function could be used. * 4/28/21: Allowed a regular script to be called from a Python script, and a Python script to be called from a regular script. Added ability to return values from a function or script call with the Return command. 4/27/21: Fixed uninitialized values in stage restore for dose-symmetric series (In 3.8). 4/26/21: Fixes for Python: make sure Python is killed when SerialEM crashes, escape backslashes so they are not misinterpreted in Python, add library to module package. * 4/23/21: Changed Python scripting to run Python executable with script to solve import problems; this also allows external control from a Python script. Added a command to place an image into a buffer. 4/21/21: SEM_3-9-0beta7 4/21/21: Fixed OpenMP library conflict in SEMMCCD plugin that ruined antialias reduction at least in GMS 3.43. 4/16/21: SEM_3-9-0beta6 4/16/21: Rebuilt JeolCamPlugin, HitachiPlugin, DEcamPlugin for beta package with proper libraries. 4/16/21: Fixed problem with acquiring frames in GMS 3.43 (in 3.8). 4/3/21: Added Python image type that can give access to an image in a buffer, but found that numpy and scipy currently hang or crash SerialEM when imported (don't try it). 4/2/21: SEM_3-8-8 4/2/21: Fixed crash at end of STEM montage on systems with more than one detector (In 3.8). 3/31/21: Added optional entry to UpdateGroupZ to update the next item's group. * 3/31/21: Added ability to use a monospaced font and to adjust indentation more easily in script editor. 3/29/21: Fixed commands taking strings from the rest of the line for Python. 3/27/21: Improvements and changes in behavior for Python support; new plugins available. * 3/23/21: Python scripting now works, with plugins available. 3/22/21: Fixed dose-symmetric series in STEM mode to stop saving, restoring, or adjusting intensity (In 3.8). 3/22/21: Stopped speed from being restored too soon when background tilting on JEOL (In 3.8). 3/22/21: Fixed recording of diffraction focus on JEOL with continuous update on (In 3.8). 3/21/14: Added flag to skip scale bar when snapshotting image window. 3/14/21: Allowed scale bar to be drawn on many processed images (In 3.8). 3/12/21: Fixed getting tilt sums during frame series when there is an energy filter (In 3.8). 3/5/21: Added 64-bit HDF library for v140 64-bit build only; to run this build, copy SerialEMLibs/x64/hdf5-14.dll to the executable directory or somewhere on the path and rename it hdf5.dll. 3/5/21: Added a script command to present user with three choices. 3/2/21: Made changes to allow scripting to be done with an external script interpreter embedded in a plugin. 3/2/21: Changed shifts for ReplaceFrameTSShifts to be in specimen coordinates (In 3.8). 3/1/21: SEM_3-9-0beta5 2/23/21: Added camera property to set delay from setting intensity to starting acquisition. * 2/22/21: Added options to use Search area to Autofocus script command. 2/22/21: SEM_3-8-7 2/22/21: Added button to Hole Finder to toggle display of points while button is pressed. 2/22/21: Added ability to open script editor windows with a right click on the button in the script toolbar or Camera and Script Tools panel. 2/22/21: Replaced colored borders for buttons with colored backgrounds. 2/22/21: Fixed using OneView with drift correction and float images (In 3.8). 2/18/21: Assigned the current stage backlash, if any, to an image shift montage so that a map made from it would have backlash (In 3.8). 2/16/21: Added script command to report the number of holes and Navigator points that would be acquired by MultipleRecords using only points that include a specified minimum number of holes. ReportNavItem also sets a variable for the number of holes that would be acquired for one item. * 2/16/21: Made excluded points in the hole finder be colored light or dark blue depending on which mean cutoff they exceeded. 2/11/21: SEM_3-9-0beta4 2/11/21: Updated Microsoft DLL's on nightly build machine and discarded beta2 and beta3 packages built there because plugins would not load on Windows 10. 2/9/21: Added script commands to change frame and exposure times together by a factor, and to adjust dose outputs in the .mdoc file. 2/7/21: Fixed saving of non-square images, broken 1/30. 2/6/21: Added script command to do File - Open Old, made some commands able to work on a buffer in the FFT window, and added command to test if that is open. 2/4/21: Fixed losing names in Script-Run menu if Script-Verbose is hidden. 1/30/21: Added support for Falcon 4. 1/27/21: Fixed Extra Division by 2 being enabled for FEI cameras (In 3.8). 1/15/21: Use Trial Size for image/stage shift calibrations will also use the current Trial subarea offset from center as well (In 3.8). * 1/15/21: Revised instructions to say that FrameGPU and new CUDA dll's should unpack to Shrmemframe, and made the installer move the dll's from Plugins to Shrmemframe; this will restore direct GPU access from SEMCCD on some systems. (In 3.8). 1/14/21: Changed terminology for STEM in Camera Setup dialog. 1/12/21: Echo in scripts will now preserve indentation. There are now variables defined with the script name and long name. * 1/10/21: Expanded ability to hide dialog elements and made it possible to close up empty space in control panels after hiding. 1/8/21: Made various normalizations happen after a mag change on a JEOL if appropriate lens change sequences are defined for each relevant type. 1/8/21: Fixed projector normalization when changing mag, broken 12/16. 1/8/21: Fixed beam autocenter intensity being set to current trial value when dialog is opened or Trial is gone to with scope tracking on, broken 12/15. 1/8/21: Added script commands EchoNoVarSub to echo without variable substitutions, ReportEnvironVar to get an environment variable, and ReportSettingsFile and ReportSettingsFile. 1/5/21: Fixed RunScriptInWatchedDir to work outside the current directory (In 3.8). 12/31/20: SEM_3-8-6 * 12/31/20: Fixed when the Multiple Record center shot is taken (after vs. before), broken 6/3/20 (In 3.8). 12/30/20: Fixed orientation of drawn circles for multiple Records in a hole to match what will be taken (In 3.8). * 12/27/20: Added ability to do rough eucentricity with Search area. 12/23/20: Added script command to set a PLA offset between cameras on JEOL scopes using PLA for image shift, and a camera property to designate cameras as on or off axis on scopes using IS. * 12/16/20: Moved slow lens changes with normalizations into threads so that the user interface stays responsive during long changes. * 12/15/20: Added option to draw tilt axis to Image Display panel and added a tilt axis line on View/Search images when defining Trial/Focus areas. 12/14/20: Fixed problem with frames not being saved when aligning whole tilt series in IMOD is selected and the Save checkbox is not checked (In 3.8). 12/13/20: Made tilt series controller stop properly if absolute image shift limit is reached when autoaligning (In 3.8). 12/10/20: Changed to set pixel size in TIFF files as dots per cm. 12/3/20: Fixed selection of script to run in tilt series. 12/3/20: Fixed StartAsAdministrator. 12/2/20: Fixed behavior when LimitNextAutoAlign is used and there are no peaks within the limit (In 3.8). 11/29/20: Fixed window snapshotting, broken by HDF changes. 11/29/20: Added script command to make the next file chooser open in the current working directory instead of last one accessed by the chooser. 11/29/20: Fixed which Run button has focus in one-line script window so Enter will run the script just edited; made Ctrl-A and Ctrl-Z work there (In 3.8). 11/26/20: SEM_3-8-5 * 11/26/20: Fixed initial exposure time being used at highest tilt angle instead of zero tilt with cosine intensity changes, broken 8/4/20 (In 3.8). 11/26/20: Added entry to Task-Specialized Options menu for making the program close vales/turn off beam when idle for long enough. 11/26/20: Made current "Go to" button in Low Dose panel appear depressed. 11/26/20: Added script commands CloseNavigator and OpenNavigator; the latter lets you define the output file name. 11/26/20: Fixed taking current parameters for number of montage frames instead of ones the montage was taken with when making a map (In 3.8). 11/25/20: Fixed problem with using the current probe mode or alpha for assessing whether focus calibration exists in Low Dose; used Focus area values instead (In 3.8). 11/25/20: SEM_3-9-0beta1 REQUIRED FOR USING LATER BETA SERIALEM.EXE * 11/24/20: Added support for HDF files. 11/24/20: Added property JeolBeamRampupTimeout to allow beam to be turned on from within SerialEM on systems with rampup problem. 11/24/20: Fixed reordering of montage Z coordinates for dose-symmetric series, in case that should ever happen (In 3.8). 11/23/20: Added property NoScopeControlOnStartup to work around a problem in JEOL software when program starts with beam ramping up (In 3.8). 11/23/20: Stopped turning off beam when program crashes (In 3.8). 11/23/20: Fixed crash when autocentering beam with parameters from a higher spot size (In 3.8). 11/22/20: Fixed SnapshotToFile command with first value 0 (In 3.8). 11/22/20: Made it possible to pick Navigator points on an overlay made from two imported maps (In 3.8). 11/21/20: Fixed crash adding float image to tilt series mini-stack (In 3.8). 11/21/20: Fixed divide by 0 crash when using "Test Acquire" in beam autocenter (In 3.8). 11/16/20: Made Settings - Set a Property show the current value and print the new value to the log (In 3.8). 11/14/20: Added ability to define a set of lens changes for normalizing lenses on a JEOL. 11/14/20: Added Navigator option (in Options menu) to incorporate the label into names of files to be opened instead of adding sequential numbers when new names are generated automatically. 11/12/20: Added property to add some text after "SerialEM" in the title bar. 11/12/20: Added hot keys to toggle "Extra info" and crosshairs in the display. 11/12/20: Added options to script menu to select scripts to run at program startup and exit. 11/12/20: SEM_3-8-4 11/12/20: Fixed installer to copy SEMCCD-GMS3.01-64.dll for GMS 3.0 - 3.2 (In 3.8). 11/12/20: Set the default for LowestGainIndex to 2 for XF416 (In 3.8). 11/11/20: Added script commands to add, subtract, multiply and divide two images and to scale the values in an image; changed FilterImage to place the output in A or in a specified buffer. 11/11/20: Made it possible to use an autofocus calibration in LM. 11/10/20: Added script command to set tilt axis offset. * 11/10/20: Added capability to define dialog and menu items to hide or disable unconditionally and also to define a selectable "basic mode" with a list of items to hide or disable. 11/10/20: Made it possible to set Administrator mode to -1 to prevent people from saving calibrations. 11/6/20: Made install script kill DigitalMicrograph if necessary (In 3.8). 11/6/20: Prevented shutter dead time calibration for direct detectors (In 3.8). 11/3/20: Added property to skip the check of neutral IS values on a JEOL (In 3.8). * 11/2/20: Changed cosine power specification in the tilt series setup dialog to be expressed in terms of increase in exposure from 0 to 60 degrees. 11/2/20: Added properties to control tilt range and increment of the fine eucenticity task. 11/1/20: Fixed crash when autocentering beam and fixed focus problems with autocenter setup dialog (In 3.8). 10/28/20: Added property to get means of a subarea during the fine eucentricity routine. 10/28/20: Extended "UsableAtMag" property to apply at all mags with a 0 mag index (In 3.8). 10/28/20: In Hole Finder, required hole spacing to be at least 0.5 um more than the diameter (In 3.8). 10/28/20: More property name changes for new DE server version (In 3.8). 10/28/20: Fixed crash on starting program with a beam intensity calibration that is all zeros (In 3.8). 10/20/20: Fixed MakeNavPointsAtHoles command (In 3.8). 10/18/20: SEM_3-8-3 10/18/20: Fixed problems with builds of shrmemframe and FrameGPU which should fix GPU problems in multiple contexts; SEMCCD still fails to load FrameGPU in GMS 3.42, but shrmemframe will load a FrameGPU in the parent plugins directory and frame alignment can use the GPU under 3.42 through shared memory (In 3.8). * 10/16/20: Fixed lack of delay after image shift at end of first round of IS from Scratch, which caused drift in first image of second round (In 3.8). 10/15/20: Improved detection of lens relaxation completion on JEOL (In 3.8). 10/16/20: Fixed some broken functions in script processors. 10/16/20: Made Realign to Item work with non-centered subarea when staying in low dose for alignments shots. 10/16/20: Added property to use Trial size for tasks instead of full field. 10/8/20: Fixed taking frames totalling more than with 4 Gpixels with Tietz burst mode (may work only with GPU version) (In 3.8). 10/7/20: Converted script processor from using huge switch statement to using functions for commands. 10/5/20: Fixed continuous mode for Tietz cameras with 32-bit EM-Menu (In 3.8). 10/4/20: Fixed names of counting mode movies for newer DE servers (In 3.8). * 10/4/20: Enabled display of Low Dose areas on Search images. 10/3/20: Fixed rounding of exposure times when setting up variable frame sums for K3 and improved behavior of frame summing setup upon changes (In 3.8). * 10/2/20: Fixed NormCondenserInLowDose so it happens after changing to the new intensity (In 3.8). 10/2/20: Fixed drift report from autofocus when there are fewer than 3 rolling buffers (In 3.8). 9/28/20: SEM_3-8-2 9/28/20: Fixed crash from SerialEMproperties starting with blank line (In 3.8). 9/28/20: Made hole finder use smallest polygon on image instead of largest one (In 3.8). * 9/28/20: Made a value of 2 for NormCondenserInLowDose normalize minicondenser and objective lenses also (In 3.8). 9/28/20: Fixed crash on second dose-symmetric series, broken 9-14 (In 3.8). 9/24/20: Fixed beam centering from edges with float images and added a property to set the fraction that the region outside the beam has to be below the mean (In 3.8). 9/23/20: Added script commands DeferLogUpdates and SuspendNavRedraw and avoided returning to event loop when possible to speed up repetitive script actions. 9/20/20: Fixed bug that sometimes loaded a map without assigning its ID to a buffer; fixed display of labels around the current point and shift-double-click deletion of one multihole position with groups collapsed; improved display of multishot pattern with hole combiner open; added grid of points or found holes to the table viewer in one step at the end (In 3.8). 9/16/20: Added script commands SetItemSeriesAngles to set angle range and bidirectional start for Navigator items marked for series, and SetItemTargetDefocus to set target for items marked for any acquisition. 9/16/20: Added script commands SetFolderForFrames to set path or folder for saving frames, and FilterImage to apply a Fourier filter to a buffer. 9/16/20: Fixed output of TargetDefocus to mdoc file (In 3.8). 9/16/20: Marked Navigator data as changed and in need of saving for numerous script commands (In 3.8). 9/15/20: Made montaging work with float images (In 3.8). 9/12/20: SEM_3-8-1 9/12/20: Changed DE calls to accommodate changes in the server, fixing the behavior when servers >= 2.1.15 do rotation/flip (In 3.8). 9/11/20: Added property to shift intensity values from FEI scripting into allowed range of 0 to 1. 9/8/20: Fixed problems with running F416 with the proper size of 4100 x 4100 (In 3.8). 9/3/20: Fixed saving of tilt series alignment com file after dose-symmetric series (In 3.8). 9/3/20: Possibly fixed LowDoseChangeAtZeroIS (In 3.8). 9/3/20: Fixed hole finder crash when Make Nav Point is done with all points excluded (In 3.8). 9/1/20: SEM_3-8-0 stable 9/1/20: Fixed crash in hole finder with montages having skipped pieces. * 8/31/20: Added command line argument '/Settings=' to start with a different settings file. 8/31/20: When the default system settings is read, the output script package will now be named SerialEMsettings-scripts.txt. Also tried to read whatever output script package is defined when there is a failure to read the file listed in settings, so that an existing package will not be overwritten. * 8/29/20: Added button to transfer hole size and spacing found when finding holes to the text boxes for entering these value. 8/29/20: Added property SkipAstigAdjustmentForIS to omit astigmatism adjustment when adjusting beam tilt for image shift. 8/27/20: Fixed hole combiner when IS vectors are defined in LM or at mag with very different IS calibration. 8/24/20: In hole finder, fixed two bugs that could crash it and made it possible to exclude outside polygon that does not contain image center. 8/24/20: Added property to disable script shifting buttons. 8/24/20: Assigned map ID to image read directly from file instead of with Load Map so that points picked on the image will be given the proper DrawnID. 8/24/20: Fixed hole finder crash or possible use of wrong montage parameters when running on a map whose file is open. 8/22/20: Fixed low dose image shift in STEM for JEOL. 8/10/20: Handled display and multiple Record problems when a multishot item has all holes set to be skipped, and deleted point when last hole position is deleted. 8/10/20: Added NoFilterControl property to be able to define a camera as GIF and use EFTEM mode without being able to control filter. 8/10/20: Disabled high-defocus mag adjustments in LM mode. 8/8/20: SEM_3-8-0beta12 8/9/20: Fixed pixel size stored in montage overview and reduced images. 8/8/20: Improved messages and avoided double messages when an entry to a text field in a non-modal dialog is out of range. 8/7/20: With GMS 3, the SEMCCD plugin will return with an error if a live view is running in DM. * 8/7/20: Added ability to wait for PVP or dewar filling before taking Record in tilt series, controlled by property TSCheckScopeDisturbances. 8/7/20: Added property to set speed when doing bidirectional return in 1 step. 8/7/20: Removed limit on number of pieces for aligning a montage overview. * 8/7/20: Made Anchor Map save existing image as map when it cannot be saved to current file (e.g., a montage), if it can find just one other file that it can save into. 8/7/20: Added option to try scaling factors on both sides of 1 for first round of Realign to Item. 8/7/20: Added Navigator entries for arbitrary user values, and script commands to set and report them. * 8/7/20: Added button and hot key to set alignment shift of image in A to marker point, equivalent to right mouse drag. 8/4/20: A parameter change in a tilt series will now be imposed for an angle slightly below the nominal angle for the change. * 8/4/20: When drawing a montage map that was fit to a polygon, the polygon will also be shown in dashed lines for sections after the first one. * 8/4/20: Added ability to use Ctrl key to fit CTF with no astigmatism search. 8/4/20: Made beam shift arrows in scope control panel and hot keys do an approximate move along deflector axes when there is no beam shift calibration. 8/4/20: Added check that there is enough free disk space before a montage or tilt series. * 8/4/20: In camera setup dialog for K2/K3, now show only two processing choices when electron counting and label one as "unnormalized". 8/2/20: Added script command RotateMultiShotPattern to rotate the regular or custom pattern by a specified angle. 8/2/20: Added script command AlignAndTransformItems that does rotational alignment and transformation of Navigator points just as the Align with Rotation dialog does. 7/31/20: Added try-catch blocks to script structure for error handling. 7/31/20: Fixed frame file options dialog to show multishot position for DE cameras. 7/30/20: Added AlignWithRotation script command. 7/29/20: Added new plugin build for GMS 3.4. 7/29/20: Added Reset Log Position to File menu to rescue lost log. 7/29/20: Fixed shift double-click to remove point when groups collapsed. 7/29/20: Added optional argument to LoadNavMap/LoadOtherMap for buffer to read into. 7/22/20: Fixed test for whether directory for saving OneView/Rio frames is defined. 7/22/20: Made autoalign work with float images. 7/21/20: Added calibration for illuminated limits on Titans to allow program to adapt to changes in the limits. 7/10/20: Added options to CTF-base astigmatism and coma commands to suppress message box on error. 7/10/20: Added properties to control or skip backlash on the beam tilt and stigmator changes involved in doing coma/astigmatism operations and adjusting for image shift. 6/29/20: Fixed multi-hole combiner for case where there is a handedness changes between stage and image shift coordinate systems and made it try to avoid placing a hole not to be acquired at the center of a pattern. 6/25/20: Fixed crash in multishot when using custom holes. 6/24/20: SEM_3-8-0beta11 6/24/20: SEM_3-7-14 6/24/20: Changed @ in new multishot frame file numbering scheme to - for compatibility with Relion. 6/24/20: Added properties to allow waiting for lens relaxation to end on a JEOL after mag, spot, or alpha changes. 6/24/20: Fixed preexposure for Tietz cameras, broken when support for using TVIPS flatfields was added. * 6/23/20: Added calibration of astigmatism dependence on image shift to Coma vs. IS command and incorporated stigmator adjustments in all beam tilt adjustments for image shift. * 6/23/20: Made the multishot routine change defocus to compensate for specimen tilt. Made it adjust hole positions for change in tilt if they are defined at one tilt and acquisition is done at another. * 6/23/20: Added ability to take multiple Records in two rings of positions. 6/23/20: Added routine for refining beam shift calibration on non-FEI scopes by image-shifting over large distances and measuring beam movement. 6/23/20: Made it possible to start new montage in Low Dose mode with either Record or View undefined or in diffraction mode. 6/23/20: Fixed bad bug in multi-hole combiner and some small problems with hole finder. 6/23/20: Switched entry in camera length from pixel size to calibrated length. 6/18/20: Fixed SaveLog command when used twice. 6/9/20: Fixed display of scale bar for images read from file with .mdoc. 6/9/20: Added ability to add pixel sizes to camera length table for output in the file header and mdoc file. 6/9/20: Fixed some problems with taking images and frames with floating point return with Tietz cameras and added support for GPU version of XF416. * 5/31/20: For the hole number and position component of frame file names, changed the number to a pair of relative values so that it would be invariant when removing positions or having different pattern sizes. 5/25/20: SEM_3-8-0beta10 5/25/20: Fixed hole finder "Groups" radio button and added optional entries to script command to set SD and bakc pixel cutoffs. 5/25/20: Made SetProbeMode command accept lower case, not change mode with a bad entry, and not abort the script after changing mode (In 3.7). 5/24/20: Added ability to acquire simple or aligned sums of each tilt angle when taking a frame tilt series with K2 or K3. Added some script commands for experimental use of this. 5/24/20: Added script commands for getting scale matrices for converting between various coordinate systems (IS, stage, etc). 5/24/20: Added JeolHasBrightnessZoom property to specify that the version of TemExt.dll allows use of the BrightnessZoom function. 5/24/20: Fixed screen current scaling for JEOL and converted the scaling factor of 0.059 commonly found in properties to 1. * 5/12/20: Added ability to get images returned in floating point or with extra divisions by 2 for OneView/Rio and Tietz CMOS cameras. 5/11/20: Changes to ease use of diffraction mode in Search on JEOL. 5/11/20: Added property RestoreStageXYdelay to set delay after stage restore on tilting. 5/7/20: Fixed TSDosymBacklashDir property which had no effect, and limited one angle of dose-symmetric series by the max tilt angle minus backlash. Also defaulted max tilt angle to 69.9 for Titans (if UseIllumatedArea set). 5/6/20: SEM_3-8-0beta9 4/29/20: Fixed pixel size stored in TIFF files. 4/28/20: Added property TiltSpeedFactor to set a default tilt speed. 4/23/20: Fixed problems in hole finding: a large memory leak, a potential crash, reloading montages as integers, laying out points in groups. Also made it runnable from script commands with the dialog not open and prevented multiple conversions of found points to Nav points. * 4/23/20: Added routine, dialog, and script commands for combining a regular array of points into a subset set up for multi-shot acquisition. 4/20/20: Added script commands ReportItemImageCoords and CircularSubareaMean. 4/16/20: Prevented vacuum gauge calls in scope update for non-FEI scopes (In 3.7). 4/16/20: Added script commands ReportItemAcquire, SetItemAquire, and ChangeItemNote. 3/26/20: Fixed two problems with reloading montage overview in hole finder. * 3/19/20: Added a hole-finding routine and dialog. * 3/3/20: Added dialog and script command for taking image snapshots. 2/28/20: Disabled post-actions by default for K3. 2/28/20: Fixed Shift N operation in Navigator table. 2/28/20: Added entry to protect a beam shift calibration from being replaced by a new one in the same mag range. 2/26/20: Increased camera timeout for continuous mode images to allow long exposure times (In 3.7). 2/3/20: SEM_3-8-0beta8 2/3/20: Fixed image shift changes when changing mag with "Apply image shift offsets" or "Center shift on tilt axis" selected, broken 6/6/19. 2/3/20: Fixed wild defocus changes when doing reset image shift at non-zero tilt, broken 8/21/19. 2/3/20: SEM_3-7-13 2/3/20: Fixed ReportLensFLCStatus output (In 3.7). 2/3/20: Allowed quoted strings to be read from a file with ReadLineToArray. 1/29/20: Added camera property to apply the minimum binning available for direct detectors to other cameras. 1/23/20: Fixed New2DArray to not require a size. 1/23/20: Made it possible to acquire every successive frame in continuous mode without waiting for exposure time to elapse when using WaitForNextFrame. * 1/23/20: Added option to add multiple Record hole and position to frame file name. 1/10/20: Updated Navigator coordinates in montage piece when a point is moved (In 3.7). 1/8/20: Fixed RawElectronStats to give raw dose rate instead of linearized one from DM (In 3.7). 12/27/19: Added script commands to: make a script read-only below a certain point unless in administrator mode; look for files whose paths and names match a specified pattern; run scripts from files whose names match a pattern; allow strings to be enclosed in single quotes; do an image shift equivalent to a specified stage shift. Also added multiline commenting delimited by /* and */. Eliminated Scripts - Save All menu item. 12/27/19: If Navigator registration number is changed during an acquire, it now continues to acquire at the new registration. * 12/24/19: Made scripts be saved in a separate file from settings, so that different settings file can share the same scripts. When reading in a new settings file, existing scripts in positions that are empty in the settings file or its associated package of scripts will now be lost instead of retained. 12/24/19: When a Navigator item is moved to a different map, its DrawnOnID and Z value are assigned from the new map. 12/20/19: Fixed End Nav button bringing up Resume dialog when tilt series running (In 3.7). * 12/18/19: Made frame tilt series create a frame stack mdoc file with tilt angles, relative timing, and dose information included, and added ability to write a command file for aligning with Alignframes, including thresholds for excluding partial frames from alignment. (New SEMCCD plugin needed). 12/15/19: Added script commands ListVars and ListPersistentVars, extended functionality of FlashDisplay. 12/15/19: Added warning when image is acquired with column valves closed or beam off. 12/15/19: Added list of beam intensity calibrations and spot intensity calibrations to output of beam calibrations. 12/15/19: Changed "Read again" menu item in Settings menu to "Reload" including file name of current settings file. 12/13/19: Added ability to remove positions from regular array of holes for multiple Records. 12/13/19: Added predicted relative starting and ending frame numbers to tilt angle output file for frame tilt series. 12/12/19: Made sure current settings in multishot dialog are used before acquisition (In 3.7). 12/9/19: Increased timeouts and added properties to set them for JEOL FEG flashing (In 3.7). 12/7/19: Made NextProcessArgs set arguments for running a tool command, and added another command to specify placement of the arguments. 12/7/19: Fixed crash reading montage, reissued beta7. 12/5/19: 3-8-0beta7 12/5/19: Added script commands to report the number of montage pieces to be taken and the name of a file set to be opened for a Navigator item; to take an image with parameters matching those of an image in a buffer and crop it if needed to that size; to crop the center of an image to specified size. 12/5/19: Added support for X lens used with laser phase plate. 12/5/19: In SEMCCD, improved measurement of mean when a frame threshold is set and started putting -1 in the saved frame list file if first or last frame is below threshold. 12/1/19: SEM_3-7-11 12/1/19: Fixed use of wrong gain reference when aligning K3 frames taken with fast binning in the SEMCCD plugin (In 3.7). 11/27/19: Fixed crash when trimming improperly oriented K2 image (In 3.7). 11/27/19: Added script commands ReportCrossoverPercentC2, ReportScreenCurrent, and SaveCalibrations. * 11/17/19: Added task and dialog for conditioning a phase plate. 11/17/19: Added script command for doing a linear least squares fit between two or 3 array variables. 11/17/19: Added script commands for reporting and setting CDS mode for K3. Added property to switch out of CDS mode for Refine ZLP. 11/15/19: Fixed drift settling when not reblanking after exposure during high-quality stage montage (In 3.7). 11/13/19: Added ability to align and sum multiple continuous mode images with the WaitForNextFrame command. * 11/13/19: Added support for taking fast continuous mode images from Tietz CMOS cameras. 11/13/19: Added special option to prevent blanking with screen up in Low Dose mode. 11/13/19: Added property to use Trial set directly for image shift realign in montaging, and ability to do IS realign on subset of pieces (provisionally with property). 11/12/19: Changed default readout interval for Falcon 3 (In 3.7). 10/27/19: 3-8-0beta6 10/24/19: Prevented clipping of image shift on JEOL from screwing up beam shift. 10/24/19: Added script command to set dose rate. 10/24/19: Restored AddToExposureTime, lost 9/18/19. 10/21/19: Fixed setting of default AddToExposureTime for Falcon (In 3.7). 10/20/19: Added script command to limit autoalignment shift distance. 10/20/19: Added property to suppress beam shift on image shift for Hitachi in specified mag modes. 10/20/19: Allowed ISF to be used for IS in HR mode on Hitachi (In 3.7). * 10/17/19: Added beam shift boundaries for JEOL and help section on alpha/beam shift issues. 10/17/19: Added script commands for getting high voltage and putting up a message box with just an OK button. * 10/17/19: Added support for taking frames from Tietz CMOS cameras. 10/17/19: SEM_3-7-10 10/15/19: Fixed enabling of beam/stage spinners in scope control panel when there are no beam calibrations (In 3.7). 10/15/19: Changed FEI scope plugin/server to connect to latest version and hopefully versions after that (In 3.7). 9/30/19: Set spot size after mag change on JEOL when entering or leaving LM; set alpha before entering LM if no current area defined to avoid setting bad beam shift/tilt (In 3.7). 9/30/19: Disabled option to limit absolute focus in tilt series when the limits have not been defined yet (In 3.7). 9/26/19: Turned off Low Dose checkbox when in low dose, realigning to non-low dose map, and not restoring state after the realign to item (In 3.7). * 9/24/19: Added property to use condenser lens normalization instead of passing through View intensity/spot size when changing low dose area. 9/24/19: SEM_3-7-9 9/24/19: Fixed copying of low dose areas to handle shift and defocus offsets properly for View and Search, and to not copy additional beam shift/tilt to Record (In 3.7). 9/24/19: Fixed area measurement that make "Add grid like last" to fill largest instead of smallest polygon/map that point is in (in 3.7). 9/23/19: 3-8-0beta5 * 9/18/19: Enabled saving or aligning frames in the SEMCCD plugin for OneView and Rio cameras, just as for K2/K3, and add general framework from saving/aligning frames in SerialEM for other cameras. 9/18/19: Added DoLoop command with index variable and start, end, and increment values. * 9/18/19: Beam shift in scope control panel now does diffraction shift in diffraction mode. 9/18/19: Added script commands for getting a vacuum gauge value and controlling stage piezos on JEOLs. 9/10/19: Enabled screen current output on Hitachi (In 3.7). 9/5/19: Fixed setting of probe mode for first area entered after turning on low dose mode while in LM. * 9/5/19: Mag spinner in scope control panel now controls camera length in diffraction mode - may require NumberOfCameraLengths property. 8/27/19: Fixed adjustment of mouse stage shift for tilt on Hitachi (In 3.7). 8/27/19: Fixed "Add Stage Pos" in Navigator to exclude low dose area shift and offset (In 3.7). 8/26/19: Added script command to center on a point marked on a higher mag map that can be aligned to in two rounds with Realign to Item. Also added commands to set a map acquire state, restore state, and report Navigator index of map that an item was drawn on. 8/26/19: Changed angle of first shot in multi-shot routine to be on short axis of camera unless tilted. 8/23/19: Added property to enable restoring stage and Y position after each tilt in eucentricity routines. 8/23/19: Improved defect correction of more than 4 lines to reduce structure in corrected patch; added defect correction of K2/K3 images if there are any bad line or pixel entries in properties. 8/21/19: Changed montage pre-cooking with ability to skip every other column, set a dwell time when skipping pieces, and change the stage speed. 8/21/19: Set default for program memory limit. 8/21/19: Added script commands to move to the last hole center done by MultipleRecords with either stage or image shift. * 8/21/19: Added script command to set additional parameters for frame tilt series: backlash for dose-symmetric, a tilt speed setting, and stage position to restore after tilt. 8/21/19: Fixed loss of View defocus from image buffer. 8/15/19: Fixed crash reading piece from montage map after canceling opening a new montage, broken 7/15. 8/14/19: Added option to multi-shot dialog to do early return on all but first shot. 8/14/19: Added script commands to close log and save log to file. 8/14/19: SEM_3-7-8 8/14/19: Fixed enabling of buttons in Tilt Control on JEOL, broken 7/28 (In 3.7). 8/12/19: Prevented a deferred sum from being made on multiple Record shots with early return when aligning in plugin is selected (In 3.7). 8/12/19: Fixed crashes when doing unidirectional after dose-symmetric series, and doing dose-symmetric series with fewer angles than previous one. 8/12/19: Fixed using toolbar buttons to run or edit scripts above 20 and the menu entries for running those scripts. 8/1/19: SEM_3-7-7 8/1/19: Fixed orientation of K3 binned gain reference written by SEMCCD plugin; changed title to indicate fixed version (In 3.7). 7/28/19: Improved wait for stage done function on JEOL when either updating by event or not (In 3.7). 7/27/19: Allowed focus positions to be set and edited in dummy version. 7/27/19: Fixing saving a focus position for near full-frame image from non-square camera. 7/27/19: Shift T to turn on tilt series in a range can now ignore lower mag maps in favor of higher mag ones at same stage position. 7/27/19: Fixes to waiting for drift: handled Trial binning properly for K2, tested in script processor for task done. 7/27/19: Fixed enabling of menu items to edit scripts above 20. 7/27/19: Added option to skip backlash in dose-symmetric series. Fixed writing of alignment command file after reordering file. 7/27/19: When testing if stage is at right place in a montage, wait and read stage position again (In 3.7). 7/26/19: Made the message boxes in the New Map routine the kind that can close valves and be suppressed by scripts (In 3.7). 7/18/19: Added ability to see focus area for current Navigator acquire item on a View image and edit it with the mouse. 7/18/19: If there is a high-defocus mag calibration, the display of Focus/Trial areas on a View image will now be adjusted for it. * 7/18/19: Added Black - White and estimated image mean values to the image display. 7/15/19: Added button to Navigator to save Focus area position as part of the item for any item being acquired, so no state needs to be set. The axis rotation is also saved, as it is in a state now. 7/15/19: Started keeping track of overview binning for each montage that is open so it isn't reset when switching between files. 7/13/19: Changed drift waiting task in various ways and integrated it into tilt series operation. * 7/13/19: When the low dose axis is free to rotate from the tilt axis, clicking a View image when defining Focus or Trial position will rotate the axis and change the position of the area. Clicking in a View image now works for an image in any buffer and for a read-in image. 7/12/19: Increased number of montage pieces for which pieces can be aligned to 512 (In 3.7). 7/9/19: Stored calibration of coma versus image shift in IS units instead of microns so it will work on JEOLs (In 3.7). 7/9/19: Fixed getting an initial partial sum during tilt series in Low Dose mode; fixed frames not being aligned when property TSEarlyK2RecordReturn is set; eliminated error report from trying to save the frame stack mdoc twice after an early return. (In 3.7). 7/4/19: Kept the Navigator table selection the same after a merge (In 3.7). 7/8/19: Added support for variable-speed tilting on older Tecnais. * 7/8/19: Increased number of scripts to 40. 7/8/19: Made updating hardware dark reference available for K3 with GMS 3.31. * 7/2/19: Improved beam autocentering setup dialog to be no-modal, behave better in Low Dose, and provide a shift for centering the beam and a post-centering offset. * 7/2/19: Added task to wait for drift and script command to run it. 7/2/19: Fixed cross-contamination of spot intensity calibrations when there is no property for number of spot sizes (In 3.7). 7/1/19: Fixed Y direction of MoveBeamByMicrons command (In 3.7). 6/22/19: SEM_3-7-6 6/19/19: The stage X/Y position can be restored after tilting in a tilt series, controlled by a property and on by default for dose-symmetric series on FEI scopes. * 6/19/19: Dose-symmetric series added to tilt series controller with flexible tilting parameters and almost all of the usual features available. 6/19/19: Stopped bidirectional series from centering beam at a specified angle on both sides instead of just second side. 6/19/19: Tilt series controller will check for image shift within limits both at start of cycle and after the tracking shot if any. 6/18/19: Added script command to close the frame mdoc file. * 6/18/19: Bidirectional tilt series now appear in the little stack window in proper order. 6/18/19: Changed property StepForBidirReturn to be TSStepForBidirReturn to match help (In 3.7). 6/16/19: Fixed running scripts from Acquire at Items in dummy copy (In 3.7). 6/12/19: Changed some defaults (In 3.7) Stigmator value for astigmatism calibration to 0.04 KeepEFTEMState property to 1 (In 3.7). Slower search when CTF fitting on click 6/7/19: Fixed problem with calling script functions when autosave settings is turned on (In 3.7). * 6/6/19: Started taking account of changes in beam shift calibration when changing alpha and mag on JEOL to apply the right amount of beam shift for the image shift; also excluded the View/Search shift offsets from the image shift used to determine needed beam shift. * 6/5/19: Started keeping image and beam shift values as doubles on JEOL to reduce creep from rounding errors over repeated cycles (In 3.7). 6/4/19: Added property to set factors for the initial spot size movement when calibrating beam shift at different alphas on a JEOL (In 3.7). 6/4/19: Fixed crash measuring pixel size from a float image (In 3.7). 6/2/19: Added ability to report and set filament current on JEOL. 5/31/19: Fixed picking beam shift calibration at same mag and different alpha instead of transforming one at same alpha when using PLA (In 3.7). 5/28/19: Fixed handling of K3 references with CDS mode, stopped getting defect list for K3, and stopped writing a defect file if it has nothing to correct. 5/25/19: Capability to make a file marking that an image file is open for a tilt series (added 4/15/19) was fixed for bidirectional series (In 3.7). 5/24/19: Added ability to restore original stage X/Y position after tilting and added options to the tilt script commands for using it. * 5/24/19: Moved option-setting for Ctffind fitting to a dialog. 5/24/19: Added property to set interval over which dose calibration is considered valid. 5/24/19: Fixed Setup supermontage, broken 8/16/19 (In 3.7). 5/22/19: Made RecordAndTiltTo command set sign of backlash properly (In 3.7). 5/22/19: SEM_3-7-5 5/22/19: Prevented negative overlaps when fitting montage to small polygon; prevented single piece from being put on skip list (In 3.7). 5/20/19: Fixed scope control dialog setting illuminated area when it is above the upper limit, which happens in LM (In 3.7). 5/20/19: Fixed dose meter adding dose when screen is down in the Trial/Focus area (In 3.7). 5/19/19: Fixed Ctffind module when fitting with a fixed non-zero phase value (In 3.7). 5/12/19: Stopped converting the fixed phase from degrees to radians when doing a fit on clicking an FFT since it is already in radians; allowed fitting phase range of 120 degrees in Ctffind command (In 3.7). 5/7/19: Added property to allow real camera to be used with scope in STEM mode. 5/6/19: More DPI scaling in image drawing and stock dialog boxes. 5/6/19: Added option for a numeric date-time at the start of frame file name. 5/6/19: Fixed TiltDuringRecord not being allowed for a JEOL scope (In 3.7). * 4/24/19: Added checkbox for using diffraction mode in OneView/Rio. 4/24/19: Added a binning parameter to SetMontageParams and fixed some but not all issues when OpenNewMontage is used with no prior montaging. 4/23/19: Fixed dose per frame output in camera setup dialog when aligning but not saving (In 3.7). * 4/21/19: Implemented proper font and dialog scaling for high DPI and made the AssumeDPI property work to set any desired scaling. 4/17/19: SEM_3-7-4 4/17/19: Backed out DPI-awareness changes in 3.7.3, it wasn't right (In 3.7). 4/15/19: When reusing a grid of points, or filling a polygon with a grid, it will now test both the center point of the grid and its original corner for being inside the polygon (In 3.7). 4/15/19: Made it show multishot pattern at center of screen when defining focus/trial area offset (In 3.7). 4/15/19: Made it create a file with stack name and .openTS extension when starting a tilt series, and remove it when the file is closed. 4/15/19: Fixed setting marker point when Navigator edit mode is on but no selectable points are within the display (In 3.7). 4/15/19: Made Filter Control panel include only the actual adjustments being applied in the net adjustment that it shows (In 3.7). 4/15/19: Made blanking during dark reference take priority over other logic about whether blanking is needed, in case screen signals are bad (In 3.7). 4/9/19: Added commands to retain camera set changes on script end, and to control the button in Low Dose for recording added beam shift. 4/9/19: Fixed restoration of multiple camera sets on script end (In 3.7). 4/8/19: Fixed Tilt series controller becoming unusable when stopped while running a script (In 3.7). * 4/7/19: Added commands to store or run an array of strings as a script. 3/28/19: Added script commands to change and restore low dose parameters and to impose current scope settings on a low dose area. * 3/28/19: Moved option for antialias reduction on all shots for K2/K3 from dialog to Camera - Special Options submenu and set it on if it was off before this change. * 3/28/19: Added support for correlated double sampling in K3. 3/28/19: Allowed LongOperation to return time since last operation. 3/23/19: SEM_3-7-3 3/23/19: Added version function to SEMCCD that can return build (In 3.7). 3/22/19: Fixed acquisition from FEI STEM, which was passing exposure time instead of pixel time to the plugin. This was broken for running remotely through plugin/server in SerialEM 3.5.0 beta 12/23/14, and for running locally (on the scope PC) in 3.6.0 beta 10/18/15. After upgrading from a broken version, camera timing and flyback times need to be recalibrated, and the actual exposure produced by the camera parameter sets will be different. (In 3.7). 3/19/19: Added hole number and position in hole to mdoc files when using MultipleRecords (In 3.7). 3/19/19: Made program appear DPI-aware to Windows 10, fixed problems with length of closed-up control panels when floating them with a high DPI, and made the small fonts be scaled properly by DPI (In 3.7). 3/19/19: Fixed scripting when assigning to variables starting with "set" (In 3.7). 3/19/19: Fixed crashes opening or closing program with window too small (In 3.7). * 3/11/19: Added collection of script commands for reading and writing text files line by line. 3/11/19: Changed distortion pair routine to use the expected shift when correlating between the two images of a pair. * 3/11/19: Made zoom be remembered separately for View and Search images. 3/11/19: Enabled autofocus in Low Mag if there is a standard focus, instead of looking for a focus calibration that can be transformed, and made sure the button got updated when Scope control or Low Dose changes mag. (In 3.7). 3/6/19: SEM_3-7-2 3/6/19: Revised instructions on setting rotation angles in STEM (In 3.7). 3/5/19: Substituted variables in NewMap, CompareStrings, ReadTextFile, and WriteFrameTiltSeries commands (In 3.7). 3/5/19: Fixed stage calibration in STEM to use the right implied tilt axis angle, based on ImageRotation entry (In 3.7). 3/1/19: Fixed handling of diffraction mode in Low Dose with regard to nP/uP, diffraction focus, and defocus offsets (In 3.7). 2/25/19: Fixed handling of Search shift offset when toggling Apply image shift offset or defining a View/Search shift offset. Prevented the IS of the Search offset from being applied before going to the Search mag (In 3.7). 2/17/19: Fixed saving frame stack mdoc and getting last dose rate from K2/K3 through socket interface (In 3.7). * 2/13/19: Added 2D arrays and ability to do arithmetic in subscripts. 2/4/19: SEM_3-7-1 2/4/19: Fixed library problem with shrmemframe by switching to different Microsoft libraries, fixed manifest in nohang version, fixed stage moving to not try to call command that takes speed when it shouldn't (In 3.7). 2/3/19: Fixed treatment of GIF mode on JEOL when mag call does not indicate GIF (In 3.7). 1/30/19: SEM_3-7-0 1/30/19: Check properties, setting, calibrations for being UTF-8 and accept that, but give specific message for other non-ASCII encodings. 1/29/19: Made camera setup dialog check frame alignment parameters when align is turned on and change them if appropriate. 1/29/19: Fixed AutoGainFactors and scaling of Ceta images, broken 5/29/18. 1/25/19: Fixed variable substitution into the string argument of a function call. 1/25/19: Fixed crash from ReduceImage command. 1/25/19: Fixed preserving walk-up reference during walk-down of bidirectional series if it does image shift reset or STEM focusing. * 1/22/19: The one-line script window is now resizable and can contain up to 5 scripts. The window will reopen on program startup if script windows do. * 1/22/19: CPU-based frame alignment for K2/K3 is now done through a separate program to solve memory leaks in DM, allow faster FFTs with Intel libraries, and eliminate license issues with using FFTW. 1/11/19: Added exposure time parameters for Rio camera. 1/11/19: Added script commands to load or merge a Navigator file, report the filename, and report if it is open. 1/8/19: Fixed problem moving stage from scope control in continuous mode. * 1/8/19: Initial processing steps for frame alignment can now be done on the GPU, which can greatly speed it up for faster cards with enough memory. 1/8/19: Enabled shift buttons for stage movement in scope control dialog when there is no beam calibration. 1/8/19: Fixed providing extension .jpg for jpeg files. 1/7/19: Buffers can be specified by number or letter in script commands. * 1/7/19: Added properties for defining entries in a Tools menu for running external programs, and script commands for running programs similarly. 1/7/19: Added script command to open .mdoc for frames. * 1/7/19: Added property to specify a possibly multiline title entry to be included in frame files saved from K2/K3 and in frame stack mdoc files. 1/7/19: Fixed crash when exiting with one-line script open. 1/7/19: Fixed defect correct of isolated bad pixels. 1/7/19: Fixed binning shown in frame mdocs for K3. * 12/20/18: Added basic support for moving to next phase plate position on FEI scopes. 12/20/18: Changed phase output to log from Ctffind to degrees. Made "reported value" variables set after command match the output to the log; i.e., mean defocus and astigmatism in microns, and phase in degrees. Made phase entries to Ctffind command be in degrees instead of radians. Fixed bad scaling of fixed phase shift value for use in the command. 12/18/18: XF416 is now supported in normal shutter mode, and ability to get normalized images from Tietz interface. 12/18/18: Added a title line to frame stack mdoc. 12/18/18: Added possible support for controlling tilt speed on JEOL. 12/18/18: Fixed treatment of associated filenames in script editor. 12/18/18: Fixed aperture control to use different calls for some JEOL scopes. 12/18/18: Fixed turning beam on and off for non-FEG JEOLs. 12/9/18: Added workaround for K3 configured with 90 or 270 degree rotation and flip. 12/8/18: Fixed losing a setting of binning 0.5 for K3 between sessions. * 12/5/18: Made it possible to save unnormalized hardware binned frames from K3 and get a gain reference for normalizing them. * 12/2/18: Added option to save an mdoc file along with each frame stack. 12/2/18: Made changes so that the program can get dose rate from DM for K2 and K3 cameras with GMS 3.31. 12/2/18: Added properties to offset the camera area being acquired. 12/2/18: Added property for setting the size of tilt steps in a bidirectional return. 11/25/18: Possibly fix switching of low dose areas at zero image shift. 11/25/18: Prevented log from being opened twice on startup. 11/25/18: Made NoShutter keep beam blanked with screen down for a side-mounted camera. 11/19/18: Added script commands to access the B axis of the holder. 11/19/18: Fixed ability to set mag in STEM on FEI scopes when staying in LM, and to switch from STEM nanoprobe to microprobe when in LM. * 11/19/18: Started storing size and position for individual script editors and added an option (defaulted on) for editors to be restored when the program is started or settings are read. 11/13/18: Fixed SkipAdvancedScripting to work with STEM. 11/12/18: Made it not change slit width when slit is out. 11/8/18: Fixed handling of focus in Low Dose on probe mode changes and going in and out of LM. 11/8/18: Added delay in checking JEOL neutral values to prevent false alarms. 11/8/18: Fixed default to be that plugin cameras cannot return processed images. 11/8/18: Added property to switch low dose areas at zero image shift. 11/8/18: Fixed averaging of dark references, broken 8/3/18. 11/5/18: Added optional maximum beam shift to AutocenterBeam and CenterBeamFromImage commands. * 11/5/18: Enabled post-actions for Falcon and DE cameras when aligning frames in SerialEM so tilting can be done before aligning. 11/4/18: Added button to clear out filter adjustment from previous session. * 11/4/18: Added script command to move phase plate to next position on JEOL, and changed aperture and phase plate movement to be done with a thread. 11/4/18: Got size restrictions on frame alignment sets working correctly for K3. Allowed post-actions with K3 if StartupDelay is at least 0.5. 11/4/18: Fixed handling of probe mode and defocus/beam changes, broken 10.21. * 10/29/18: Added focus, stage, and screen control to scope control panel. 10/29/18: Images from a Dumb Falcon 3 (no advanced scripting) are scaled by exposure time. 10/29/18: Inverted direction of focus and Z height changes on Hitachi because tilting is around the Y, not the X, axis. * 10/21/18: Allowed continuous mode to be used for mag IS offset calibration and enabled everything but mag button in scope control panel during this cal. * 10/21/18: In continuous mode, enabled scope control panel and made it blank beam during operations like mag change that make transients. 10/21/18: Added alpha to low dose summary line and alpha spinner to scope control panel. 10/21/18: Adjusted for fact that there is no nanoprobe in low mag mode. 10/17/18: Fixed a bug that crashed program trying to display custom hole pattern when no regular hole patteren had been set up. 10/17/18: Added property to set a detector on JEOL to insert/retract complementary to main screen. 10/17/18: Added a parameter validation call for OneView. 10/14/18: Fixed bug when saving frames with K3 and using a binning that requires trimming the image returned to SerialEM. 10/14/18: When doing an early return with no return image, made it not roll buffers and make another copy of the last image in A. 10/10/18: Added ability to delay setting IS after an external mag change on JEOL. 10/10/18: Saved K2 and other direct detector processing modes (linear vs. counting) in non-low-dose states. 10/1/18: Fixed problem with skipping numbers in the filenames when fitting montage to polygon in New file at item. 10/1/18: Changed hot key for enabling CTF fitting from Shift-D to Ctrl-D, which fixes multiple deletion in the Navigator with Shift-D. * 10/1/18: Added a menu option to add a grid of points just like the last one, without having to answer any queries. * 10/1/18: A grid of points can now be specified by 7 points instead of 5 to overcome inaccuracy in the inter-hole interval specified by adjacent point. 10/1/18: Added an option to skip the montage dialog when fitting a montage to a polygon. * 10/1/18: Made it possible to set up tilt series or new file at items for a range of points by pressing Shift T or Shift N twice. * 10/1/18: Made the first off-center multi-shot image within a hole be taken along the tilt axis. 10/1/18: Added smallest defocus for analysis to CTF acquire parameter entries. 9/27/18: Added check for neutral image shift values being correct on JEOL. * 9/27/18: Added ability to tilt in steps, shutter the beam, and optionally change focus or image shift during an acquisition that saves frames. Added script commands: to set this up for regular tilts or for ones specified in an array variable that can be read from a text file; to save a file with actual tilt angles; to give the K2 camera a threshold below which it will skip saving frames. 9/27/18: Added dose per frame line to camera setup dialog. 9/27/18: Initial changes to support Tietz XF416. 9/24/18: SEM_3-6-22 9/24/18: Fixed image rastering problem with K2 in early return unaligned partial sum when aligning frames (In 3.6). 9/7/18: Made installer detect that GMS is 64-bit from files ending in _64.* or _x64.* in Licenses directory (In 3.6). 8/29/18: Fixed control panel positions for Windows 10. * 8/24/18: Made SerialEMCCD plugin open all TIFF files as big TIFF to be able to save > 4 GB. 8/24/18: Added ability to set limit on minimum resolution for CTF fitting when there is a non-zero phase. 8/24/18: Changed default spherical aberration from 2 to 2.5. 8/21/18: Fixed setting of hardware binning for DE camera. 8/21/18: Added script command to save navigator file. 8/21/18: Added script command to report the same subset of properties that can be set. 8/21/18: Made acquire box and multi-shot drawing happen as if low dose mode is on in dummy mode. 8/21/18: Added script command to move stage by camera pixels. 8/9/18: Made script processor not try to move stage with 0 movement (In 3.6). * 8/6/18: Added ability to use Ctrl to extend the delay time for getting a single mag or spot change when using the spinners in the scope control panel. * 8/6/18: Made Unblank button in Low Dose and STEM control panels able to blank beam also. 8/6/18: Fixed coma-free alignment test for enough astigmatism range. 8/6/18: Fixed missing titles from 7/29 fix (In 3.6). 8/3/18: FIXED BEAM TILT COMPENSATION FOR IMAGE SHIFT IN MULTI_-SHOT ROUTINE, broken when multiple holes were added. Fixed setting of beam tilt with post-actions, which never worked. 8/3/18: Made the multi-shot routine set beam tilt with the same backlash used in the coma correction routine. 8/3/18: Made calibration of beam tilt versus image shift go to Record area before saving scope state. 8/3/18: Fixed dark subtraction when normalizing in SerialEM and a camera can provide dark-subtracted or normalized data. 8/3/18: Added support for floating point images from plugin cameras. * 8/3/18: Eliminated Low Dose radio buttons for area to show when screen down. 8/3/18: Added log, log base 10, and exponential script functions. 8/3/18: Changed multi-shot dialog to keep display and dialog up to date when relevant conditions change. 7/29/18: Fixed crash from the axis rotation title being too long (In 3.6). * 7/19/18: Added ability to continue script commands onto multiple lines by ending them with a backslash after a space. 7/19/18: Initialized variable to prevent camera routine from trying to do a beam tilt in post-actions. 7/19/18: Prevented error message when it fails to close clumn valves during a crash. * 7/19/18: Added separate buttons for going to a low dose area to low dose panel and reverted the radio buttons to just controlling show when screen down. 7/19/18: Added current camera name to camera & script tools panel. 7/10/18: Added script commands to report on next Nav item to be acquired, change item labels and colors, make an anchor map, and strip digits from the end of a string. 7/10/18: Fixed crash after getting an error setting up K2 saving/aligning, fixed buffer overrun and crash with long defect file names. (In 3.6) 7/2/18: Fixed returned image not being reduced correctly when aligning K2 images with binning 3 or 6. * 7/2/18: Added a small delay per frame to startup delay in K2 with dose fractionation. Revised camera timing output and instructions to tell people just to use the minimum StartupDelay instead of changing the allowed minimum. 6/29/18: Improved sychronization between acquisition and post-actions to prevent image shift from starting before end of exposure on K2. Prevented post-actions from starting too soon on a shot after a K2 early return, which is critical for multiple Records. 6/29/18: Fixed multishot option to do early return only on last shot, and to not restore image shift/beam tilt on STOP during an acquisition, but have the camera module do it when the image is finished; also synchronized with current dialog settings if it is open. 6/29/18: Added script commands to enter a string in a text box, and to compare strings. 6/26/18: Made Navigator find map files when loading or merging a Nav file and allow more flexible locations of files as long as relative locations are maintained. 6/26/18: On JEOL, when changing low dose areas at same mag and different alphas, do image and beam shifts at same alpha in each direction. 6/26/18: Changed Setup Full Montage to avoid loss of corner pieces when stage is at oblique angle. 6/24/18: Additional K3 developments for using hardware binning in continuous mode and for saving frames; properties, dialogs, and setup documented. 6/24/18: SEM-3-6-21 6/24/18: Fixed wrong defocus offset being saved for View anchor map (In 3.6). 6/17/18: SEM_3-6-20 6/15/18: Fixed check for assigning to persistent variable as regular and vice versa. 6/14/18: Fixed anchor map staying in low dose to not duplicate map offsets (In 3.6). 6/14/18: Added property SkipAdvancedScripting to avoid trying to use the advanced scripting interface for FEI cameras, which is necessary if there is no license for it. 6/14/18: Fixed checking for balanced parentheses in commands where arithmetic is not allowed. 5/29/18: SEM_3-6-17 ** 5/29/18: Added support for K3 camera. Parallelized several frame-processing steps, with modest time-savings on K2 and good savings on K3. 5/29/18: Fixed JEOL scope plugin to connect with older TemExt64 versions by using the old class ID after failing with the new one. 5/29/18: Fixed loss of OneView drift correction setting, broken 11/3/17. * 5/29/18: Made beam intensity calibration use counting mode for K2 when dose rate is low enough and set exposure and count parameters automatically. 5/29/18: Fixed CTF-based astigmatism correction to account for rotation between calibrated and current mag. 5/29/18: Fixed crash when double-clicking on a Navigator point loads the montage piece and rotate on load is set. 5/29/18: Fixed lookup of astigmatism/coma calibration at nearest mag (In 3.6). * 5/25/18: Sped up saving from K2 by computing min/max/mean from samples instead of whole image (In 3.6). 5/23/18: Fixed test in tilt series for whether stage tilted to correct angle (In 3.6). 5/11/18: Fixed mag change when changing EFTEM state in Low Dose mode and the parameters are not defined for current area in the other state. 5/11/18: There are script commands for testing image location and beam tilt compensation when doing multiple Records, and setting up multiple holes is now documented. 5/11/18: Added free lens control script commands for JEOL. 5/11/18: The script processor now saves and restores beam tilt specifically for the current probe mode. 5/11/18: Made CTF-base coma/astigmatism go to Record area with its possible probe mode change before saving any values. 5/11/18: Stopped turning on "very sloppy" option for stage montages (In 3.6). 5/6/18: Fix crash when reading in settings with one-line script. 5/6/18: Try to leave low dose mode when crashing. 5/6/18: Added script commands to load a map. * 5/6/18: Made autofocus abort if too many iterations measure a defocus near zero, and if there are too many iterations where the change was not limited. * 5/6/18: Made Montage Prescan not increase the binning by more than 2 for some CMOS cameras with fast readouts (direct detectors, OneView, Ceta), and made it not drop the exposure time so much in low dose mode by allowing counts to increase up to 4-fold. ** 4/27/18: Multiple records can now be taken from multiple holes as well as from multiple positions in a hole. 4/27/18: Added script commands to load a map and added option to adjust note on a new map. 4/27/18: Modified polygon used to get full montage to avoid loss of corner pieces due to coordinates out of range. 4/27/18: Fixed failure to clear existing summed frame list when reading in new settings file (In 3.6). 4/26/18: SEM_3-6-16 4/18/18: Added property to set minimum spot size to use. 4/12/18: Fixed uninitialized pointer causing crash when aligning with K2. 4/10/18: Raised scope update interval to 150 ms and made vacuum update happen every ~1.7 sec (In 3.6). 4/10/18: Changes to support Z stage movement for Hitachi HT7800 (In 3.6). 3/29/18: Added name of STEM detector to image display if there is more than one detector. 3/28/18: If a low dose map is used for anchor state, new anchor map will be taken in low dose mode too, instead of just matching parameters (In 3.6). * 3/28/18: Added ability to run a script after each acquisition in acquire at items. 3/28/18: Added long operations for filling nitrogen or flashing FEG on JEOL CryoARM. 3/28/18: Prevented standard focus from being set for montaging in LM when in Low Dose mode. 3/28/18: When a view or search focus offset is being set while going across LM boundary, it retains the focus across the boundary so offset can be set correctly. 3/21/18: A few more tweaks in the CTF-based astigmatism/coma routine. * 3/21/18: Added calibration of beam tilt needed to compensate image shift, made multi-shot routine able to use this, added some related script commands and options on image shift commands to do compensation for the image shift. 3/21/18: Switched Ctffind output from showing defocus 1 and 2 to showing average defocus and astigmatism (difference between the two). * 3/21/18: Added ability to make a true JPEG file because ImageJ will not display JPEG-compressed TIFFs and made JPEG/JPG an allowed file type on the SaveToOtherFile command. 3/18/18: Prevented right click in edit mode from moving map or polygon (In 3.6). 3/17/18: Fixed color image inversion when zoomed down with antialiasing (In 3.6). 3/1/18: Fixed coordinates in piece put into nav file for 2-piece case. 3/1/18: Added script commands for reporting current file number and last measured astigmatism or beam tilt. * 2/18/18 Added script command that behaves like Echo but evaluates arithmetic expressions. 2/18/18: SEM_3-6-15 2/16/18: Adjusted Low Dose post-image shift delay factors from 0.6 to 0.9 for Record and from 2 to 1.5 for Focus. Fixed Focus using Trial factor of 0.6 if the two are tied together. * 2/16/18: Arithmetic expressions are now allowed on all script commands starting with "Set" and many others. 2/16/18: In camera setup dialog, fixed estimate of dose rate at camera for difference in mag between low dose areas. 2/16/18: Fixed various aspects of doing coma-free alignment in Low Dose, including focusing with Record and adding a big settling time when not starting in Record. ** 2/10/18: Added routines for astigmatism correction and coma-free alignment by CTF fitting to images with Thon rings. The latter is much better than the old coma-free alignment routine and requires no calibration. 2/10/18: Fixed Navigator "go to" movements when there are incorrect mag IS offsets not being applied and superceded by View shift offset. Also fixed both "go to" and Realign to Item initial movement with Balance Shifts on. (In 3.6). 2/10/18: Just ignore scripts beyond those allowed in the current version instead of making it a settings read error, so settings files from versiosn with more scripts can be read (In 3.6). 2/7/18: Fixed failure to read a settings file with a script line having more than 40 words (In 3.6). 1/24/18: Stopped calling DM to ensure existence of dark reference for a K2 camera when post-actions are going to occur (In 3.6). * 1/23/18: Added output on status bar of frequency and resolution for a point clicked in FFT with middle mouse button. ** 1/23/18: Added ctffind module, options to support fitting to Thon rings when click in FFT, and CtfFind script command to run it with specified parameters. 1/10/18: Made non-calibration parameters saved in the short-term calibration file be used even when the property to ignore short-terms cals is set. 1/10/18: Added property for limiting the frame sizes in montages fit to polygons at specific mags. 1/3/18: Fixed bug in limiting K2 coordinates entered with SetCameraArea (In 3.6). * 1/3/18: Added menu option and script command to reduce an image in size with an antialiasing filter. * 1/3/18: Added script command to start Navigator Acquire when the script ends, and a Postpone button to the Acquire dialog for setting parameters only. 1/1/18: Expanded SuffixForExtraFile command to provide suffixes for more than one extra file to open during Navigator acquisition. * 1/1/18: Added option to save multiple extra Records into separate stack files instead of all into one. * 1/1/18: Allowed up to 6 STEM channels to be obtained simultaneously during tilt series. Added STEM channel name to mdoc file. * 12/29/17: Made truncation when saving as bytes be expressed as percentage instead of number of pixels, be saved as a setting, and have a separate value for single-file saving so JPEG-compressed TIFFs can look OK without adjusting contrast. 12/29/17: Made low dose do image shift change before leaving search mode on JEOL using PLA. * 12/18/17: Add frame alignment parameters for binning to a target size to avoid a set binning becoming inappropriate for different size frames. 12/8/17: SEM_3-6-14 12/6/17: Changed script beam size measurement from radius to diameter. ** 12/3/17: Added frame alignment for DE camera frames. 12/3/17: Fixed coordinates in piece put into nav file. 11/30/17: Enabled obtaining normalized images from AMT cameras if AMT version is high enough (In 3.6). 11/30/17: Fixed crash from using drift correction with OneView with a non-square subarea (In 3.6). * 11/26/17: Added option to skip file properties dialog. Started saving file type and compression type for save single/other in settings so it would be easy to save a particular type of compressed tiff from that command without having to revisit the file properties dialog. * 11/24/17: Made the program store the fraction of the area in the frame occupied by the main image window so that the window can be kept reliably smaller than the frame; the allocation of width between the main and FFT window is also stored and can be easily adjusted. 11/20/17: Fixed potential problems with spot intensity calibrations that do not start at spot 1 (In 3.6). * 11/19/17: Added small dialog for entering and running a single-line script command. 11/9/17: Substituted variables in SaveLogOpenNew command (In 3.6). 11/8/17: Fixed loss of PriorRecordDose and FramesDosesCounts from mdoc for first part of bidirectional tilt series. 11/5/17 SEM_3-6-13 11/5/17: Fixed the lack of defect correction when drift correction is used in the OneView if there is no BasicCorrections property entry (In 3.6). ** 11/3/17: Preliminary version with changes for DE camera counting/super-resolution modes and ability to set save folder. * 11/3/17: Rearranged camera setup so that dark reference options could be hidden when inappropriate, also hide shuttering and lower size buttons for Falcon. 10/22/17: Prevented DE camera FPS value from being put in wrong camera's parameters (In 3.6). ** 10/21/17: Added a task to take multiple Record shots in a hole with image shift, a script command to run the task, an option to draw the pattern of shots when showing the Acquire area in Navigator, and a dialog to set the parameters for the task and for drawing. 10/21/17: Added script commands to measure beam size from beam edges in the image, and to shift the beam by an amount in microns or as a fraction of field size. 10/18/17: Add a property to turn off Convert Maps to Bytes by default. 10/14/17: Fixed fast continuous mode for Gatan cameras with a GIF in the system to not stop and restart (In 3.6). 10/13/17: Fixed crash with early return from 9/17 changes. 10/11/17: Fixed method of looking up mag index from a mag value, which fixes problems in removing IS and stage calibrations (In 3.6). 10/10/17: Fixed message boxes coming out from errors in post-exposure actions when errors are just supposed to terminate batch tilt series or script. 10/10/17: Made the Refill long operation give a special message that it probably completed with a misleading error. 10/9/17: Added script command to take Record and tilt to specific angle after exposure; made RecordAndTilt... command require that post-exposure actions be enabled, and added command to report whether they are. 10/3/17: Added script commands so that entire tilt series run by script could be aligned in IMOD just like ones run by the Tilt Series Controller. 10/3/17: Increased timeout for blanker/post-action thread to finish when tilting. If the thread times out and has to be killed, it is done in a way that releases the access to the JOEL scope. 10/3/17: Imposed constraints on exposure time and intermediate frame selections when aligning in Falcon 3 processor. 10/1/17: Fixed report on frame saving when aligning whole TS in IMOD and saving is imposed rather than selected (In 3.6). 9/17/17: Provided for different scaling of counting and linear mode images from Falcon 3 with the power of 2 for scaling selectable by property. Added preliminary linearization of counting mode dose rates. 9/17/17: Added image-specific counts per electron value to mdoc file. 9/17/17: Applied dose rate linearization for counting mode to output of ElectronStats script command and added a command RawElectronStats for unlinearized values. 9/16/17: Stopped function for getting dose rate from image mean from getting relative gain factor from the wrong buffer (In 3.6). ** 9/12/17: Added ability to align frames from Falcon cameras in SerialEM and write command files for aligning with IMOD, just as with K2. 9/12/17: Added script commands for suppressing the check on frame alignment parameter suitability before taking image, for testing program version and for skipping a command based on program version. 9/12/17: Fixed RealignToNavItem command to not leave IS at 0 by mistake. 9/1/17: Added optional entries to the RealignToNavItem command to reset image and realign until IS is below a threshold, and to leave IS at 0. 9/1/17: Added script menu option to clear persistent variables. * 8/31/17: Added option to save frame align com files to same folder as frames. 8/31/17: Added checks for beam intensity calibrations with 0 intensities. 8/29/17: SEM_3-6-12 8/29/17: Fixed camera setup dialog opening at its last size (In 3.6). 8/29/17: Turned warning that image shift has not been calibrated for a montage from message box to log window output (In 3.6). 8/28/17: Fixed SaveToOtherFile command to save specified, not active buffer. 8/28/17: When an image that was already saved is saved to single/other file, retain the previous save information so that it can be made into a map. * 8/28/17: Started using faster Intel FFT routines. 8/18/17: Fixed autofocus to apply change limits and absolute focus limits after first iteration instead of clearing them (In 3.6). 8/17/17: Made it change the "drawn on" map ID for points drawn on an imported map to be the ID for the native EM map that it was registered to. 8/17/17: Fixed problem with switching "Use montage mapping parameters" when fitting a montage. 8/16/17: Added ability to relax stage by moving it back slightly from the direction of its previous movement, in order to reduce drift. There is a script command to assess its value, a command to do a relaxation, and ResetImageShift can include the relaxation when it imposes or retains backlash. 8/16/17: Added ability to pause non-tilt series Navigator acquisition after the current item and resume; relabeled more buttons in Camera and Script control panel to make it easier to control Navigator acquisition. * 8/8/17: Added ability to set View or Search shift offsets by placing the marker at corresponding points in two images. ** 8/7/17: Search mode in Low Dose now has almost all the capabilities as View, with the ability to take montages in Search, set defocus and shift offsets for it, and have those offsets used properly in Realign to Item. ** 8/7/17: Added separate camera parameters for Search, and a new parameter set that can be selected to be used for montages. If fewer options are desired in the camera setup dialog, each of these can be hidden. 8/7/17: In Low Dose mode, it now allows the binning to be set differently in the montage setup dialog without changing exposure time. 8/7/17: View defocus offset can now be changed by an unlimited amount without causing Realign to Item to leave Low Dose mode. 8/7/17: Made Realign to Item work better when the View/Search offset is changed after making map and it leaves Low Dose mode. 8/7/17: Adjustments for high defocus are now applied to stage calibrations only in nonLM mode. 7/21/17: Added property for increasing stage timeout time (In 3.6). 7/20/17: Added test that spot size was successfully set for the calibration routines that step through spots (In 3.6). 7/19/17: Stopped it from turning off Low Dose when switching back to a montage file after changing the Record binning (In 3.6). * 7/14/17: Added ability to align subset of frames either in plugin or in IMOD when saving K2 frames. * 7/14/17: Added ability to restrict frame alignment parameters to 4K or 8K frames, or to aligning in plugin versus IMOD, with some automatic switching when appropriate. 7/14/17: SEM_3-6-11 7/14/17: Fixed setting of diffraction focus on JEOLs (In 3.6). 7/14/17: Fix specimen dose estimates to not add "extra beam time" for cameras where it does not apply (In 3.6). 7/14/17: Fix crash when making montage overview with shifts bigger than the area being put into the overview (In 3.6). 7/13/17: Clear out long summed frame lists and give a message saying to set them up again (In 3.6). 7/9/17: SEM_3-6-10 7/8/17: Add Navigator option for current Low Dose parameters to be used instead of the map parameters for Realign to Item. 7/7/17: Fix fitting of View mode montage to polygon and drawing of Trial/Focus areas on View image to take account of high defocus mag calibration (In 3.6). * 7/5/17: In Navigator Acquire at Items, added options for doing a subset of items, skipping stage move if possible, and skipping stage move in Z. There is also a script command to enable skipping the stage move. 7/4/17: Fixed tilt series variations dialog to constrain exposure time series to multiple of frame time for Falcon and DE cameras (In 3.6). * 7/4/17: Added to mdoc file the dose per frame when frames saved, and prior cumulative dose in Record area for tilt series images. 7/3/17: Added special option to normalize all lenses when changing mag within LM or on all mag changes; when changing between LM and nonLM, it now does objective normalization too and uses one normalize call on FEI scopes. 6/25/17: Fixed output of a pcm file for other Records when aligning whole tilt series in IMOD, and two other issues when frame-saving is automatically imposed with aligning in IMOD (In 3.6). 6/24/17: Added script command to set frame rate of DE camera. 6/24/17: Preliminary support for new FEI camera interface and Falcon 3 added. 6/15/17: Added property to set the maximum beam radius allowed when centering beam with low dose tracking images in tilt series (In 3.6). 6/14/17: Fixed setting of drift settling for Eagle through plugin/server (In 3.6). 6/9/17: SEM_3-6-9 6/2/17: Fixed use of K2 asynchronous readout to RAM when frame alignment is selected (In 3.6). 5/25/17: Fixed reporting of frames saved and writing to frame mdoc when frame saving is turned on for aligning in IMOD (In 3.6). 5/25/17: Made it restore the correct focus when autofocus is aborted after starting from Low Dose View mode (In 3.6). 5/23/17: Script commands writing to an autodoc can write to global section if there are no images yet. 5/23/17: Fixed SetUserSetting command for integer value, added update call after this command so changes propagate through system. * 5/17/17: Script processor now searches in current script first for a function with no script name in front of it, thus allowing duplicate function names in other scripts. 5/16/17: Fixed initial script checking to allow calling a function from both another script and the script it is in (In 3.6). 5/7/17: Added script commands for getting and setting condenser-image plane distance offset on Titan. 5/6/17: When "Align in IMOD" is selected for K2 frames, it will automatically turn on frame saving but retain the user's setting for this (In 3.6). 5/3/17: Fixed setting of X beam tilt with adjustment in coma-free routine, broken 2/26/17. 4/25/17: SEM_3-6-8 4/24/17: Realign to Item stays in Low Dose even if spot size or filter settings change; the map settings are still applied. Also it stays in Low Dose if View defocus offset changes by up to 20 microns. (In 3.6). 4/23/17: Fixed storage of last time done when hardware dark reference is updated (In 3.6). 4/23/17: Fixed AddToAutodoc command to release autodoc mutex (In 3.6). 4/20/17: SEM_3-6-7 4/20/17: Fixed option for saving raw K2 frames with "Gain normalized" selected in camera setup, which failed when there was settling (In 3.6). 4/20/17: Fixed test that would make Realign to Item go out of Low Dose when there is an energy filter (In 3.6). 4/17/17: Added script command to skip points in the current group. * 4/15/17: Added script command for writing a single-image file of specified type and compression. * 4/15/17: Added option for saving TIFF files with JPEG compression. 4/13/17: SEM-3-6-6 4/13/17: Fix TIFF writing, broken 4/5/17 (In 3.6). 4/13/17: Fixed writing of long summed frame lists (In 3.6). * 4/13/17: Added automatic indentation of scripts with Tab/` and stabilized line in editor window when Tab is used. * 4/13/17: Changed dose rate output in microscope status panel to be per square Angstrom and appear unconditionally, and changed dose rate output in camera setup dialog to be rate at camera, estimated from prior images. 4/11/17: SEM_3-6-5 4/10/17: Made cartridge loading and unloading be long operations; unload can be run as one of the LongOperation entries. 4/10/17: Added test code for controlling JEOL free lens control (undocumented). 4/10/17: Fixed UpdateHardwareDarkRef command to treat its hours value properly and to keep script from plowing ahead after starting it (In 3.6). * 4/9/17: Added ability to import navigator items with positions defined by image coordinates on maps. 4/8/17: Updated MiniXML library to eliminate bad memory leaks when reading or writing an XML file (In 3.6). 4/6/17: Fixed double-clicking to remove Navigator point with collapse groups on (In 3.6). 4/6/17: Added a camera property to enable or disable post-exposure actions for one camera; for OneView, post-actions are disabled by default (In 3.6). 4/5/17: Fixed Realign to Item going out of Low Dose when realigning to a polygon map where frame sizes are not the same as the current image sizes; also enabled staying in Low Dose with change in intensity, exposure, or binning between the map and current Low Dose parameters (In 3.6). 4/5/17: Prevented progressive change of IS when setting and restoring a state goes out of and into Low Dose with Balance Shifts on; also improved behavior of Realign to Item with Balance Shifts on (In 3.6). 4/5/17: Fixed doubling of values in montage overview from unsigned images, which solves wraparound of high values and bad scaling when loading maps as bytes; also fixed another source of bad scaling when loading maps (In 3.6). 3/17/17: Fix having it drop screen for STEM when leaving camera setup even when not going into STEM (In 3.6). 3/15/17: Properly initialized image shift values when switching to a low dose imaging state; zero out axis position values > 100 from settings (In 3.6). 3/13/17: Added script commands to change a Navigator item's registration and to shift items by a given number of microns. 3/2/17: Made it retry once when there is a timeout during fast continuous acquisition even if CameraRetries is 0 (In 3.6). 3/13/17: SEM_3-6-4 3/13/17: Added properties MaximumSlitWidth to set the maximum width for a GIF and GIFadjustsForSlitWidth to indicate that SerialEM does not need to adjust energy shift for changes in slit width; also increased default time interval for detecting ZLP alignment in DM from 5 to 6 seconds. (In 3.6). 3/9/17: Fixed wrong checkboxes showing up in file-saving option dialog for Falcon (In 3.6). * 3/8/17: Fixed transformations used in Navigator to account for tilted images; basic navigation, polygon montages, and Realign to Item seem to work. 3/8/17: Made the program monitor the beam blanker state for external changes if there are any FEI cameras, and added a property UpdateBeamBlanker to enable this otherwise (In 3.6). 3/8/17: Added property BlankDuringTransients to make the program blank the beam during magnification and spot size changes and lens normalizations to keep the K2 from retracting due to beam transients (in 3.6). 3/8/17: Added a property KeepEFTEMstate to avoid switching in or out of EFTEM when the program starts and exits (In 3.6). 3/8/17: Changed color of dose rate and camera name labels to be visible on noise (In 3.6). 3/8/17: Made it draw navigator label unconditionally if point is more than 40 microns from previous one so labels still show up on low mag maps (In 3.6). * 3/6/17: Implemented use of live mode for continous acquisition from DE cameras and enabled acquisition of normalized images from server. 3/5/17: Fixed taking tilt angle and stage position from buffer if available when making a montage map (In 3.6). 3/3/17: Gave proper error message if BackgroundTilt is used without the property set to open a fourth socket (In 3.6). 3/3/17: Fixed changes in current directory from saving calibrations and short-term calibrations (In 3.6). 3/2/17:SEM_3-6-3 3/2/17: Made it retry opening Falcon frame files since they may still be locked for writing on the first attempt (In 3.6). * 3/2/17: Added output of aligned piece coordinates in montage overview to mdoc file. 3/1/17: Make sure beam stays blanked except when acquiring for Realign to Item when it goes out of Low Dose (In 3.6). 2/26/17: Added script command to wait until a specified time after midnight or an alternative time. * 2/26/17: Added script commands to report and set the value of many user settings by the name used in the settings file. 2/26/17: Made coma-free alignment routine average the estimated misalignment over multiple iterations, and added a menu option to run one more iteration. * 2/26/17: Added Focus menu option to make an array of FFTs of images with beam tilt in 8 different directions (a Zemlin tableau). 2/26/17: Fixed SetCameraArea script command to take F, H, etc sizes (In 3.6). 2/21/17: Changed message from SEMCCD plugin about two copies to refer to looking for a hung copy of DM; released mutex earlier (In 3.6). 2/20/17: Fixed copying of remote K2 references when there is just a DigitalMicrographReferencePath and no RemoteDMRefererencePath entry (In 3.6). * 2/20/17: Increased size of FFT stack to 8 (In 3.6). * 2/20/17: Showed camera name and dose rate on as many image types as would be meaningful (In 3.6). 2/19/17: Added report of difference from previous calibration when doing coma-free calibration (In 3.6). * 2/18/17: Switched to using standard API for Direct Electron camera instead of COM interface. To use a DE camera, a small plugin, DEcamPlugin.dll, and the interface library, DeInterface.Win32.dll, must be put in the directory with SerialEM, but these are not required to run the program. 2/18/17: Made it show a dose rate for K2 counting modes even when there is no counts per electron defined (In 3.6). 2/17/17: When a click in an FFT indicates a low defocus where equations break down, it will no longer draw circles at invalid positions or report an invalid defocus (In 3.6). * 2/16/17: When changing mag or spot with scope control panel, it will show the target mag or spot immediately with -> in front of it, until the change is finished. Increased multiple click interval to 0.35 sec. Changed mag output to show K at 100K and above (In 3.6). * 2/10/17: Implemented local variables and local loop indexes that are defined and accessible only within one function or script. 2/10/17: It is now allowed for script loop counts to be 0 or negative. 2/9/17: Fixed error message when assigning to a loop index variable (In 3.6). 2/8/17: SEM_3-6-2 2/8/17: Fixed rejection of fixed pattern noise peak when measuring defocus to account for autofocus offset and View defocus properly and to work right on the second pair of images (In 3.6). 2/8/17: Fixed autofocus with Low Dose View when there is a View defocus offset, modified script command when just measuring defocus to give either the defocus at the View area, as it always did, or the implied defocus of Record (In 3.6). 2/5/17: Fixed LongOperation Da #, broken 12/18/16 (In 3.6). 1/31/17: Added property to allow taking images in spectroscopy mode. 1/31/17: Added SetMagIndex and SetNavRegistration script commands. 1/31/17: Added property to allow use of inverted mag range on Titan for tasks and stepping through mags with script commands and mag spinners. 1/27/17: SEM_3-6-1 1/26/17: Fixed message when starting coma calibration on JEOL to show maximum coma beam tilt instead of astigmatism beam tilt (In 3.6). 1/26/17: Fixed install.bat to copy Microsoft .dll's in Windows 2000 (in 3.5). 1/16/17: Added property to use drift settling from Trial parameters in beam intensity calibration (In 3.6). 1/12/17: Fixed possible vulnerability in the restoring of camera rotation/flip on exit (In 3.6). 1/11/17: Fixed shifting coordinates of current item when Add Polygon is turned on then off without adding points (In 3.6). 1/10/17: Fixed buffer overrun when logging DE properties at startup (In 3.6). 1/10/17: SEM_3-6-0 1/10/17: Fixed defect correction in SEMCCD plugin when aligning and saving unnormalized frames. 1/9/17: Fixed bad added rotations being set when calibrating pixel size. 1/9/17: Added information lines to Navigator Acquire at Points dialog to indicate file images will be saved into and whether it is a montage. 1/5/17: Fixed crash when starting astigmatism or coma calibration on JEOL; added checks for stigmator values out of range. 1/4/17: Fixed plugin to avoid wrong number of frames K2 for some exposure times with frame times below 0.1 sec. 1/3/17: Fixed trying to get dark field tilt if server version does not support it. * 1/3/17: Added option to save K2 frames without normalization while keeping gain normalization turned on in the camera setup dialog. 1/3/17: Fixed enabling of Set additional beam shift button in Low Dose, which is now disabled in Record. * 1/2/17: Disabled drift settling for OneView with 2 shutters when Beam blank shutter is selected, since it doesn't seem to work. 12/31/16: SEM_3-5-9 * 12/29/16: Added option to tilt series setup to get an initial partial sum (early return) when saving or aligning frames and then get the full sum later. 12/29/16: Added option in frame saving detup dialog to save MRC stacks with extension .mrcs. 12/29/16: Stopped trying to do screen movement and tilting simultaneously in cooking routine. * 12/26/16: Changed script commands SetMag/SetMagAndIntensity to go to the nearest mag if the entered one is not in the middle third of range between two mags. * 12/26/16: Added message box replacement that can have custom button labels, switched to it for complicated Yes-No-Cancel and a few Yes-No choices, and formatted message text to refer to the button labels. 12/26/16: Added property to set the delay after moving stage for acquiring distortion pairs. 12/26/16: Added script command and Setting menu item to set value of a large subset of properties that consist of a single value. 12/26/16: Added a default set of parameters for aligning Super-resolution frames, listed name of parameter set in Camera Setup dialog, and set the default for frame alignment to be in the plugin instead of DM. 12/26/16: Added Camera menu item to control the number of lines of log output from frame alignment. 12/23/16: Made Navigator stage movement skip backlash movement if the move is in the right direction and either preserves or is big enough to set the backlash. * 12/23/16: Made it possible to take images in Search mode with a button or script command, using the View camera parameters for now. 12/22/16: Fixed initialization of axis offset when reading in states; it was putting bad axis position into low dose dialog when using the state (In 3.5). 12/21/16: Fixed Add Grid of Points if an image other than the map image is being displayed (in 3.5). 12/20/16: Added reminder to save calibrations on exit if not in administrator mode and enough calibrations have been done of certain types. 12/20/16: Allowed camera/montage/tilt series dialogs to show 6 cameras. * 12/20/16: Added ability to store dark field tilt as Trial/Focus low dose properties on FEI scopes. 12/19/16: Program can directly detect and control GIF mode on JEOL. 12/19/16: Stored states now include camera processing and K2 frame alignment selections. 12/19/16: Started keeping track of aperture size for dose calibrations. * 12/18/16: Stored information in montage mdoc file so that a map can be made just as well from a read-in image as from a newly acquired one. 12/18/16: Added option to montage setup dialog to control whether OneView drift correction is turned off for stage montages. * 12/18/16: Added option to montage setup dialog to enable continuous mode and control settling time; eliminated script command. * 12/18/16: Made behavior when saving K2 electron counting frames be the same for unprocessed and dark-subtracted, since there is no dark subtraction. 12/18/16: Detected when there is new K2 gain reference and updated the defect list. * 12/18/16: Added ability to show a message box on an FEI scope through the plugin and server, with a title and text controlled by script commands. 12/18/16: Added ability to set height of script toolbar buttons then fixed DPI-related font and sizing problems with that and several other dialogs. 12/18/16: When opening autocenter setup in Low Dose mode, it will insist that Trial area be set up already, show Trial mag and spot values and disable the two spinners, try to get existing parameters for that mag and spot (In 3.5). 12/17/16: Fixed keeping track of time since last long operation (In 3.5). * 12/13/16: Added an offset entry to autofocus calibration range parameters and suggestions for limiting and offsetting the range for Falcon cameras. * 12/13/16: Added tilt series options to apply the absolute focus limit and/or limit focus changes from autofocus to a given amount. * 12/13/16: Added Focus menu options to define absolute limits for focus around the eucentric focus; the limits are applied when autofocusing. 12/13/16: Set added rotation when storing results of Find Pixel Size based on rotations in mag table for an FEI scope. 12/12/16: Fixed setting of positive limit in macro command FocusChangeLimits; only negative limit was being set (In 3.5). * 12/12/16: Made title bar show all the open files by file number after the current file. 12/12/16: List Mags in EFTEM mode will now output the full mag table (In 3.5). 12/12/16: Made mag energy shift calibration stop at proper mag if give the highest magnification and it is followed by declining mags on a Krios (In 3.5). 12/12/16: Added script command to be used in the preliminary macro when acquiring at points to make it skip the point and go on; added way to test if autofocus failed in script. * 12/12/16: Added checkbox to Navigator to turn off all label drawing and made it draw only a few labels for points in groups above a threshold size. * 12/12/16: Added ability to select a range of Navigator points to delete by using Shift D twice. * 12/12/16: Changed script selectors in Acquire at Points to combo boxes. 12/12/16: Removed fixed zoom/zoom step option from image level dialog and moved cross checkbox into main part of window. * 12/12/16: Added progress count and estimated time to completion to Navigator window during acquire. 12/12/16: Fixed removing of IS and stage cals so they do not get saved with a 0 X component (In 3.5). 12/11/16: Fixed macro commands for limiting focus change and absolute focus during autofocus to test even when not doing another iteration (In 3.5). 12/9/16: Stopped incorrect message about turning on "Use View in Low Dose" when fitting montage to a polygon (In 3.5). * 12/7/16: Allowed dummy instance to load map from file open in main instance. 12/7/16: Added optional delay factors to script commands that change image shift to get settling before a camera shot. 12/7/16: Added script command to get a filename through a file chooser. * 12/7/16: With a DMRotationAndFlip entry, the program will now change the camera configuration automatically and restore it on exit, unless a "SetRestoreDMRotFlip" property is set to do otherwise. The size check now occurs after this. SizeCheckSwapped no longer needed for Gatan cameras. * 12/7/16: Detected and corrected dark edges in drift-corrected images from OneView camera. 12/7/16: Added script commands to report and set autofocus offset. ** 12/7/16: Linearized the dose rates from K2 electron counting images so that they should match the linearized dose rate readout in DM. 12/7/16: Made beam intensity calibration routine try to compensate for lens hysteresis. 12/6/16: Disabled force dark reference buttons for OneView (In 3.5). 12/2/16: Prevented problem with losing montage overview because of multiple accesses to the mdoc file during background saving - needed in 3.5 only. 11/29/16: Made sure that when a new C2 aperture size is specified anywhere, it gets saved in short-term calibrations (In 3.5). ** 11/27/16: Added an optional microscope control panel with mag, spot, beam, and beam valve or filament control. 11/27/16: Added option to skip pieces instead of waiting at each piece when precooking a montage; also made it move in zigzag. * 11/27/16: Handled font changes properly for 144 DPI instead of imposing the same ones as for 96 DPI, so 144 DPI should work OK. 11/22/16: Fixed crash if montage precooking is done when pieces are being skipped (In 3.5). 11/22/16: Initialized the stage movement option in montage setup to ON if a 2x2 montage would exceed the image shift limit. * 11/21/16: Enabled montage to be take with continuous mode images, added macro command for testing or use. 11/21/16: Made camera timing routine do only startup delay for OneView (In 3.5). * 11/16/16: Made it possible to use GIF on JEOL in LM; it no longer assumes that it is not in EFTEM mode when in LM; and the EFTEM mode checkbox is and enabled so the user can inform the program when the mode changes. * 11/16/16: Converted Navigator files to autodoc format with an option to save as XML instead. 11/16/16: Made it possible to use maps taken tilted, with a property to control the allowed tilt angle difference before stage will be tilted to map angle. 10/18/16: SEM_3-5-8 10/16/16: Fixed a crash when saving K2 frames without rotation and defect list has adjacent bad pixels (In 3.5). 10/14/16: Made all message boxes be modal so program cannot be used when they are up (In 3.5). 10/13/16: Added property to make beam intensity calibration favor doing mag changes as is done with K2 camera (In 3.5). 10/10/16: Increased maximum log size from 2.6MB to 25MB (In 3.5). 10/7/16: Fixed Navigator looking for map file in same directory as Nav file if map is not at its original path - in 3.5 this failed if file chooser was used in another directory, in 3.6 it was fully broken by 9/11/16 change. 10/4/16: Added a delay before a mag change after acquiring an image from JEOL STEM. * 10/2/16 Added a command to divert script error messages from a message box to the log, so that Navigator can go on to the next point automatically. 10/1/16: Added macro commands to report a time in seconds with msec precision, to read from a text file into an array variable, and to run an external process in the command shell. 9/30/16: Fixed saving of summed frames from K2 when there is more than one frame in first sum (In 3.5). 9/26/16: Fixed several scripting bugs from starting to preserve case. 9/26/16: Made it suppress error and wait until stage ready when very slow continuous tilting generates a COM error after 3 minutes. 9/26/16: Enable OneView drift correction in continuous mode since it seems to work; fixed setting drift correction if BasicCorrections not defined (In 3.5). 9/25/16: Allowed currently selected Navigator point to be deleted with a double click in Edit mode. 9/20/16: Enabled multiple script commands to be run between each frame when using continuous mode in a script. * 9/16/16: Frame sums for Falcon or K2 are now adjusted when exposure time and number of frames change during a tilt series. * 9/16/16: Fixed pixel size/area in Camera Setup to be correct for the area in Low Dose mode. 9/16/16: Added tilt series policy option to end or stop series at high tilt if intensity or exposure is being set for mean counts and gets too high. * 9/16/16: Started reading the FalconConfig.xml to determine if frame-saving is enabled, and changing it when that should work, thus eliminating the stupid checkbox in Camera Setup. * 9/16/16: Added Tilt Series menu option to keep number of saved frames constant as exposure changes for K2 camera 9/16/16: Added a script command SetExposureForMean, with an option to keep the number of K2 saved frames constant. * 9/11/16: Added a script command to start a tilt in the background and keep running the script; for FEI scopes this requires new plugin/server with 4 socket connections and a temporary property setting, 'BackgroundSocketToFEI 1', to activate the 4th socket. 9/11/16: Made it restore the current working directory after a file chooser is used. * 9/11/16: Preserved case for all the text after the command in script commands, so that filenames can be assigned to variables; also added a new syntax (@=) for assigning text that may include spaces to variables. 9/8/16: Fixed handling of brightness/contrast so it can be adjusted separately in the side-by-side FFT window (In 3.5). * 9/6/16: Added Process menu items to set a fixed defocus for the rings drawn in a live FFT, and to set a phase shift imposed by a phase plate, which will be taken into account when relating FFT radii to defocus. 9/2/16: SEM_3-5-7 9/2/16: Made program offer to fix DM camera configuration when it is wrong (In 3.5). 8/29/16: Fixed deadlock in mdoc file access when montaging created by 7/4/16 change. 8/26/16: Fixed problem when a montage is opened with a camera other than the active one and program adjusts exposure time for a new binning (In 3.5). 8/24/16: Allowed starting spot size to be selected for spot intensity calibration. * 8/24/16: Made FFT's be taken automatically of single-frame images when side-by-side windows is open; added menu option to control this. 8/24/16: Enabled drift settling with OneView when there is only one shutter (In 3.5). 8/3/16: Fixed crash when exiting with side-by-side FFT window open (In 3.5). 8/3/16: Added ability to set stage speed to TiltDuringRecord command. This requires the latest FEI plugin/server. 8/2/16: Saved standard titles in single TIFF files and in first TIFF of an .idoc numbered series. * 7/28/16: Moved Tietz camera support to plugin. 7/27/16: Made it reinitialize scope connection when changing to an FEI camera and there is more than one camera in TIA (In 3.5). 7/25/16: Fixed treatment of extrapolation past the end of an intensity calibration (broken 3/7) and kept SetIntensity from going in the opposite direction when trying to go from extrapolated to uncalibrated range (In 3.5). 7/18/16: SEM_3-5-6 7/11/16: Fixed uninitialized variable for DE that prevented first image from being taken. Added mag and focus value to output when use "autofocus" in LM (In 3.5). 7/6/16: Fixed various places to handle images bigger than 2 GB or 2 gigapixel, including making a montage overview (In 3.5). 7/4/16: Prevent accesses to autodoc files from multiple threads. 7/4/16: Go to low dose area before recording starting beam tilt for autofocus when probe mode is changing (In 3.5). 6/29/16: Added property to set post-blanking delay in some situations. 6/29/16: In camera timing routine, added unblanking time to fitted value for startup delay for STEM to avoid negative delays and used the right estimate of startup delay when testing if reasonable. 6/29/16: Fixed problems accessing a map file while saving to file in background when both are .idoc files (In 3.5). 6/19/16: Prevent numbered tiff output for bidirectional series, give more output about blanking time and indicate to set property for STEM, fix FrameAli2 macro commands for socket case. 5/26/16: Fixed astigmatism routine deciding that iteration did not improve the result enough when one axis was already small or the result is good enough for termination. * 5/26/16: Implemented a special scaling of FFTs controlled by two more parameters set with the Set Truncation button. 5/23/16: Eliminated added scaling of FFT's when they are zoomed below 1 (In 3.5). 5/18/16: Added macro commands for getting the index of the Navigator item with a given label or note. 5/18/16: Made sure first eighth-size image of gain reference procedure was a legal size for camera (In 3.5). 5/13/16: Added macro command for getting state of gun valve. * 5/13/16: Moved JEOL support to new scope plugin. 5/13/16: Added property DarkRefMaxMeanOrSD to retake a dark reference if it seems to have an image in it. 5/13/16: Fixed management of dark reference buttons in camera setup (In 3.5). 5/6/16: Fixed black images from non-K2 Gatan cameras with no countsPerElectron set. 4/26/16: SEM_3-5-5 4/24/16: Added optional name for new log file to command SaveLogOpenNew. 4/24/16: Added script command to get an absolute time in minutes. * 4/22/16: Added array variables to scripting. 4/22/16: Added more script capabilities for setting frame alignment parameters to support timing tests. 4/22/16: Fixed loss of some changed text fields in Frame Alignment dialog when spin buttons or parameter set selection are changed. 4/5/16: Added camera property TaskTargetSize to set the size that images will be binned to for task operations with the given camera. * 4/4/16: Macros are now referred to as scripts. 4/1/16: Fixed GPU memory leak in K2 frame alignment. 3/27/16: Removed support for FasTEM. 3/25/16: Made "Skip autofocus" in tilt series always available (In 3.5). 3/23/16: Built 64-bit version to work with 64-bit JEOL interface; requires that TemExternal64 be installed (In 3.5). 3/15/16: Fixed two problem that could crash DM with K2 camera. * 3/15/16: In macros, Report... and some other commands can now assign reported values directly to named variables, and function arguments can be assigned directly to named variables. Added 20 macro commands to support automated K2 testing. 3/15/16: Fixed uninitialized variable that could prevent DE camera startup (In 3.5). 3/7/16: SEM_3-5-4 * 3/7/16: Fixed taking K2 frames with binning when antialiasing is allowed in plugin and there is an early return with no partial sum (In 3.5). 3/7/16: Made intensity calibration color indicator go orange when past end of calibration and extrapolation is not allowed (In 3.5). 3/3/16: Prevented use of third shutter option with OneView camera (In 3.5). 3/3/16: In SerialEMCCD plugin, prevented wraparound when scaling float values to integers and fixed rewriting of defect file when it is removed (in 3.5). 3/3/16: Fixed balancing halves for Orius in fast Continuous mode when normalizing in DM (In 3.5). 3/3/16: Fixed return with Walk-Up losing its changed setting when bidirectional anchor mag changed (In 3.5). 3/2/16: Made program keep track of a fake mag index and screen position and display a mag in the scope status panel when running with NoScope set so that images can have correct pixel sizes. If counts per electron are defined, it will also show dose at the camera in e/sq A in image display. 3/2/16: Added macro commands to turn low dose continuous update on and off, and to send an email when a macro stops with an error. 3/2/16: Made camera timing work more reliably for cameras with NoShutter set (In 3.5). * 3/2/16: In SerialEMCCD plugin, fixed orientation of gain reference when gain normalizing dark-subtracted summed images before returning them to SerialEM (In 3.5). 2/26/16: Fixed crashes when DE COM module is not registered and when there are no cameras initialized (In 3.5). 2/25/16: Made it select single TIFF file instead of series when saving single image and series is the default or previous selection. 2/24/16: Added macro command to tilt during a Record shot. 2/21/16: Added ability to suppress warnings about FEI server being out of date if changes are needed only for FEI cameras and there are none, or warning about DM plugin being out of data if changes are useful only for K2 cameras. 2/21/16: Plugin to DM can save gain-normalized counting or super-resolution frames with 100 times the usual scaling to prevent loss from truncation to integers, which turned out to be tiny anyway. ** 2/21/16: Plugin to DM can now align frames with the same module used by alignframes in IMOD, or write a command file for runnig alignframes in IMOD. 1/26/16: SEM_3-5-3 * 1/26/16: Fixed dynamic focus on JEOL, broken when SmoothFocusNextShot was added (In 3.5). 12/24/15: Added ReportScreen macro command. 12/22/15: Allowed more than 20-fold intensity change for extra Records (In 3.5). 12/21/15: Removed Align on save and Copy on save options from Buffer Control panel; these were a trap for the unwary and can be done with macros (In 3.5). 12/9/15: Fixed how the name of the K2 reference to copy is generated from the DMGainReferenceName entry when there is [kv] in the string (In 3.5). 12/9/15: Added query after adding grid of points in groups about whether to keep the set of groups or try again. * 12/9/15: Added find button to macro editor. 12/6/15: SEM_3-5-2 12/6/15: Made it save the fifth copy to buffer selection in settings. 12/6/15: Saved pixel size as resolution value in TIFF files. 12/5/15: Increased number of buffers to 20, with maximum rolling buffers still at 14, to provide some protected buffers. * 11/30/15: Made Navigator Acquire at Points close only the files that it has opened, and close an opened file when it finishes. Made it possible to have one file for extra output opened and closed for each tilt series, using a macro command. ** 11/29/15: Added calibration of magnification change and rotation caused by being at a large underfocus, so that the stage calibration can be modified for View images with a large defocus offset. Made montaging and Navigator operations use the modified stage calibration. 11/29/15: Fixed mouse shifting of montage overview (In 3.5). * 11/27/15: Fixed handling of View shifts in Realign to Item (In 3.5). 11/23/15: Made View defocus offset spinner change by 2 above 20, 5 above 50, and 10 above 100 (In 3.5). 11/23/15: Fixed corruption of Navigator table by Go To Marker caused by preventing actions during stage moves (11/12/15 change) (In 3.5). * 11/18/15: Changed from sampling to binning in montage overview to give better image with noisy data. * 11/18/15: Added second set of montage overlap correlation filter parameters, a property to set them, and menu entries to select it unconditionally or only in Low Dose mode, to divide filter parameters by 2, and to set parameter values temporarily. 11/18/15: Added macro command to shift Navigator items assuming the current one is centered. 11/17/15: Increased maximum number of mags to 120 for Titan Halo (In 3.5). 11/16/15: Fixed reading from montages with no .mdoc files (In 3.5). 11/16/15: Made RefineZLP macro command take an entry so that Refine ZLP can be run only after an interval since the last time (In 3.5). 11/14/15: Added property to set filter parameters for montage correlations (In 3.5). 11/12/15: Stopped updating the energy filter after the first continuous mode shot (In 3.5). 11/12/15: Prevented starting a montage, autofocusing, and some other actions whenever the stage is moving (In 3.5). * 11/12/15: Fixed direction of backlash movement in stage calibration (In 3.5). * 11/11/15: Added ability to run a macro at a defined point in a tilt series. ** 10/28/15: Added routines for astigmatism correction and coma-free alignment. 10/26/15: SEM_3-5-1 10/26/15: Fixed Realign to Item hanging in stage access on JEOL, broken by nanoprobe changes 7/14/15 (In 3.5). * 10/23/15: Changed Falcon frame stacking to handle case where not all frames are there when the acquisition returns (i.e., support mode 40). * 10/23/15: Added support for 16-bit raw frame files from Falcon (In 3.5). 10/21/15: Prevented user from opening montage setup in low dose mode if Record or View is not set up (In 3.5). 10/21/15: Prevented montages from being taken with subarea frame sizes and K2 dose fractionation on (In 3.5). 10/14/15: Fixed crash when realigning to map made from image read from file (In 3.5). 10/13/15: SEM_3-5-0 10/12/15: Added macro command to set beam tilt; made ReportImageShift give unbinned image pixels. 10/8/15: Shifted all stored window positions so that windows will come up fully on the current desktop. 10/7/15: Beta11 packaged 10/7/15: Fixed using wrong image to rotate by 90 degrees at end of bidirectional series. 10/7/15: Fixed macro commands like SetExposure with a 0 for the set. 10/6/15: Made the defocus estimate show up when using Live FFT. 10/5/15: Beta10 packaged * 10/5/15: Revised instructions for calibrating image shift and pixel size. ** 10/4/15: Made it give a defocus estimate and draw circles at CTF zeros when the marker point is set in an FFT. 9/29/15: Prevented crash if background writing fails while montaging. 9/29/15: Fixed a problem with continuous mode setting when loading states. 9/29/15: Added macro menu item to list functions. 9/29/15: Fixed problems with antialising in plugin after EarlyReturn 0. 9/29/15: Fixed plugin reading gain reference after saving in mode 101. * 9/22/15: Made points picked near seams of a montage map be displayed at the locations clicked. * 9/17/15: Made autosaving of Navigator files be on by default, with a one-time message on startup when the option is turned off in an old settings file. * 9/17/15: Added K2 frame saving options for saving unnormalized counting frames as 4-bit and for using a new MRC mode 101 for 4-bit files. 9/17/15: Fixed freeing of K2 gain references when there are two DMs. * 9/11/15: Added support for OneView camera, with fast continuous mode enabled and gain normalization only in DM. * 9/11/15: Fixed shutter not being kept open in continuous mode. 9/11/15: Fixed brief unblanking/reblanking before shot with NoShutter = 2. 9/11/15: Fixed focus screen chronically being considered in on JEOL scopes. 9/11/15: Fixed SetEucentricFocus macro to directly access correct value; broken by probe mode addition. 9/11/15: Made SetAxisPosition macro keep the base position and net image shift the same even when in Trial/Focus area. 9/11/15: Added macro command to report tilt axis offset from last refine eucentricity. 9/11/15: Added tilt series menu item to save an X/Y/Z file automatically. 9/3/15: Made it copy alpha and beam shift and tilt offsets when copying one low dose area to another. 8/30/15: Added separate lens normalization delay property for low mag, needed on some Krios's. Made stage/image shift calibration skip lens normalization on second round and if macro command ShiftCalSkipLensNorm is given. 8/30/15: No longer offer to modify other image shifts after a calibration if the change is large and either the old or new image shift calibration is very asymmetric. 8/30/15: Prevent saving frames when doing a prescan montage. 8/30/15: It will now load files matching *Plugin*.dll from executable directory so plugins can use VC90 libraries there; added command line argument to specify alternative plugin path. 8/30/15: The blanker thread can now do post-actions as soon as an image is received if the startup delay is longer than needed, so there is little penalty for having an overly-long startup delay. * 8/30/15: Whether frames are to be saved and K2 frame time are now saved as part of an imaging state. 8/26/15: Fixed copying of K2 gain reference from SEMCCD plugin, broken in beta8 version (8/7/15). 8/26/15: Added property CheckPosOnScreenError as workaround to errors moving the screen on Titan. 8/14/15: Added macro commands to change axis position of Trial/Focus area and to write to frame autodoc file. 8/12/15: Added version number to FEI scope plugin/server and startup messages when this plugin or server, or SerialEMCCD plugin, need upgrading. * 8/12/15: Made "Area to show when screen down" buttons go to area when screen is up also. 8/9/15: Fixed problem with saving extra Records from simultaneously acquired channels. * 8/7/15: When dark-subtracted frames are being saved from K2, the plugin will now return a gain normalized image. * 8/4/15: Made scroll wheel zoom image window. 8/4/15: Fixed treatment of view shift offset in Realign to Item when staying in Low Dose mode, made offsets work better when realigning to View then Preview or Record maps, and relaxed requirements for staying in Low Dose, so that current beam and image shifts and other settings can be used instead of those used to take the map. * 8/4/15: Added Tilt Series menu item to save a text file with X, Y, Z positions during a tilt series. 7/29/15: Fixed initialization of center coordinate when adding a grid of points inside a polygon at a specified spacing. 7/29/15: Fixed copying of probe mode setting when copying Low Dose area. 7/26/15: Added TietzCameraType 13 as new F816 type. 7/23/15: Fixed problem with using DigiScan after K2 with antialiasing in plugin. 7/22/15: Added property to set waiting time per line when using Line sync with DigiScan (In 3.4). 7/19/15: Added .map to file filter for opening old image files. 7/19/15: The K2 counting/super-res reference names no longer need to be set as properties as long as the DMGainReferenceName is set; this works with 2 K2's. 7/19/15: Added macro command to save log and open a new log window. * 7/14/15: Added support for nanoprobe mode in TEM on FEI scopes. Many calibrations are kept track of separately, and probe mode is stored as part of low dose, map, and imaging states. 7/14/15: Added ability to specify cameras to drop from active list in command line in shortcut, and to combine /DUMMY or this with a subfolder. 7/6/15: Fixed erroneous doubling of binning for tasks/lower mag camera parameters (broken 6/24). * 7/4/15: Added menu items to remove a single IS or stage calibration. Added question about forgetting a stage calibration when the matrix is not symmetric enough. Added a warning not to use whole image correlations at low mag if there are grid bars in the field. 7/4/15: Changed default cycle length for stage calibrations to 40 microns for non-FEI scopes. * 7/4/15: Added an implicit forgetting of prior state when making an anchor map or doing Realign from Item with restoration of state, so that each returns to the existing set state instead of the prior state. 7/4/15: Fixed use of -1 with LongOperation commands. 6/29/15: Changed distortion pair acquisition routine to adjust stage move to average of last three positions predicted from errors. * 6/25/15: Added output of CCC values from image and stage shift calibrations, added a query about forgetting a bad calibration, and made the offer to change all other image shift matrices happen only once for a mag range. 6/25/15: Allowed the Focus Ramper to be used with the DigiScan on an FEI scope. * 6/24/14: Made plugin to DM able to do antialias reduction of images to be passed back; added option to use antialias reduction for all binning, not just super-resolution and dose-fractionation sums. * 6/24/15: Added ability to save sums of frames of variable length from K2; rewrote Falcon Frame Selector dialog to work in both cases and handle specifications for many frames easily; tried to retain distribution of frames in sums as exposure time or frame time is changes. 6/18/15: Fixed STOP button to work in continuous mode. 6/18/15: Enabled Unblank button in low dose panel even when not in low dose. * 6/18/15: Realign to Item now stays in Low Dose if all map parameters match the current mode parameters. * 6/18/15: The axis position of the low dose focus area and the offset from center of the focus camera parameters are now stored in the imaging state that can be applied when opening a new file or starting a tilt series during Navigator acquire. Thus the focus area can be set for individual tilt series. 6/16/15: Added option to Tilt Series Extra Output dialog to retain the file with bidirectional anchor and add the image used to realign. 6/16/15: SEM_3-4-9 * 6/14/15: Made default extension for new files be .mrc, so it is not necessary to type in this extension; .mrc will not be added to filenames that end in .st or .map. 6/14/15: In FEI scope plugins, fixed return type of function for reporting if scope is disconnected from server. * 6/12/15: Added dose rate at camera to top of main image window for a direct detector and and camera name if there are multiple cameras. Added dose rate at specimen to scope status panel. * 6/12/15: Added side-by-side display of main window and FFT window (hot key Shift S to toggle); FFT window is a stack of 4 rolling buffers. 6/12/15: Added ability to set number of digits in numbered frame filenames. 6/12/15: Prevented checks of various conditions before saving an image from putting up message during a macro. 6/12/15: Macros: added commands ElectronStats to give image statistics and dose rate in electrons, ErrorsToLog to make most error messages go to log and FlashDisplay to flash the display yellow; set a reported value from UserSetDirectory result. 6/7/15: Added WriteAutodoc command to fix writing of added values. 5/28/15: Fixed assignment of section numbers to montages broken on 5/25; fixed the output of # of frames being saved with early return. 5/25/15: Enhancements to pixel size routine: added automatic setting of target binned size based on expect number of blocks in waffle grating image, with binned size going as low as 256; added analysis along line perpendicular to line from origin to peak to eliminate diagonals and false peaks; fixed over-trimming of binned images, especially for montages taken with overview binning of 1; made found pixel sizes and rotations be saved in short term calibrations with a lifetime of 24 hours; adjusted binning so block sizes match between image and autocorrelation. 5/25/15: Made target binned size for image/stage shift calibrations be 1024 instead of 512 for direct detectors. 5/25/15: Fixed some display and other problems caused by using current scope/camera settings instead of properties in a read-in image. 5/25/15: In Realign to Item, set spot size before instead of after intensity because intensity values at end of range may be legal at one spot size but not another on FEI scope. 5/25/15: Stopped giving message on startup about ScalingForK2Counts being 0. 5/24/15: Rewrote long operations to work properly with current plugin, do sequence of scope operations and finish other operations if one error occurs, and to ignore an error from refill refrigerant (provisionally). 5/24/15: Add menu entries to select use of trial binning or size while running stage or image shift calibrations. 5/24/15: Added macro commands to set up a montage for finding pixel size, to change mag if pixel size already found, and to reset defocus. Fixed KeyBreak. 5/15/15: Added macro commands to enter a number with given default value and to test if a variable is defined. 5/13/15: Added NormalizeAllLenses macro command to call three different FEI functions for normalizing "All" (requires plugin/server update). 5/12/15: Added macro command to add a key-value pair to last section of current autodoc. 5/12/15: Fixed overwriting in .mdoc file when last section is overwritten, which also screwed up extended header in bidirectional series (In 3.4). 5/11/15: Added message box on startup if K2 count scaling is near 1. 5/11/15: Added threshold for testing whether to abort autofocus after inconsistent iterations, set with a second dialog box opened by Set Threshold in the Focus menu. Both thresholds are now settings. 5/11/15: Made camera controller tell AMT to turn on blanking when screen raising is finished instead of waiting for scope update to do it. 5/7/15: Fixed file writing problem cause by adding MRC version number on 5/2/15. 5/7/15: Changed autofocus repeat above threshold so it happens for a threshold set to >= 0.1 instead of only if it is > 1. 5/6/15: Fixed image shift calibration broken 3/25/15. 5/5/15: Fixed "change from previous" output of Find Pixel Size for K2. 4/29/15: Added macro command ReportAlignTrimming to get the borders applied in the last autoalign. * 4/29/15: Added macro command PreCookMontage to travel to each position of a stage montage with the screen down. 4/28/15: Fixed SetPercentC2 and IncPercentC2 to work properly with illuminated area values on Titan. 4/28/15: Made it restore mag index for read-in images instead of using current mag; added mag index to .mdoc file so it can be done unambiguously. 4/28/15: Added property to make List Mags work right when there are disabled LM mags on a JEOL, and prevented attempted image shift compensations during List Mags. 4/28/15: Fixed crash when autofocus is done on tilted specimen with internal binning for direct detectors. Added menu item to see the image that is stretched to compensate for specimen tilt. Fixed the equations for the stretch compensation. Made all routines on existing focus images use parameters of read-in images instead of current scope conditions. * 4/18/15: Made it normalize condenser when going in and out of LM mode. On FEI scope, changed function to normalize condenser so that it normalizes all condenser lenses, not just spot size. THIS REQUIRES PLUGIN/SERVER UPDATE. 4/15/15: Made it not put scope in STEM mode on JEOL if there is only a GIF camera and the scope is not in EFTEM mode. 4/2/15: Improved division of added points into groups by making group boundaries aligned with the axes of the polygon. 3/25/15: Added a weighting factor for the second round of Realign to Item that decreases with distance from zero shift, with a sigma of 3 microns; this is to avoid aligning to the wrong hole. * 3/25/15: Macros can now contain defined functions. 3/21/15: Macro changes: Added a SkipTo command to jump forward to a labeled line; added parentheses in arithmetic, function, and IF expression evaluation, made command listing and completion work when typing command indented with spaces. Added functions NEARINT, ROUND, POWER, ABS. 3/20/15: Fixed minimum autofocus binning for K2 to use the value specified, not half of it. * 3/18/15: Made current or selected Navigator point items show up in a highlight color and allowed Draw to be used to toggle group draw on and off when groups are collapsed. 3/18/15: Improved division of added points into groups by making first point really be in the middle of the actual points in the group. * 3/17/15: Turned on default file option to save .mdoc file if there is direct detector. * 3/13/15: Added ability to set suffix for files saved by the DE server with the frame saving properties dialog. 3/13/15: For DE cameras, switched the HDF5 option to MRC if the server version supports it, switched to saving the sum of raw frames instead of all frames when the option is selected to do so when taking the gain reference. 3/12/15: Turn off frame-saving for re-imaging a map area and make sure that this state and continuous mode are restored in whatever parameter set is used for that. 3/11/15: Added properties to use a socket server only when running a 64-bit version. 3/11/15: Modified install.bat to copy FEI scope plugin whenever FEI software is detected and ask about doing so when no scope software is detected. The program installed this way from a 3.5 beta package will run through the plugin even on the FEI computer, but does not require the server in that case. * 3/10/15: Added section to the frame saving properties dialog to control folder and files names for saved frames from K2 or Falcon, with automatic new folder creation possible for each tilt series. This requires a DM plugin upgrade via a beta installation package. * 3/12/15: Added ability to have points put into multiple groups with "Add Grid of Points", with the first one in the middle for focusing on. 3/4/15: Added delay between starting screen movement and tilt in specimen cooker and property to adjust it. 2/26/15: Prevented K2 frame saving setup from being called twice when there is settling. 2/24/15: Added special option to make sure View area is passed through before autofocusing. 2/22/15: Allowed Realign to Item to run with continuous mode images with a macro argument; added macro commands for reporting continuous mode and controlling settling time after shifts in continuous mode. 2/16/15: Prevented continuous mode from being used for images taken in tasks and tilt series; added special setting in the Tasks menu to allow continuous acquisitions to be started in tilt series. 2/16/15: Add macro commands for setting continuous mode and using continuously acquired frames in a controlled way. Also made all camera "Set" commands take parameter set letters as well as numbers and allowed multiple parameter sets to be modified and restored. * 2/9/15: Pixel sizes can be measured at very low mag from grid bar spacing, using a menu entry to set the grid mesh size. * 2/9/15: Hitachi HT7700 microscope is now supported through a plugin. * 2/9/15: Added a calibration of the beam shift needed to align spots, primarily for Hitachi, but it may be useful elsewhere. 2/9/15: Fixed computation of fallback pixel size with K2 and listing of IS vectors using the fallback. * 2/8/15: Stage montages are now done in a zigzag pattern, up one column and down the next, if the overlap in Y is at least 20 microns. * 2/8/15: Many operations, including tasks and tilt series, can now be done on non-FEI scopes with Brightness Zoom or its equivalent turned on. 2/8/15: SEM_3-4-8 2/8/15: Fixed decision on whether image shift is too small to reset by using actual calibrated conversion to microns if possible (In 3.4). 2/8/15: Transferred image metadata to processed images (In 3.4). 1/31/15: Fixed some things that would not work correctly when running FEI through plugin, including using diffraction in LAD mode (In 3.4). 1/25/15: Fixed uninitialized rotation angles. 1/25/15: Added macro command ProgramTimeStamps to get a message like program startup message but with current time. 1/19/15: On JEOLs updating by event, eliminated stage check before every image acquisition that was taking 0.25 second. 1/19/15: Fixed keeping pixel time constant when changing STEM binning. * 1/19/15: Added Focus menu options for testing filter parameters, for setting a binning for processing autofocus images from direct detectors, and for listing calibrations. Added introductory and troubleshooting page on autofocus. * 1/17/15: Implemented asynchronous stacking of Falcon frames, so other operations and non-frame images can proceed, and a frame can be read in and transferred from server while previous frame is being written. 1/8/15: Made skip beam shift work for reset image shift in tilt series. * 1/4/15: Added option to save raw frames while acquiring the gain reference for a DE camera. 1/4/15: Made it possible to convert a Gatan camera error into a timeout for retrying using same MakeFEIerrorBeTimeout property as for FEI cameras. * 12/24/14: Made new versions of plugin and server for accessing FEI microscopes with 3 socket connections; they support image acquisition from Eagle, Falcon, and STEM detectors and allow Falcon intermediate frames to be saved from a remote computer. The plugin alone will also provide the sole route for accessing the scope when SerialEM is running on the scope computer. 12/9/14: Added item to Tasks - Special Settings menu to disable automatic trimming of dark borders in selected cases. * 12/9/14: Kept the beam blanker open during fast continuous acquisition from a camera with NoShutter = 1 property, and fixed blanking on program startup with NoShutter set. 12/9/14: SEM_3-4-7 12/6/14: Made it give a message and not modify system path in settings file if it has to fall back to system properties file. 12/6/14: Made sure binning is legal before taking image. 12/6/14: Reduced a delay in turnaround with continuous acquisition. 12/6/14: Error strings are now fetched from the remote FEI server and included in messages from SerialEM. * 12/6/14: Give just one good message when remote FEI server is closed before SerialEM and allow graceful exit; reconnecting also works. 12/6/14: Fixed DM plugin for saving MRC files > 2 GB and for returning a DM gain reference after ending continuous acquire (In 3.4 package). 11/27/14: Added macro command UserSetDirectory to let user pick a new current directory, also a command ReportBeamTilt. * 11/27/14: Added an optional section to scope status panel for intensity and stage position. 11/27/14: Changed maximum GIF energy loss to 3000 (In 3.4). * 11/25/14: Made it possible to define two non-LM mag ranges for JEOL, controlled by property LowestSecondaryModeMag. 11/23/14: Fixed bug in how a new mag image shift offset calibration is merged into previous calibrations at the bottom end (In 3.4). 11/22/14: Modify 10/10/13 fix of Low Dose with projector shifts so that the image/beam shift is always done at the mag of a trial/focus area when leaving or going to one; otherwise it is done at the higher mag (In 3.4). 11/21/14: Added Navigator menu item Force Center Align to keep Realign from Item from skipping the first round alignment to map center. 11/16/14: Added macro command ReportEnergyFilter to get filter settings; and commands SetAbsoluteFocus and ReportAbsoluteFocus as clearer synonyms for SetFocus and ReportStandardFocus. 11/12/14: Added PluginPath property to set directory for plugins. 11/12/14: Added macro commands FocusChangeLimit and AbsoluteFocusLimit to set limits for autofocusing done in the macro. * 11/8/14: Made it possible to load a frame of the montage map that a point was drawn on by double-clicking the point or pressing the Load button. ** 11/8/14: Added an Edit Mode to Navigator in which one can select, add and move points with the 3 mouse buttons as in 3dmod. * 11/8/14: Made it possible to reuse the spacing and orientation set by running Add Grid of Points with 5 points, and add a new grid with just one point. Also made grids be added at regularly spaced image rather than stage coordinates. 11/7/14: SEM_3-4-6 (Packages include new version of DM plugin to support fast continuous acquisition, compatible with 3.5 beta). 11/6/14: Changed default tapering for correlation in autoalignment and autofocus to 0.1 (In 3.4). 11/6/14: Excluded extra output stack from being considered the active window for Process menu operations (In 3.4). * 10/31/14: Added ability to select current Navigator item by clicking near it with the mouse (with Ctrl-Left click). 10/31/14: Changed Ctrl-Left and Right mouse button to zoom up and down around the mouse position, and moved the zoom up to Ctrl-Middle. 10/26/14: When displaying an image with antialias reduction, boost the contrast to give an SD of 40, since noisy images lose contrast. 10/25/14: Switched to static build of FEI-SEMserver.exe so it runs without dependencies that are missing on some systems (In 3.4). 10/25/14: Made plugin to DM able to save unaligned K2 frames when image alignment is selected in GMS 2.3.1, as it did previously. Also fixed a problem that may have slowed down frame saving with early return (In 3.4). 10/25/14: Fixed plugin to DM to set the right version number for GMS 2.0 and 2.1, so that it would not run ancient camera commands (In 3.4). * 10/25/14: Added a stage move tool window that allows moving stage in any direction by a chosen multiple of the camera frame size; it can be opened from the Window menu. ** 10/24/14: Added ability to have fast continuous mode acquisition from Gatan cameras. It will be used by default for Orius and K2 (with good frame rates) and for US4000 and US1000 (with only a slight speedup), activated by property UseContinuousMode otherwise. 10/19/14: Swapped meaning of "up" and "down" in macro editor so it matches the direction that macro moves in toolbar or menu. 10/12/14: Made macro toolbar width adjust to fit names. 10/12/14: Added macro command SetTargetDefocus. 10/9/14: Disable "Align to image in buffer A" in tilt series if mag does not match series mag, or it is not a valid low dose area for aligning to. 10/9/14: Added macro command SetCenteredSize to set a parameter set to a given binning and size; fixed problem with SetCameraArea for K2; added command ImageLowDoseSet to report what low dose set would match an image; added ForceCenterRealign to keep Realign to Item from skipping first round. Also made ReadFile able to read to specific buffer. 10/9/14: Added menu item to merge a Navigator file in with the current items. 10/9/14: SEM_3-4-5 10/9/14: Made bidirectional series return to starting angle with steps when first part ends on a dim image, even if Walk Up is selected. Also made return steps larger for JEOL (10 degrees) (In 3.4). 10/3/14: Fixed problems with using Skip Beam Shift on Align for bidirectional series, made it work for all reverse tilt operations during series. 10/1/4: Added macro command to change STEM detectors. 9/17/14: Changed montage piece alignment to use new routine shared with Blendmont, added 2-pixel border as is used there. 9/12/14: Fixed SetExposure command so drift really is optional (In 3.4). 9/12/14: Improved initial white level when displaying autocorrelations. * 9/12/14: Added ability to use pixel size routine with catalase crystals. 9/11/14: Fixed loss of reference in bidirectional series with return by walkup and fixed problem with stopping during a walkup return (In 3.4). 8/31/14: Added a delay after mag change for Falcon, controlled by property FalconPostMagDelay, to keep Dose Protector from responding to transient conditions. 8/31/14: Fixed vulnerability of timeout system to tick clock wrapping around every 57 days. 8/21/14: Had to switch the alpha change to happen first at higher mag, not higher alpha; there is still a vulnerability if two modes with different alpha are in a lower mag range. 8/14/14: Made alpha change happen before mag change when going to lower alpha and after when going to higher, since scope may impose alpha-dependent beam shift during the mag change. 8/14/14: SEM_3-4-4 8/5/14: Made it able to use piezo positioner instead of image shift for shift to Trial/Focus area in Low Dose. * 7/22/14: Made it record alpha value for maps in low dose mode and change alpha and apply alpha-dependent beam shift/tilt calibration when realigning to such a map or using it for anchor map state. Made it also able to apply the difference in the user's added beam shift and tilt between View and Record when aligning to a map taken in View mode; this is enabled by property RealignItemUseBeamOffsets. 7/21/14: Added general support for plugins controlling piezo positioners, and added macro commands for selecting, reporting, and moving piezos. 7/21/14: Added macro command KeyBreak for breaking a loop on a key press. * 7/21/14: Made beam shift calibrations alpha-specific for JEOL. 7/17/14: Fixed treatment of Falcon intermediate frame config file if the starting file gets everything onto one line and changed dummy directory for shots without frames to be on S:\ so the directory doesn't get created (In 3.4). 7/15/14: Fixed plugins for GMS2 64-bit when there is no K2 camera (In 3.4). 7/7/14: Allowed OnlyOneShutter property to be used to specify pre- or post-specimen shutter for Eagle camera (1 or -1). 6/25/14: SEM_3-4-3 6/25/14: Increased timeout on reset image shift (In 3.4). 6/19/14: Fixed "Encountered an improper argument" error when starting tilt series from Acquire at Points with Realign to Item selected (In 3.4). 6/17/14: SEM_3-4-2 6/16/14: Increased wait for stage ready in reset image shift (In 3.4). 6/13/14: Allowed Space key to turn off continuous acquire but not restart camera acquire during a task/tilt series (In 3.4). 6/11/14: Prevented warning about SAMAG mode on JEOL when it is in STEM mode on startup (In 3.4). 6/11/14: SEM_3-4-1 6/10/14: In bidirectional series, saving of new image in second half fails if a large amount of file hasn't been copied yet, so switched to finishing the copy synchronously before tilting to the first angle (in 3.4). 6/10/14: In plugin, fixed full-sized images being acquired when switching away from K2 to other camera and prevented failure of dose frac shots saving a single frame (In 3.4). 6/9/14: Fixed disabling of anchor options in initial actions when bidirectional option is selected (In 3.4). 6/8/14: Made it possible for plugin functions to be called at defined points in a tilt series. * 6/7/14: Added option to save K2 frames without rotation/flip (In 3.4). 6/7/14: Had to send rotation/flip to plugin for K2 dose-frac shots that don't save frames for GMS 2.3.1, which requires new plugin version (In 3.4). 6/7/14: When setting low dose area on FEI scope, set spot size again after setting mag in case it changes bwteen LM and nonLM (In 3.4). 6/6/14: Fixed EFTEM mode being turned on due to initial camera setting before pixel sizes/rotations are set up (In 3.4). 6/4/14: Fix enabling Set C2 Factor, normalizing beam for calibrating dose with gain reference, and numerous STEM-related items to behave right for FEI scope accessed through plugin (In 3.4). 6/3/14: Fix crash on Save Single with no image, disable menu item (In 3.4). 5/29/14: SEM_3-4-0 5/29/14: Added a property TSEarlyK2RecordReturn to allow tilt series Record images to return early, with a full sum, when saving K2 frames (only for GMS 2.3.1 or higher). 5/28/14: Made it restore beam tilt as well as beam shift when alpha changes between low dose areas on JEOL. The Alpha beam shift calibration needs to be redone to record the proper beam tilt change. 5/28/14: Fixed loss of images and jumbling of .mdoc when restacking of first part of bidirectional series in background. ** 5/26/14: Changes for K2 support: For GM 2.3.1, modified plugin to use new API for dose-fractionation images and to make DM acquire frames into RAM when possible (as controlled by a SerialEM property K2MaxRAMStackGB). For all GMS, made frame-saving run in a thread to provide truly asynchronous operation and not block the DM interface; added ability to return as soon as possible with no sum or a partial sum and take new images during frame-saving, accessed with the macro command EarlyReturnNextShot; linked with version 4 of libtiff in order to write TIFF files > 2 GB. 5/26/14: Made List Relative Rotations give a line when there is no rotation. 5/26/14: Made sure that corners would be reached properly in a full grid montage if the StageLimits property is set to access the full +/-1200 micron range on a JEOL; clarified help to indicate that the property is needed. 5/23/14: Enabled setting added beam tilt for View as well as Trial/Focus. 5/23/14: Kept track of whether mouse shifting moves the stage when setting a View offset and added a message box with instructions if this happens. 5/23/14: Stopped turning off Low Dose mode when montaging is on and a camera is selected that can't be used to take a montage into that file. 5/23/14: Fixed crash from showing montage overview with > 256 pieces, made it reduce overview binning correctly when memory is limited and not converting to bytes; fixed overview size so conversion to bytes does minimize memory use. 5/14/14: Automatically detected if display is 120 DPI or not; DisplayIsNot120 should no longer be needed. 5/14/14: Fixed starting focus for step focus/dynamic focus with a plugin scope. 5/11/14: Changed Realign to Item in Low Dose mode so that it aligns the feature for the mag of either View or Record, depending on whether View is being returned to, or if Acquire at Points is being run to capture a montage with View images. * 5/10/14: Added ability to fetch a pixel defect list from DM and merge it with defect list from properties; isolated defect-correction code so it can be shared with Clip in IMOD for post-processing defect correction. 5/2/14: Made field of view output for bidirectional series show up in bold with stars when below a criterion size; added property TSBidirAnchorMinField to set thresholds for this; made output correct when using View in Low Dose. 5/2/14: Made SetEucentricFocus use value for nearest calibrated mag in nonLM, and issue a warning on FEI scopes if the value is not for the current mag. 5/1/14: Fixed setting dose rate with divide by 2 on and dose rate output in camera setup window for non-K2 camera. 5/1/14: Changed absolute focus value on JEOL to range from 2 to 2050 in order to store and go back to the specific coarse and fine values; when using an old number between 0 and 1, set fine value near middle not bottom of range. 4/30/14: Fixed leakage of autocentering intensity into Focus parameters when in Low Dose. * 4/29/14: Macro changes: added menu items to save all macros to a file or to load multiple macros back from a file (which can be a settings file); added buttons to the macro editor to shift a macro up or down in the list of macros; made it possible to open an editor for an existing macro by Ctrl-clicking on its button in the macro toolbar or Camera & Macro Control panel; added line to editor showing some possible completions of a command as it is being typed. 4/28/14: Fixed enabling of autocenter beam menu item in Low Dose mode. * 4/28/14: Added property FrameMdocForFalcon to allow saving metadata for Falcon images when frames are captured with the Falcon Hack. 4/28/14: Made the Low Dose mode checkbox stay on during Realign to Item and prevented beam from being unblanked when actually leaving low dose at start of procedure. 4/15/14: SerialCCD plugin detects when there are two copies loaded and gives a big warning. * 4/15/14: Added File menu item to open an .mdoc file for saving metadata about every image acquisition that saves frames from a direct detector. 4/13/14: Fixed crash in acquire at points when groups are collapsed and no file is open. * 4/12/14: Made Realign to Item keep track of parameters from first round alignment so it can skip it if same frame is aligned to within a time interval (see properties RealignItemSkipCenTime and RealignItemSkipCenError). * 4/12/14: Autofocus will now stop iterating and return to original focus if it oscillates or behaves inconsistently. * 4/12/14: Added menu item to set dose rate for direct detectors. 4/9/14: Fixed montager trying to rewrite .mdoc during background save. 4/8/14: Added support for Tietz F216 camera, TietzCameraType 12. * 4/8/14: Report dose rate per unbinned pixel for all direct detectors. 4/8/14: Allowed Terminate entry to be used to terminate first part of bidirectional series. 3/25/14: Added check on JEOL for SAMAG versus MAG on startup. 3/20/14: Fixed inappropriate timeouts of background saves. 3/14/14: Allowed SmoothFocusNextShot to be used with Falcon. 2/28/14: Added DateTime to .mdoc for each image. * 2/28/14: Turned on background saving by default, it can be disabled with property "BackgroundSaveToFile 0". 2/27/14: Fixed using Walkup with View for tilt series and fixed angle at which walkup anchor is saved for Walkup with View with post-actions on (In 3.3). 2/21/14: Fixed 64-bit DM plugin to write files bigger than 2 GB. * 2/15/14: Made extra Records be overwritten appropriately just as regular records are, so there will be no extra extra Records. 2/15/14: Added BadPixels property for correcting single pixel defects. ** 2/15/14: Added bidirectional tilt series from arbitrary starting angle. There is a new item in the batch tilt series policy dialog that controls whether the series will automatically quit one direction and start the other when an image is too dim at high tilt. 2/5/14: Saved Acquire flag to Navigator file. * 2/5/14: Made new maps and Navigator items picked on images or maps have Z position of image instead of current Z. 2/5/14: Added mdoc entries for stage Z and image divided by 2. 2/4/14: Changes to autocenter setup in low dose mode, primarily to keep the intensity setting from being lost if the screen is dropped. 2/4/14: SEM_3-3-2 2/4/14: Install package has separate plugins for GMS 2.0-2.2 versus 2.3 and higher, and installer asks which is installed to copy the right one (In 3.3). 2/4/14: Keep screen up when reopening autocenter setup dialog after test acquire in Low Dose mode to preserve intensity (In 3.3). 1/26/14: Added SaveFocus and RestoreFocus macro commands to save a focus value that is restored when macro stops or ends. 1/26/14: Added macro commands to start K2 hardware dark reference update and other long-running operations without hanging the user interface. 1/26/14: Fixed enabling of macro buttons in control panel (In 3.3). 1/24/14: Added property JeolIndexForMagMode to allow the program to be used in SAMAG instead of MAG mode. * 1/24/14: Added property DMRotationAndFlip to protect against the camera configuration not being correct. 1/15/14: Added macro call IsPVPRunning. 1/12/14: Added ability to start a second instance with no scope or camera initialization with the command line argument /DUMMY. 1/12/14: Added macro command to report if low dose is on. 1/12/14: Made DE camera keep protection cover open during continuous acquire. 12/19/13: Disabled Set Intensity menu item in STEM mode (In 3.3). 12/9/13: Avoid setting low dose area multiple times when autofocusing. 12/9/13: Go to low dose area before starting autofocus on a scope with alpha since beam tilt can change (In 3.3). * 12/7/13: Extra Record output from tilt series can now be montaged. * 12/6/13: Allowed maps in LM to be used for Realign to Item if the camera field of view is small enough; the limit is set by property RealignItemMaxLMField. 12/5/13: Only turn off beam on JEOL if filament current is non-zero. 12/5/13: Added property DMAlignZLPCriteria to set the criteria for detecting if Align ZLP is run in DM. 12/4/13: Added macro command SmoothFocusNextShot to allow a focus ramp to be imposed during the next exposure. 12/4/13: Added property K2SynchronousSaving to disable the new asynchronous frame saving. * 12/2/13: Reorganized the Calibrate menu with submenus, moved Find Pixel Size and associated entries from Process menu to a Calibrate submenu. 12/2/13: Fixed crashes from opening new file at group in Navigator (In 3.3). 11/30/13: Made Low Dose continuous update have no effect when omega filter is in spectroscopy mode. * 11/30/13: Switched stage and image shift calibrations to use the autoalign routine, evaluate many peaks, and reject a peak at 0,0. Stage calibrations are done with whole image correlations by default to catch problems with rotation angles. * 11/30/13: Added some protections against image shift from scratch and stage calibrations being done with seriously incorrect pixel size estimates. 11/30/13: Pixel size and relative rotation measurements are now kept track of separately for each camera, List Relative Rotations will output complete RotationAndPixel lines, and a menu entry can be used to adjust a relative rotation by a multiple of 90 degrees. 11/30/13: Added menu entry to set cycle length for stage calibrations temporarily. * 11/30/13: Added ability to run preliminary macro in Acquire at Points for all kinds of acquisitions; keep track of this choice and email choice separately tilt series and other tasks. * 11/30/13: Put macro names in Macro menu, moved Run commands to a Run submenu, and added macros 11-20. Added a command LongName to give a longer name that will show up here if defined; otherwise the regular name shows up. 11/25/13: Allowed slit width to go to minimum value on JEOL (In 3.3). 11/16/13: Fixed test for stage in same position as moved to on JEOL (In 3.3). * 11/13/13: Plugin to DM will now save K2 frames while stack is being prepared, saving ~0.75 sec/super-resolution frame. 11/4/13: Fixed Falcon button showing up in DE panel and problems with the K2 frame-saving summary line. * 11/2/13: Made a new dialog for setting file saving options for K2 subframes; TIFF compression can be selected here, as well as saving raw frames packed; these are now both user settings. 10/31/13: If area is undefined when going to an initial low dose area, beam shifts and view offsets are imposed as if coming from Record (In 3.3). 10/30/13: Tested for whether a dose-fractionation image returned from K2 has the right size, prevented crash and added error message. 10/24/13: Fixed saving of divide by 2 setting (In 3.3). 10/23/13: Restored Load/UnloadCartridge macro commands. 10/23/13: Fixed crash when changing Falcon exposure time and there are no subframes set up. 10/23/13: Fixed blank line in log after every DE12 image. 10/21/13: Added property for testing saving of K2 frames as compressed TIFF files. 10/16/13: Fixed disappearence of "Save frames" button for K2. * 10/14/13: Made a plugin to SerialEM and a server to allow SerialEM to run on a 64-bit computer and connect to an FEI microscope. Released a beta package with a 64-bit version of SerialEM and this plugin and server. 10/14/13: Fixed memory leaks of strings in DE-12 code and when saving subframes with any camera type. 10/13/13: Added experimental property TSSkipBeamShiftOnAlign to suppress the beam shifts that accompany image shifts during tilt series on JEOL (for phase plate work). 10/10/13: Took account of constraints on exposure times with direct detectors when deciding whether to take a binned image with reduced exposure in tasks and tracking, and when reducing the exposure time for Refine ZLP. 10/9/13: Constrained exposure time properly for DDD when deciding whether to increase binning for a task, amd when reducing exposure further for safety factor on mag change (In 3.3). 10/9/13: Fixed a test for whether Reverse Tilt is needed (In 3.3). 10/9/13: When changing low dose area and using PLA for IS on the JEOL, do image shift for area offset at lower mag instead of higher to avoid setting out of range shifts (In 3.3). * 10/5/13: When there are two non-GIF cameras and "Match pixel size" is selected, it will now return to the initial camera before exiting so that the mag is appropriate when restarting. ** 10/4/13: Many changes for DE camera: * fixed various bugs leading to crashes and some memory leaks and standardized error handling; * implemented divide by 2 when selected; * added camera property AlsoInsertCamera to insert another camera first to blank beam properly; * switched rotations to using fast rotate-flip routine; * Moved selection of frame-saving to camera setup dialog, made it independently selectable for each parameter set and saved as user settings; * Integrated insertion/retraction into the regular logic used for all other cameras, and added a camera property SamePhysicalCamera to specify that a survey sensor is part of the same camera * Revamped the Direct Electron control panel with much fewer stuff, almost all of it in an Options section, and eliminated the separate dialog. Made all controls return focus to the main window so hot keys work, and disabled items as appropriate * It should work to configure the survey sensor as another camera * Enabled drift settling for the DE-12 cameras as long as OnlyOneShutter is not set. * The frames per second for DE-12 and survey sensor and the file saving format are now saved as user settings; the initial protection cover mode and protection delay and temperature setpoint can be set as general properties (DEProtectionCoverOpen, DEProtectionCoverDelay, DETemperatureSetpoint). * Kept track of values sent to server and only sent values again when they change, so repeated shots with the same parameters take about 600 ms less; * Managed the protection cover so that it opens before all tasks and routines that take images and closes at the end. This is not done for macros unless a command OpenDECameraCover is given. * Saved selected metadata from the DE camera in the .mdoc file, as well as the path and number of raw or summed frames saved * Informed DE server when gain reference images are being taken so it can save a copy * Made it not get all properties on startup unless debug output D is on, saving ~4 seconds. * Subareas are no longer constrained to be centered * Camera name is no longer fixed by the camera type but must match the name configured in the server. 9/29/13: Subareas are no longer constrained to be centered for Tietz cameras with geometry settings that specify a +/-90 degree rotation (untested). 9/29/13: Modified rotation and flipping routine to use same speed trick as in the DM plugin for rotating K2 images, so rotations for STEM images and K2 dose fractionation images will be faster. 10/4/13: Added property FocusPostTiltDelay to set a delay between tilting beam and taking next image. 9/26/13: Added macro calls AreDewarsFilling, DewarsRemainingTime, and RefrigerantLevel to report states of a temperature control system. 9/26/13: Added macro calls SetObjectiveStigmator and ReportObjectiveStigmator. * 9/6/13: Added macro command DeferStackingNextShot so that Falcon frames from multiple exposure can be accumulated into one stack. General properties FalconFrameConfigFile and FalconFrameConfigFile enable and control the frame saving. 9/3/13: SEM_3-3-1 9/3/13: Plugin to DM changed to take images reliably from DigiScan without big ExtraShotDelay; it also processes the data types produced by the K2 camera in all situations properly (In 3.3). * 9/1/13: Falcon frames are now written to an MRC stack and deleted. Normalization in SerialEM is disabled and images are normalized in FEI software when frame-saving is turned on. 8/30/13: Added ability to specify full or partial bad rows to correct, just like columns. 8/28/13: Fixed crash if Acquire button used in setup dialog, acquire fails, and there is no image in program yet (In 3.3). 8/28/13: Added macro command OpenFrameSumFile to open a file whose name starts with the date-time used for the last frames saved from K2 camera. * 8/28/13: Added ability to control the saving of intermediate frames from the Falcon camera. * 8/28/13: Constrained exposure times for Falcon and DE-12 cameras to multiple of frame time; display constrained times (for K2 Base too) with rounding in setup dialog. * *8/25/13: Added ability to set the direction of tilt beam for autofocusing with Set Tilt Direction in Focus menu and macro command BeamTiltDirection. 8/22/13: Made Try Again from Marker retain the black/white setting (In 3.3). * 8/22/13: Made it possible to run at multiple voltages with a single settings file by specifying the subfolder with the system files as an argument in the shortcut (In 3.3). 8/20/13: The program can now start up with a plugin microscope and call functions from it in place of its regular calls to FEI or JEOL scopes. * 8/20/13: Add a macro command StepFocusNextShot to change focus during an exposure, for use with the K2. * 8/13/13: Added an option to save dose-fractionation frames without gain normalization from K2 as 4-bit data packed into bytes in super-resolution mode, or as bytes in counting mode, with a current gain reference saved with the data. Also made all combinations of mode and processing be processed correctly by the plugin. 8/3/13: Added a MODULO macro function (In 3.3). 7/27/13: On JEOL, prevented different focus imposed by scope in View mode mag from being imposed on Focus/Record mags during a tilt series (In 3.3). 7/27/13: Increased default threshold for detecting reversals in tilting to 0.2 degress on JEOL and made TSMaxTiltError set a minimum for this threshold (In 3.3). 7/26/13: Fixes for JEOL EFTEM mode: different rough scale for IS calibration, separate beam shift cal, retain image shift when going in and out of mode, handle neutral values correctly (In 3.3). 7/26/13: Made sure image shift reset at startup does not happen until JEOL state data are good (In 3.3). 7/6/13: Made sure a GIF camera was selected when upper camera not marked as retractable (In 3.3). 7/3/13: Prevented crash when insufficient memory for rotating K2 image (In 3.3). 6/26/13: Fixed bug that made it impossible to enter an axis position in Low Dose panel when area is Undefined; made area undefined every time low dose is turned back on; disabled many computations in low dose if an image shift or other transformation matrix is not defined (In 3.3). 6/21/13: SEM_3-3-0 6/19/13: Made timout for DE12 and Falcon cameras not depend on binning. 6/19/13: Made program try to restore original shutter setting for Eagle camera when exiting. 6/19/13: Fixed displays of magnification when states are saved with different Low Dose Record mags for multiple tilt series. 6/3/13: Fixed size of dose-fractionation image displayed in SerialEM with counting mode binning 1 to be same as regular image. 6/3/13: Fixed binning output by ImageProperties macro for K2. Prevented small increments from being added to K2 exposure time for forcing dark reference. 6/3/13: K2type 2 defined for Base camera; sets timing defaults and disables counting modes in dialog, set scaling to divide counts by 4. 6/3/13: Stored binning and camera index in .mdoc file; when an image is read in, set binning from .mdoc, or from title of image file, before using logic based on size of current camera. 5/31/13: Fixed crash on startup from uninitialized pointer. 5/29/13: Fixed crash when reading in montage due to autosave log feature. 5/28/13: Added separate neutral values for GIF mode on JEOL (untested). * 5/28/13: Made Realign to Item not change stage Z if it is run during Acquire at Points and rough eucentricity was run. 5/28/13: Disable camera buttons during a general stage move; STOP button re-enables them without killing the stage move thread. 5/28/13: Added stern warning when calibrating stage shift for higher mags. * 5/19/13: Made program keep scaled calibrations internally so that they work with the current aperture on the Titan; crossover, beam, and spot calibrations ask what the current aperture is; there is a menu entry for informing the program of the aperture; and the program reports the status of intensity calibrations on startup. 5/19/13: Added check for duplicate property entries. 5/8/13: Fixed frames saved from K2 to be full-sized, made images saved from SerialEM be exactly centered subsets on the saved frames, and made pixel size in saved frames be correct when low dose area is changing. * 5/6/13: Changed Realign to Item to do the first round with the image shift needed to align with final mag (incorporating the low dose View offset) instead of changing the target position being aligned to; this works much better with high View defocus and reduces confusion by leaving the aligned position in the middle of the display. * 5/6/13: Made setting of View shift offset take a new view shot and tell user to align and push set again if needed. 5/5/13: Added general property NoK2SaveFolderBrowse to suppress Browse button when there are no filesystems mutually accessible to SerialEM and K2. * 5/5/13: Imposed all known constraints on exposure time and frame time for K2 and made exposure time changing during tilt series obey these constraints; allowed scheduled changes in frame time. Fixed treatment of drift settling. Fixed dose metadata to reflect constrained exposure time. 4/28/13: Added properties DefaultRegularCamera and DefaultGIFCamera to define which camera to switch to when going out of or into EFTEM. 4/27/13: Allowed software processing in K2 dose fractionation mode; it is no longer a problem and is appropriate. Dose fractionation images saved from the plugin are scaled by 16 for super-resolution mode or by the same scaling applied to the image returned to SerialEM for counting mode. 4/27/13: Fixed scaling of illuminated area output. 4/18/13: Fixed autoloader slot numbering. 4/18/13: Start a new log file when MontageAutosaveLog is on and filename does not match. 4/18/13: Fixed dose rate output in min/max/mean if dividing by 2. 4/4/13: Fixed rotation of gain references passed back by DM plugin for non-square camera. 4/4/13: Fixed crash when going into EFTEM with "blanked removal", prevented filter setup from being called if camera busy. 4/3/13: Built with new FEI scripting includes, fixes autoloader calls. 4/3/13: Fixed setup of file saving for a GIF K2 not marked as retractable. * 3/30/13: Added output of dose rate in electrons/unbinned pixel/sec for K2 camera to camera setup dialog and min/max/mean report. 3/29/13: Fixed bad problem with focus in low dose tilt series when a "tilt after reversal" has to be done and there is a View defocus offset. Also fixed similar problem with "move focus center". * 3/29/13: Added a function to catch crashes (unhandled exceptions) and try to close valves, save log, and put up a message box. 3/29/13: Added property MontageAutosaveLog to make log get autosaved just like in a tilt series when doing a montage. 3/15/13: Fixed LoadCartridge macro command to not abort after loading. 3/15/13: Fixed Save Single/to Other with background saving enabled. 3/15/13: Added macro command EnterOneNumber to get a number from the user. 3/15/13: Changed beam intensity calibration procedure to work with K2 as long as properties are set right for it. 3/14/13: Made Realign to Item set binning of pieces it reads from maps to prevent problems correlating with a new image. 3/12/13: Fixed many vulnerabilities in background saving. 3/9/13: Added macro commands to report and set net image shift. 3/6/13: For K2: fixed pixel size of saved frames in super-res mode, made lower-mag tasks not change the Trial exposure time and binning, and made images returned to SerialEM in dose-fractionation mode have same size as regular images. * 3/4/13: Implemented saving to file in a background thread; this is provisionally off by default and enabled with property BackgroundSaveToFile. 3/1/13: Added a property FitMontageWithFullFrames so that montages fit to a polygon can be constrained to use full frames instead of subareas. 3/1/13: Only open STEM panel if STEM camera is in active list. 3/1/13: Added drift settling for K2, constrained to multiple of frame time. * 3/1/13: On Titan, illuminated area will be mapped internally to a range of 0.1 to 0.9 if a property IlluminatedAreaLimits is entered with the approximate lowest and highest values. C2 % readouts are now shown as IA um. 2/28/13: Fixed crash on opening new file after Navigator Acquire opens new montage. 2/28/13: Added option to high-quality stage montage to not blank beam during camera readout to provide extra pre-exposure for next area. 2/7/13: Fixed crash when acquiring stage montage with IS realign and anchor. 2/6/13: Allowed Calibrate-Standard LM Focus to be used to save a eucentric focus in nonLM mode and added macro command SetEucentricFocus to go to the standard focus in LM or nonLM. 2/6/13: Fixed some problems with the controls for multiple gain references in the gain reference dialog. 2/4/13: Disabled calibrate dose button in gain ref dialog if no camera gain available. 1/31/13: Made it derive an image shift calibration by simply copying from the nearest mag when using PLA on the JEOL. 1/28/13: Made sure drift settling is zero in parameter set when camera cannot pre-expose. 1/28/13: Increased timeouts for K2 camera to account for dark reference in linear mode, or slow saving time when saving frames. 1/28/13: Fixed show cross-correlation, broken by adding autocorrelation. 1/24/13: Added debug output key d for electron dose failures. 1/23/13: Added FindPixelSize macro command to run routine in Process menu. * 1/10/13: Added property to indicate that there is more than one camera in TIA so that the program will allow reselection of the current camera in MUI/TIA; also added properties to enter actual image sizes of FEI cameras when camera size is not evenly divisible by subarea size and binning. 1/7/13: Made UseTrialBinningForShiftCal work in non-STEM and fixed documentation which had wrong name. 12/13/12: Split up socket code used for K2 interface on FEI scopes so that more than one socket can be used. 12/4/12: Stopped multiple message boxes and pathological behavior when image shift gets clipped on JEOL while changing low dose area or setting axis position. 12/4/12: Added Process menu item for autocorrelation. * 11/27/12: Restored beam shift after alpha changes in low dose and added calibration routine so beam shift can be changed appropriately. 11/27/12: Made fitting montage to polygon work with low dose View or Record. 11/12/12: Improved accuracy of image location derived from mouse position. * 11/4/12: Enabled "Move Item" for a map, with confirmation required, and provided for a new raw stage position to be assigned if one clicks in the center of an image. * 11/4/12: Added a Navigator "color", NoRealign, that can be selected to keep a map from being used for Realign to Item. 11/4/12: Fixed varying exposure time not getting fully restored at end of tilt series (in 3.2.3b). 11/4/12: Made Navigator check whether autosave file from short-term cal exists before asking whether to recover it. * 11/3/12: Fixed inheritance of changes in TS params, file properties, or montage params to later items with the same set of params or properties, and put out various messages about when params are being inherited. * 11/3/12: Added sliders for black and white levels. 11/2/12: Made array allocation for image acquisition and display not exceed the total memory limit and fixed problems with image display when arrays are not allocated. * 10/30/12: Added option to Align & Focus panel to do backlash in stage moves with mouse or when resetting image shift. * 10/30/12: Made sure full grid montage starts at defined center even if stage is moved by user before starting. 10/29/12: Fixed new exposure time getting lost when press Smaller or Larger in Autocen Setup dialog (in 3.2.3b). 10/28/12: Forbid using HQ params for montage in Low Dose mode. 10/28/12: Changed autoalign to evaluate correlation coefficients at alternative locations and at multiple peaks, instead of doing small non-normalized correlations; it will always do a basic number of peaks and "evaluate multiple peaks" will make it evaluate many (up to 40). Also returned to padding smaller area to size of larger. 10/27/12: Improved non-centered trimming to start at centroid of image. * 10/27/12: Added option to do Walkup with View in Low Dose mode. * 10/24/12: Added checkbox to Navigator to show the current acquisition area (Record or montage area) around a marker point, and a button to add the marker position as a point. * 10/24/12: Stored View shift in Nav file so that it can be used in Realign to Item, where it is needed. Also fixed the adjustment of the buffer image shift when there is a View shift in a new image. * 10/23/12: Added option to use View parameters for montage in Low Dose mode. * 10/23/12: Program and DM plugin now support K2 camera super-resolution mode, and dose fractionation with optional aligning of frames in DM and saving of frames to a stack or multiple files by the plugin. 10/23/12: Cleaned up data array for error on DigiScan acquire, and when there is a camera timeout, so it now reports a timeout. 10/20/12: Zero out pan of image after zooming back down. 10/19/12: Fixed test X-ray removal from Process menu for non-square images. 10/16/12: Fixed intensity to C2 scaling (broken in 3.2.0) (in 3.2.3a). 10/14/12: Fixed two bugs in setting low dose View shift offset if one has been set already. 10/8/12: Changed the way that Realign to Item evaluates correlations with multiple montage frames to use correlation coefficients, take account of whether several correlations imply equivalent positions, and weight the CCCs by the amount of area correlated and positional error. * 10/8/12: Made Realign to Item prefer a map at the same position over other maps for first round of realignment, so that it will use an anchor map in preference to an earlier montage. * 10/8/12: Added a routine to correct for X/Y backlash and return an adjusted stage position. Navigator now keeps track of backlash for all items with stage in backlash-corrected state and whether two maps are at essentially the same position. It will automatically run the backlash routine if needed when doing an anchor map, and either ask or automatically run it when a new map is added bigger than a set size. All items considered at the same position as the current item are adjusted. 10/8/12: Changed defaults for stage calibration and stage montage backlash from 3 to 5 microns for FEI scopes. 10/5/12: Add word "rate" to dose calibration message and, for K2, output the dose rate per unbinned pixel. * 9/20/12: Made realign to item go to item's Z value and stay there, not go to the Z of map being aligned to (in 3.2.3a). * 9/20/12: Stored the defocus offset when a View mode image is saved as a map and applied this when realigning to it. 9/20/12: Got K2 counting mode working properly and made program scale up counting mode images to have same gain as linear mode. 9/12/12: Implemented alternate pathway to DigitalMicrograph via sockets and changed camera code so that connections to one DM via COM, one DM via socket, and AMT cameras can co-exist. 9/12/12: SEM_3-2-3 9/10/12: Fixed uninitialized variable in insertion/retraction thread. 9/10/12: Fixed multichannel STEM acquisition. 6/28/12: Fixed to test insertion state for any camera with retractable property set. 6/23/12: Added features for selecting counting mode with K2 camera. 6/23/12: Set up structure for microscope plugin. 6/5/12: SEM_3-2-2 6/5/12: Fixed Navigator overwriting montage parameters of a remaining open file when opening new file, which made realign to item fail for second tilt series if medium and high mag map files were open when starting. 6/5/12: Fixed problem with existing montage file being reopened with wrong overlap. 6/1/12: SEM_3-2-1 6/1/12: Enabled non-centered trimming in second round of Realign to Item, which helps some when there is a grid bar in the field. Added backlash correction for Go To Marker when the marker is on a montage. 5/29/12: Fixed wrong move in Realign to item for second round when first round ends up on different piece than intended; fixed stage position assigned by Navigator when a stage montage map made with IS realign is started with nonzero image shift; fixed imposed shift in change of 5/14/12. 5/27/12: Added a custom regsvr32 for registering 32-bit plugins with GMS2; the system regvsr32 hangs in Windows 7. 5/25/12: Added one-second delay between opening film shutter and beam blanker in special film exposure. 5/25/12: Fixed crash when doing Navigator move to point marked on a single-frame map. 5/24/12: Added property MakeFEIerrorBeTimeout to convert a COM error from FEI camera into a timeout that can be retried; the conversion (added about 4/25/12) will no longer happen automatically. 5/24/12: Fixed problem with focus ramper being called when calibrating camera timing with an FEI camera (which shouldn't be done anyway). 5/24/12: Fixed exposure time shown in initial message box for camera timing calibration. 5/24/12: Fixed use of DetectorName for giving FEI camera a separate name. 5/24/12: Fixed initial reset image shift on JEOL to take account of neutral value again. 5/18/20: Switched deflector used for STEM image shift to CLA1 on JEOL and added property JeolUseCLA2forSTEM to use CLA2 instead. 5/14/12: When Realign to Item shifts to target with image shift, made it give report and shift the image too. 5/10/12: Fixed return values from autoloader commands and made ReportSlotStatus not call function to see if autoloader is available. 5/7/12: SEM_3-2-0 *** Oct 2011 - April 2012: STEM tomography supported in SerialEM. 5/7/12: Added macro commands for working with FEI autoloader. 5/2/12: Added ability to name an FEI camera something other than the required name by entering the required name in a DetectorName property. 5/2/12: Spot size and intensity for new map now come from values when image was taken instead of from current scope values. 5/2/12: Made short-term calibrations be saved in system path location (where calibrations come from), not in common location. 5/1/12: Made minor changes for Falcon cameras. * 5/1/12: Montaging will now store the stage error of each piece when realigning with image shift. Moving to a navigator point marked on a montage, it will add an interpolated stage error. Realign to item will also apply the exact stage error when going to a piece center and an interpolated error when going to the target position. 5/1/12: Fixed overview display from a 1x1 montage. 5/1/12: When montaging using realign with image shift, it will no longer nag about calibrating image shift if a 2.5% error in image shift would produce less than a 10% error in overlap. 4/30/12: Fixed correction for shrinkage in realign to item. 4/30/12: In Refine ZLP, stopped it from asking about starting at a loss setting when zero-loss is checked. 4/25/12: Added spot size and camera number to second title line of file. * 4/23/12: When moving to a Navigator point that was marked on a montage, it will now use the same backlash correction used when taking the montage. 4/23/12: Fixed autoalign when called for montage realign with image shift, broken by trimming/padding changes on 3/19. 4/20/12: Made single-item queries come out in middle of SerialEM window not on first monitor. 4/17/12: Fixed SEMRunLog.txt being written up one level. 4/13/12: When using special film exposure, stopped beam from being unblanked early on when the camera is inserted (a good thing) and switched to using the beam blanker for the actual exposure when there is no pre-exposure (maybe not a good thing). 4/13/12: Made an install.bat to clean up old files, copy just needed ones, and register the right plugin for the GMS version. 4/12/12: Added ability to set a series of exposure times for extra Records instead of just one. * 4/12/12: Added property MaximumTiltAngle which defaults to 79.9; made Reverse Tilt not exceed this angle; limited tilt series range to this angle; when TSC detects that insufficient or no backlash correction occurred, it now calls the tilt after stage move routine with mag suitable for doing Reverse Tilt, instead of using "low mag tracking" that the user may not have set a mag for. 4/12/12: Made several errors in camera controller not put up message boxes when doing multiple TS, including deferred message at end of acquire. * 3/29/12: Made line-drawing with Shift - left mouse drag report angle as well; changed length and box size output to be microns when >= 1 um. 3/29/12: Fixed filter changes being lost in some cases, in particular when going out of low dose for Realign to Item on JEOL. 3/29/12: Added NormalizeLenses macro command. 3/27/12: Really fixed reading in of version 1.43 Navigator files and writing of 1.45 files. 3/25/12: Added optional argument to AutoFocus macro command to focus with View in Low Dose. * 3/20/12: Added option to control whether tilt series stops for confirmation before retaking a Record in low dose mode. 3/19/12: Switched Autoalign to trimming a larger area to match a smaller one instead of padding a small one and correlating with a larger one. Made trimming in Autoalign able to trim to a non-centered area if there is no stretching between the two images. * 3/19/12: Added correction for shrinkage in first round of realign to item. 3/12/12: Made autofocus routine go to low dose focus area before saving beam tilt value when beam tilt shifts are being set in low dose. 2/28/12: Made it set new Record state parameters when a low dose stored state is selected while in Low Dose record mode. * 2/7/12: Made it set tool panel positions when loading a settings file. 2/6/12: Fixed several problems with going to a mag other than that of the current low dose area on the JEOL that could make it impose a large image shift when PLA is used for IS. * 2/3/12: Made it draw the rectangle around a map as a fixed rectangle around the center instead of adjusting the coordinates of each corner independently. 2/3/12: Fixed problem with zoom setting when the first image displayed is a loaded map. 2/1/12: Made the test for needing low mag tracking after tilt reversal depend on the maximum tilt error so this tracking won't happen on JEOLs. 2/1/12: Fixed TSC closing values every other time when one-loop is done repeatedly after end of series. 2/1/12: Clarified that crossover calibration should be done at eucentric focus. * 2/1/12: Made it give an error if fraction of pixels truncated when saving unsigned data to a signed file with truncation is greater than a limit (1% by default). Also documented that the default mode can be set to 6. 1/23/12: Kept state dialog from trying to set imaging state with an unavailable camera. 1/22/12: Fixed problem with skip autofocus being ignored if set after series starts and series is resumed other than through setup dialog. 1/22/12: Fixed problem with adding extra record output after series starts, made it roll original Record back into A after saving an extra Record. 1/22/12: Made it close the right file, not the current, when terminating TS. 1/22/12: Made TSC ignore irrelevant tilt series variations (e.g., filter changes when there is no filter) and display NA for them in the dialog table. * 1/20/12: Made Tab work for completion in macro editor. 1/19/12: Fixed problem with montage dialog changing frame sizes for an existing file, which crashed when reading from file, made it disable cameras when the frame sizes can't be achieved, and made it impossible to take new montage with such a camera. 1/18/12: Fixed change in axis positions when turning EFTEM on or off with Low dose on. 1/17/12: Made pixel size finding routine bin larger images to 1024 since the analysis does not work well with larger images. 1/15/12: Fixed drawing of green cross after a box has been drawn. * 1/13/12: Added Navigator menu entry to convert a set of corner points to a polygon. 12/28/11: Fixed assessment of sufficient counts during tilt series when the Focus area is shifted far away from the center of the Record area. 12/15/11: Made autofocus clear its required mean count value after failing. 12/9/11: Detected when trying to make a map from an image converted to bytes and made a message with instructions on how to fix scaling problems; also attached map stage coordinates to image when reading in as map, to make it easier to recreate an accidentally deleted map. 12/4/11: Made protection against using peak at 0,0 due to fixed pattern noise work when calibrating and checking autofocus. 12/1/11: Fixed closing of beam shutter after exposure in special film exposure command. 11/30/11: Made distortion pairs not apply image shift when aligning pairs. 11/16/11: Fixed IncPercentC2 macro command. * 11/14/11: Added ability to shift beam with Shift arrow keys, change increment with < and >. 10/28/11: Changed to handle insertion of cameras other than Gatans. 10/28/11: Incorporated FasTEM code and converted to single executable and build for all microscopes. 10/28/11: Fixed getting mean for testing montage piece having sufficient counts with unsigned images. 10/20/11: Added macro command to turn low dose on and off. 10/26/11: Fixed autofocus drift nm/sec output in verbose mode. 10/16/11: Split realign to item disparity into two parts to adjust better for stage variability between center and edge of piece. 10/16/11: Undo change to realign to item on 8/10/11 - it throws things off worse to not revise the disparity. Fix bug in how it decides whether to assign a recent disparity to a new map. * 10/9/11: Added antialias filtering as in 3dmod when zoomed below 0.8. 10/9/11: Added property to ignore a subset of Gatan cameras. * 10/9/11: The program will now read DM version 4 files, and display DM files right-side up. 10/6/11: SEM_3-1-1 * 10/5/11: Provided versions of DigitalMicrograph plugin for GMS 2. 10/5/11: Made StageBusy check stage status for real and not rely on event status every 4 seconds on JEOL. 10/3/11: Fixed problem with tilt angle getting set wrong if One-Step is used along with Resume at start of series. * 10/2/11: Added macro command to switch cameras. * 9/30/11: Removed option for periodic realign to piece with stage shift in montage. 9/30/11: Fixed montage with realignment going to wrong place on second piece. 9/30/11: Fixed getting name for anchor realignment image when using an .idoc. 9/30/11: Fixed crash when anchor realignment image is not found. 9/5/11: Made a new camera control set when taking anchor realignment image in montage. * 8/10/11: In realign to item, no longer revise estimated stage disparity in second stage of alignment because an error in stage calibration will throw off the estimate from location not centered on a piece. 6/20/11: Disabled "SingleTecnai" property which is obsolete and broken. 6/17/11: Fixed problem with realign to item when user has no buffer rolling (in 3.0). 6/16/11: In setting up full montage, limited the user's limits by the system limits, kept corners within limits, and tested for sufficient area left within limits. 6/15/11: Added ability to set additional beam tilt as well as shift for Trial and Focus areas if property LowDoseBeamTiltShifts is set. 6/15/11: Fixed montage reading to not move stage to montage center at end. 6/15/11: When it fails to get vaccuum reading, it stops trying instead of continuing to screw up the update. 5/19/11: In Low Dose, set new filter settings immediately on JEOL and then set intensity to protect against intensity change imposed by scope. 5/18/11: Made TS Controller do a debug dump when a timeout occurrs. 5/17/11: Stopped walkup from crashing program if image shift clipping error occurs. 5/17/11: Tripled wait for stage ready in general stage move routine, increased timeouts when tilting in tilt series. 4/26/11: Fixed uninitialized value of maximum image shift in realign to item (in 3.0). 4/25/11: Fixed problem with exposure times being set to zero when changing exposure for intensity and limit to current value selected (in 3.0). 4/21/11: Made realign to item pick map where target is most interior if two overlapping maps are otherwise equivalent. * 4/8/11: Implemented alignment to adjacent montage pieces using image shift instead of stage shift, with alignment occurring on every piece. This can be used with or without an option to run the montage from the center outward and have an anchor image stored at the center. 4/8/11: Added a property to scale the image shift delay, and a Calibrate menu item for setting the scaling in order to assess the needed value. * 4/8/11: Made non-verbose autofocus output include drift. * 4/7/11: Made the default be to create .mdoc files for montages. 4/5/11: Fixed return values when getting tilt angle or stage position from an image buffer that lacks them (in 3.0). 4/5/11: Fixed crash when taking prescans. * 4/4/11: Made it possible to resume and overwrite pieces in a completely done montage. 4/4/11: Fixed filling of overview image when resuming. 3/28/11: Enhanced test for a montage piece inside polygon to sample along sides of piece. 3/4/11: Updated table and marked navigator data as changed when polygon gets its center updated with center for montage (in 3.0). 3/4/11: Fixed several problems When realigning to previous piece in montage and added a test for stage at correct location (in 3.0). 3/4/11: Fixed test for montage coordinates in a file where the starting coordinate is not zero (in 3.0). * 3/2/11: Added property UseIlluminatedAreaForC2 so that intensity control will work on Titan Krios. Also added macro commands to set and read illuminated area when this property is not set. 2/28/11: Fixed TS controller requiring an intensity calibration when varying exposure instead of intensity (in 3.0). 2/17/11: Fixed output of Montage = 1 in .idoc file for large montage (in 3.0) 2/15/11: Fixed allocation of header space for very large montages (in 3.0). 2/15/11: Fixed crash bug if adding a Navigator item with collapse groups on and fixed using backspace to delete points with collapse on (in 3.0). * 2/14/11: Added SetCameraArea macro command. 2/14/11: Added target defocus to .mdoc output. 2/7/11: Fixed gain normalization for F416 with flipping around Y axis. 2/4/11: Fixed SMTP port entry, which needed to be byte-swapped (in 3.0) 2/1/11: Fixed radio buttons for area to show with screen down (in 3.0) 1/28/11: Fixed crash bug if last navigator item is deleted with collapse groups on (in 3.0) 1/20/11: Fixed bug that ruined montage alignment with very sloppy off. 1/12/11: Fixed tilt range assessor to not compare intensities of first tilt picture and zero-deg image unless image type is the same (in 3.0). 1/3/11: Fixed Navigator test for valid macro when there are calls (in 3.0). * 1/2/10: Many changes that should improve alignment of montage pieces in maps, especially with very sloppy option on: adopted latest changes in Blendmont for computing CCC's; used robust fitting to avoid having alignment thrown off by outliers; also skipped edges based on extremely low CCC values; stored images for overview in untiled form and tiled them into place based on the alignment solution. Also, if a .mdoc file is opened, edge displacements are saved there and can be used to tile read-in pieces directly into the correct location based on global solution. 12/22/10: Fixed bug that crashed program or led to non-movement of montaging after switching Very Sloppy option on or off (in 3.0). 12/19/10: Switched to build against static libraries libtiff 2.9.4, libjpeg 8b, and zlib 1.2.5. * 12/19/10: Added ability to save a pair of trial images from opposite low dose areas as "extra Records", with adjustable binning. 12/19/10: Fixed setting of spot size for extra Records and file numbers in error messages (in 3.0). 12/18/10: Grid of points can be added inside a map as well as polygon. 12/18/10: Added macro command to set standardized focus. 12/18/10: Navigator stops the acquisition if last macro run ended with an abort rather than a user end. 12/18/10: Made Navigator test for a valid macro before starting acquires (in 3.0). 12/18/10: Made Navigator turn off acquire checkbox when current item's acquire is done (in 3.0). * 12/12/10: Added completion of macro commands in editor using ` key (above tab). 12/11/10: Added a structure for SerialEM to load plugins, and for plugins to have functions callable from a macro. 12/9/10: Fixed computation of largest image shift needed for montage (in 3.0). 12/8/10: SEM_3-1-0 and branch to SEM_3-0-0 (branch tagged as SEM-0-00) 12/6/10: Fixed pixel size output from ImageProperties command. * 12/3/10: Made Min/max/mean do subarea if a box is drawn on image. * 12/3/10: Added a policy option to allow automatic termination upon 3 dim images when otherwise stopping for errors. 12/2/10: Stopped syncing of parameters (target defocus, etc) between TSC and other program modules when setting up batch series. 12/2/10: Fixed importing of angles from range assessment to preserve the existing order. Added Swap button to swap starting and ending angles. 12/2/10: Made it able to save floating point images to files. 12/1/10: Eliminated a bad assumption when getting focus value on JEOL. 11/30/10: Fixed problem with it not taking a pending shot after camera removal upon switching into EFTEM mode. * 11/29/10: Added ability to take low-dose trial/focus images from opposite side of record area and macro commands for taking such images and autofocusing. 11/29/10: Made tilt range routine stop if first picture at tilt is much less intense than the zero-degree picture. 11/29/10: Fixed computation of lost fractions in tilt series, which would be way off in one direction with rotations near 45 degrees. 11/23/10: SerialEM 3.0 beta 1 11/23/10: Fixed blue drawing over top of control panel when it is floated and user has XP style. 11/23/10: Made TS Controller test for termination due to error at top of action loop to prevent runaway actions. 11/23/10: Fixed missing Go and One Loop buttons in tilt series setup when stopped while running from Navigator. 11/23/10: Fixed changing defocus when tilt series is changing the target. 11/23/10: Stop autofocusing properly when an error occurs. 11/23/10: Retain extra data when converting map to bytes. 11/23/10: Fixed JeolHasNoAlpha property so 1 instead of 0 means no alpha. * 11/23/10: Changing lowdose view defocus offset will now change defocus if already in view area. 11/22/10: SerialEM 3.0 alpha 3 11/22/10: Added macro commands to make a directory and to allow overwriting an existing file when opening a new one. 11/22/10: Converted to HTML help in a .chm file. 11/19/10: Added a YesNoBox macro command to get a yes/no answer as a value. * 11/19/10: Report min/max/mean of image after using Acquire button in camera setup. 11/18/10: Made camera controller check size of Gatan and Tietz cameras against size in properties file and issue warnings about a mismatch. * 11/18/10: Added pixel size to Process - min/max/mean output. 11/18/10: Made a mag derive its rotation by relative rotation from the nearest calibrated mag, not the one below. 11/18/10: Fixed the zeroing of image shift during beam autocenter routine to account for any applied offsets, and made it not happen in low dose mode. Also prevented Trial intensity from being changed if continuous update on. * 11/18/10: Added persistent variables, compound IF statements with AND and OR operators, and ELSEIF statements to macros. 11/16/10: The cross-correlation coefficient of unfiltered autofocus images is now computed and reported in focusing Verbose output. 11/14/10: SerialEM 3.0 alpha 2 11/13/10: Prevented montage setup and gain reference policy dialogs from opening during image acquisition. 11/13/10: Fixed bug in computation of expected gain reference size which was giving errors with binning 3 and/or 6. 11/10/10: No longer apply image shift on scope if a processed image is mouse shifted. 11/10/10: Based image shift when mouse shifting on camera image was taken on, not current camera. * 11/5/10: Added a way to calibrate the stretch in the stage coordinate system and made the transformations based on registration points and alignment of rotated images correct for this stretch. 11/5/10: Added property containing a transformation so that rotation alignment could correct for imaging stretch. 11/5/10: Fixed backup tilt series, which made it impossible to go on. 11/4/10: Fixed problem with eucentricity tiltup starting before image shift reset routine fully done. * 11/3/10: Added ability to schedule changes in exposure time, drift settling, defocus target, or filter settings at defined angles during tilt series; changes can have fixed values or vary linearly between specified points. * 11/3/10: Added ability to modify exposure time instead of beam intensity during tilt series. * 11/2/10: Added an image cropping macro command and a Process menu item; area to crop is selected with drawn line or box (Shift or Ctrl-Shift left mouse). * 11/1/10: Made C key work to toggle corner point in Navigator. 11/1/10: Fixed filter settings not going into log for omega filter. 10/29/10: Added a periodic Read from vacuum gauge if status is invalid - needed for Tecnai 4.0. 10/26/10: Fixed Low Dose Set View Shift being disabled for camera 0. 10/25/10: Fixed deleting of dark references for 16-bit cameras when Divide by 2 is toggled. * 10/25/10: Implemented interpolation of dark references so that small changes in exposure time do not require a new dark reference. * 10/22/10: Handled Tietz geometry settings correctly for non-centered subareas and handled strange restrictions on coordinates for F416/F816 cameras. 10/22/10: Prevented double counting of pieces on skip lists, which was screwing up reading in montages too. 10/19/10: Added procedure for aligning an image to a map with rotation and then transforming points into a new registration. * 10/17/10: Improved beam centering routine by changing fits to beam edges to use weighting by the image gradient and robust weighting. 10/16/10: Fixed disabling of "Restore scope state" button in Nav Acquire when doing tilt series. 10/16/10: Changed label from IS to PLA in scope status panel for JEOL scopes using PLA for image shift. 10/14/10: Fixed disabling of shift-related buttons in montage panel with skip correlations on but HQ not. 10/14/10: SerialEM 3.0 alpha executables available with these changes: Added Bigger/Smaller buttons to Beam Autocenter Setup and solved some problems with low dose. * Added ability to read/write a metadata file in autodoc format and made the associated data structures be the primary storage for this metadata; this now allows montages > 65536 pixels. Changed default extension for the autodoc file when making a TIFF series from .adoc to .idoc, and made all metadata, not just the items checked for extended header, be store in .idoc and .mdoc files. Made Camera & Macro Tools panel modify End button appropriately in various cases. * Added size output to camera setup dialog * Added tilt series range assessment dialog Added check for duplicate images when montaging with Eagle camera Removed limits on number of montage pieces * The column/gun valves will be closed automatically when most message boxes have been up for a certain time; this behavior is controlled in the Tilt Series Batch Policies dialog. * An image shift can now be specified for the View area in Low Dose. * The axis between record and Trial/Focus in Low Dose can be rotated away from the tilt axis. * Added ability to schedule files to be opened when acquiring certain Navigator items, and incorporated the previous scheduling of files to be opened for groups into this capability. A new montage can be fit to a polygon when defining a file to be opened. * Tilt series are now run from the Navigator. All file and tilt series parameters are set in advance in the Navigator. Tilt series can no longer be run from a macro, but it is possible to run a macro before a tilt series started from the Navigator. Microscope and image acquisition states can also be set to be asserted for a particular tilt series. There is a menu item to list the files to be opened, tilt series to be run, and states to be set when doing Navigator Acquire. Rearranged the order of preliminary actions in Navigator Acquire. Output a message when Navigator Acquire saves an image. Made Navigator Acquire check in advance that suitable maps exist when Realign to Item is checked. New log files can be opened automatically when doing multiple tilt series, as controlled by option in Batch Policies dialog. * Implemented an imaging state dialog for saving and setting imaging states, it can also be used to set map acquire state and check a state scheduled to be set during Navigator acquire. These states are stored in user settings and the stock state file has been eliminated. * Added Update Z button to Navigator. * Added button to make it easy to acquire a medium-mag map at a location to be acquired, referred to as an anchor map. A grid of points can now be set up to be accessed in an order away from the low dose focus area instead of in a zigzag pattern. An Navigator autosave file left over from a crash will now be detected and can be selected for use. * Added ability to summarize groups of points in Navigator list box and to do some operations on summarized groups. Navigator acquire has option to autofocus only on first item of group. Made cooker and beam autocenter startup use controlled message boxes, and made Navigator Acquire stop if they return with error. Cooking routine turns off low dose and restarts it and manages intensity correctly. * Changed Tilt Series setup dialog to present one section at a time in sequence, or left or right half, or traditional full dialog. * Added ability to have pixel and intensity matching when switching between nonGIF cameras, similar to when switching between GIF and nonGIF. Stopped program from opening minimized if it was closed minimized. Added warning for wrong gain reference name. Allowed scale bars on all but processed and FFT images. Defaulted JeolPostMagDelay to 1250 msec when updating by event, doubled the delay for mag mode changes. Sped up mouse shifting on JEOL when not updating by events. * Added ability to draw a line to measure distances (Shift - left click and drag) Increased time allowed for post-action stage move 2.5-fold. * Made colored indicator of whether intensity is in calibrated range, controlled by property ShowIntensityCalStatus Fixed bug in camera timing routine with Tietz camera. * Made map buffers keep separate pans just as they keep separate zooms. Added a way to set separate defaults for whether to make a metadata autodoc or a series of TIFFs when montaging versus opeing a single-frame file. * Renamed Save to Other to Save Single when there is no open file and enabled it to be used always to save to a single-image file. * Added option to use trial area images in low dose for refining eucentricity. Prevented Use Trial In LD setting for reset shift and realign from affecting parameter set used when not in low dose. * Montage improvements: added geometry management in dialog to eliminate empty space at top an open a new section of parameters for high-quality stage montages. There are options for focusing the center of a block of pieces, realigning to an existing piece periodically and at the start of a column, setting a delay time after stage moves, and skipping correlations. Added a text box for a minimum overlap in microns for stage montage. Added a reset button for the overlap. Rationalized the treatment of image shift limits when setting up montages: properties NavigatorMaxMontageIS and NavigatorMaxLMMontageIS have new defaults of 7 and 35, they are hard limits for using image instead of stage shift when fitting to a polygon, and they trigger a message box to user otherwise asking if they want to use stage shift. 7/14/10: Made autofocus go to standard LM focus in LM. * 7/10/10: Made program able to send email through an SMTP server (using code from Matthias Brunner). Added a macro command for sending an email, an option in the Navigator Acquire dialog to send one at the end of acquisition, and an option in the Tilt Series menu to send one when tilt series ends or stops. * 7/9/10: Added option in Process menu to make a color overlay from two or three images, and an option in the Navigator Import dialog to make a map that is a color overlay of two imported maps. * 7/4/10: Made program able to read and write color (RGB) images in TIFF or MRC files. 9/7/10: SEM_2-8-10 9/7/10: Incorporated various small fixes introduced during development of 3.0: Fixed problem with automatic pixel size or mag matching being on when there is no non-GIF camera. Made scope stay in EFTEM mode if screen down and setting up autocenter beam. Disabled post-actions properly for Eagle camera. Made eucentricity wait for stage ready before restoring tilt angle on Stop. Made double stage moves in tasks wait for stage ready and stop other processing properly if it doesn't become ready. Fixed montage not doing correlations with more than 15 pieces (limit is 256). Disabled various montage panel buttons when number of pieces is above limit for correlations. Rebalanced shifts in low dose after defining area if balanced shifts on. Fixed computation of area separation in low dose, which was really bad for oblique axis angles. Disabled some buttons in Navigator during tasks and acquires. Prevented beam calibration from going through crossover and added messages about which side of crossover and whether existing cals will be replaced. 7/12/10: Fixed the limiting of settling time after large tilts that was actually made worse by "fix" on 4/3/09, and fixed some of the delay time logic in tasks like walkup it will run as fast with post-actions as without. 7/6/10: Switched to a version of TIFF libraries that can read TIFFs with JPEG compression, but it still cannot write with JPEG compression. 7/4/10: Fixed crash when the first map read in is an imported TIFF. 7/2/10: SEM_2-8-9 7/2/10: Added option in Image Display panel to draw big centered cross all the time. 5/25/10: Use dynamic limits for validating montage dialog size/overlap. 4/23/10: Changed DM plugin to close lower shutter when opening beam shutter for extended pre-exposure to prevent camera exposure/saturation. 4/9/10: Fixed warning messages about montage errors. 4/8/10: Fixed crash bug rotating a large map. 4/8/10: Fixed warning from autocenter beam and made it zero image shift for the beam-centering picture. 4/8/10: Derated the montage error messages by square of cosine of tilt angle. 3/29/10: Output a grid angle in pixel size finding routine. 3/29/10: Fixed bugs in importing a map and showing cross-correlation that only showed up in debug mode. 3/29/10: Added menu option and macro command to provide echoing of each macro line as it is encountered. 3/29/10: Added macro command OpenOldFile to open an existing MRC or Adoc file. 3/27/10: Added macro commands SetMagAndIntensity and ChangeMagAndIntensity to change magnification and change intensity to keep same screen brightness. 3/26/10: Added menu option for continuous saving into log file for each line of output to log window. 2/22/10: SEM_2-8-8 1/29/10: Disabled automatic retry of image acquisition on timeout (could be easily re-enabled with property if needed). Deferred all message boxes from within image acquisition threads to final cleanup to avoid timeouts and lockups. 1/29/10: Added properties GainRefXsizeEven and GainRefYsizeEven to indicate that references need to be taken at even sizes. 1/29/10: Fixed many problems with gain references when there is no binning 1. 1/17/10: Support for Direct Electron camera LC1100 (which was added at NCMIR) now includes pre-exposure control. 12/10/09: Added ability to set a relative rotation between non-contiguous mags with property SpecialRelativeRotation. 12/10/09: Fixed output of pixel size measurement and added camera number. 12/10/09: Added macro for image shift calibration and camera number to output. * 12/10/09: Added property RefineZLPRedoInLowDose to control whether refine ZLP tries at multiple offsets in low dose. 12/10/09: Made it test the Jeol scope directly before giving up when waiting for stage ready. 12/1/09: Added ability to compensate for drift during an exposure, controlled by a macro call. 9/7/09: Increased allowed number of montage panels but set a limit to the number where correlations would be done. 8/13/09: Made low dose areas come out in different colors (is this good?) 8/13/09: Fixed crash after trying to import a montage. 8/12/09: SEM_2-8-7 8/12/09: Added ability to analyze waffle grating automatically to determine pixel size, available in Process menu. 8/4/09: Added a property CameraTimeoutFactor to increase timeouts for image acquisition. 7/5/09: Modified plugin to DM to adapt to all possible modifications of the image (i.e., flipping and rotation). 6/19/09: Added macro command to shift Navigator items by alignment shift of image in buffer A. 6/18/09: Added some diagnostic output for a COM error during the scope update routine. 6/9/09: Added TietzImageGeometry property for flipping or rotating image. 6/9/09: Made spot size change before mag when changing low dose to avoid misleading event on JEOL. * 5/29/09: Changed sign of energy shift when it needs to be used in place of spectrum offset with GIF on JEOL. 5/15/09: Issued proper timeout message from tilt series controller. 5/15/09: Increased wait for stage to be ready in stage move call to account for post-mag change delay. 5/7/09: Added property to ignore short-term calibrations. 5/7/09: Fixed problem with derived pixel size being used when calibrating from scratch. 4/27/09: Added property to control whether Tietz camera beam blank mode is restored after each shot. 4/22/09: SEM_2-8-6 4/19/09: Montage overview read from file is now copied to the read buffer. * 4/19/09: Made free-standing dialog for reading sections from the current file with previous and next buttons. 4/18/09: Fixed Copy from another camera button in camera setup dialog. * 4/18/09: Added new file type, an "autodoc" that describes a series of numbered TIFF files. It can be used interchangeably with MRC stacks files. 4/10/09: Implemented timeouts for all image acquisitions in the camera controller, and allowed for two retries upon timeout. * 4/4/09: Added button to the camera setup dialog to swap X and Y location and size. 4/4/09: Made stage montage able to move stage during camera readout, including moves requiring backlash correction, and fixed backlash logic for montages that skip pieces at the start of a column. 4/3/09: Added properties to set the initial number of pieces and initial fractional overlap that show up in the montage setup dialog. 4/3/09: Added a montage parameter settable by macro to skip the correlations for aligning pieces. 4/3/09: Limited the increase in delay time after tilting by large angles when basic delay is large. 4/3/09: Fixed images from Eagle camera always being divided by 2. 4/1/09: Fixed TIFF's being read in upside down. * 4/1/09: Added ability to save single images to TIFF files with LZW or ZIP compression. * 4/1/09: Made it possible to change frame size and number of frames of a montage until frames are actually written to file, even after a prescan. 4/1/09: Added a property LimitMontageToUsable to limit montage frames to the usable area of the camera. 3/10/09: Added macro command ImageProperties to report size and other properties 2/21/09: Made exposure adjustment for changing binning in image/stage shift calibration pictures account for dead time and minimum exposure. 2/20/09: Added a NoScope property to allow graceful startup when there is no scope; it prevents image shifts in autoalign and clear alignment. 2/19/09: Made it drop the screen when switching to a sidemount camera if lower cameras might be inserted or are not retractable. 1/24/09: SEM_2-8-5 1/23/09: Fixed problem reading version 1.41 Navigator files (created by SerialEM 2.8.3 or 2.8.4). 1/22/09: Stopped going to Record area in low dose when reading a montage in. 1/22/09: Prevented read-in operations when an image is being acquired. 1/14/09: Stopped updating exposure number in special film exposure, it seems to be done automatically. 1/8/09: SEM_2-8-4 * 12/22/08: Switched overlap zone cross-correlations when montaging from tapering inside to smoothing and tapering outside, and applied filtering to both images being used for computing correlation coefficients in real-space; both changes will make pieces align somewhat better. 12/22/08: Stop drawing wrong scale bars on read-in images. * 12/22/08: Fixed initialization problem that will crash program or give weird result if reading from a map file that is not open. 12/18/08: Fixed the routine that gets a control set for tasks to adjust for dead time and enforce minimum task exposure. 12/13/08: Fixed the name for accessing shared data from Tietz F816. 12/11/08: Changed the limits for the left, right etc text boxes in camera setup from 4096 to the actual camera size. 12/3/08: SEM_2-8-3 * 11/27/08: Added macro commands and checkboxes in the navigator acquire dialog for running the cooking and beam autocentering routines. * 11/27/08: Added entries in Task menu to run a routine to pre-expose the specimen and to open a dialog for setting the parameters for the pre-exposure. * 11/27/08: Added entries in Task menu to run a routine to capture an image with condensed beam and center the beam with this image, and to open a dialog for setting the parameters for autocentering. 11/27/08: Allowed imported map to be rotated by a specified angle. 11/27/08: Defined properties to specify fields in TIFF files so that when they are imported as maps, the program can find the stage coordinates and image scale. * 11/27/08: Added ability to read TIFF and DigitalMicrograph files, using the generic file reading library from IMOD. Program must now be run with 3 DLLs. * 11/18/08: Added scale bar, controlled by option in Image Display control panel. 11/18/08: Made main window resize to leave space on right whenever a new window is opened. 11/17/08: Made it turn off beam when stopping in montage after failing to unstick shutter with film picture. 11/17/08: Added macro command to set montage parameters (stage moving and overlap for now). * 11/17/08: Made Navigator items be displayed in a "New" window. * 11/18/08: Added SpecialExposeFilm macro command to use the adaexp server used by Leginon, which allows control of delay between loading and shooting, and allows a pre-exposure time. 10/21/08: Tilt series controller will now derive an intensity criterion from the existing picture in A only if it is supposed to be aligned to and it is not being run automatically. 10/21/08: Fixed OpenNewMontage so that supplied frame numbers will work. 10/17/08: SEM_2-8-2 10/16/08: When using Eagle camera, shuttering mode is now switched to "Both" for exposures with and without drift settling, and left there. This will change a setting in the Tecnai user interface but saves 1.1 seconds per picture. 10/16/08: Shift to Marker now requires the registration of the marker point to match that of the current point, shifts points at that registration, and shifts points drawn on imported maps but not the imported maps themselves. 10/11/08: Made stage movements stop being rounded to 0.1 micron by default on JEOL's - almost no installations have the property entry to prevent this, and this change makes that entry unnecessary. 10/11/08: Added a property for specifying maximum allowed error on stage position in a stage montage; if set, the program will try 3 times to get to the requested position. 10/11/08: Added a menu item for specifying a minimum count level for each frame of a montage, and a property setting to take a film picture to try to unstick the shutter (!) when it falls below the limit. * 10/6/08: Added checkbox to montage setup to re-enable being asked whether to make a montage a map. Fixed the problem with not being asked to make a map. 10/5/08: When Shift-A is pressed in the Navigator, the title line above the list box is modified to tell the user what to do next. * 10/4/08: Added ability to add a set of points on a regular grid, either with a specified spacing or on a lattice defined by some points, and possibly constrained within a polygon. * 10/3/08: Added ability to define a file that will be opened when a group of points (e.g., a supermontage) is first encountered by the Navigator routine that acquires at points. * 10/2/08: Added ability to import a map for an external source such as a light microscope. Imported items are kept at separate registrations until they are transformed into registration with maps in the EM. Added an "Undo transformation" menu item so that transformation of imported items could be undone. * 10/1/08: Changed the way that registration number is assigned to added points. If an image has a registration, then points clicked on an image are given the registration of that image, not the current registration. * 10/1/08: Navigator now keeps track of and allows operations on groups of items; a group is a set of items that were added in one operation. Supermontage deletion is now done by deleting a group. * 9/28/08: Increased number of macros to 20; added a menu entry to set the number of buttons to appearin the macro toolbar. 9/27/08: Fixed polygon drawing at low zoom so it is not sensitive to small mouse movements. 9/27/08: Made End button work for stopping Navigator acquire after the current item. 9/26/08: Fixed zoom getting stuck at 0.01 using up/down arrows and used 3 decimal places for zoom below 0.1. 9/26/08: Fixed filling of overview image and made it fill with mean of first acquired frame. * 9/26/08: Moved all Navigator montaging and supermontaging menu items into a submenu. * 9/26/08: Added ability to set up a supermontage that fits inside a polygon. * 9/26/08: Added option to focus a stage montage at every frame. 9/6/08: Increased number of tries and released mutex when waiting for stage not ready event. 9/6/08: Fixed problem with control panel state not being updated after a stage montage (introduced sometime after June 23). 9/6/08: Added menu item to delete all items of a supermontage. 8/2x/08: Added calls to enable or disable AMT camera shuttering based on screen state. 7/21/08: Fixed bug that failed to extrapolate from beam calibrations below crossover. 7/21/08: Kept it from blinking "inserting camera" after it finds that camera temperature is not stable. 6/24/08: Made macro processor evaluate image intensity from montage overview instead of center panel which can be missing. * 6/23/08: Added ability to skip montage pieces outside of an arbitrary Navigator polygon item. * 6/23/08: Added Navigator menu item to add a circle polygon of specified radius. 6/22/08: Fixed crash when the header title is more than 45 characters. 6/21/08: When a new montage is opened from a macro, it now inherits most properties of the last montage that was open (especially overlap and stage vs. image shift). * 6/21/08: Added query to supermontage about whether to mark points as Acquire, and added hot keys A, Ctrl-Shift-A, and Shift-A for toggling Acquire state of one, all, or a range of Navigator items. * 6/21/08: Options to close valves will now turn off filament on nonFEG JEOLs. 6/11/08: SEM_2-8-1 6/11/08: Changed style of Navigator window so it can be minimized. 6/11/08: Made ChangeIntensityBy macro change intensity for current low dose area, not Record area. * 6/9/08: Added macro command to move stage to Navigator item. * 6/8/08: Added macro commands for Return and Exit, SetDefocus, and ReportMagIndex. ReportMag and ReportMagIndex will set ReportedValue2 to 1 if in low mag mode. * 6/8/08: Expanded initial error checking of macros to check all macros being called, to check for legal commands and for required number of entries after them, and to prevent some diabolical variable assigments and substitutions. 6/6/08: On JEOL with Tietz camera and shutterbox allowing pre-exposure, made it reset to beam shutter mode to prevent long closing of film shutter. * 6/1/08: Added option to take View area pictures with higher underfocus. Rearranged low dose panel so that most people can close up option section. * 6/1/08: Added option to close valves at end of Navigator acquire at points. * 6/1/08: Macro report commands now define variables RepVal1, etc., as shorthand for ReportedValue1, etc. 6/1/08: Defined RestrictedSizeType 2 to not allow any subareas in camera acquisition. 4/30/08: Changed SubareasAreBad so a value of 2 keeps beam intensity calibration from using subareas completely. 4/1/08: Switched to new method of driving Eagle camera via TEMScripting component to allow control of pre-exposure; program will now work with either TEMScripting or Tecnai instruments. 3/31/08: SEM_2-8-0 * 3/28/08: Added entry to Navigator menu for reading in map items with stock acquisition states from a file separate from the current Navigator file. 3/28/08: Fixed the way a previously read-from image file is put in the file chooser so that it goes to the right directory. 3/26/08: In Windows XP, added a message to title bar of file open dialog to tell user to push Open after changing file filter. * 3/23/08: Added entries in Navigator menu for setting scope and Record parameters to the state used to acquire a map, and for restoring previous state. Rearranged accelerator keys in Navigator menu to make them more useful. * 3/23/08: When Autosave is on in the Navigator menu, it will save a file AUTOSAVEmmddhhmm.nav and remove this when a save file is defined or the program exits. 3/23/08: Added option to tilt series setup to recenter beam on tracking images, requested due to problems with nickel grids. 3/23/08: Added Tasks menu entry for setting the minimum and maximum tilt increment for Walk Up. 3/14/08: Macro run from Navigator Acquire can be suspended and resumed without Navigator going on to next point. 3/14/08: Macro editor now remembers its size and position. * 3/14/08: Added option for drawing one or more circles on a live FFT. 3/14/08: Added hot key Ctrl-B for toggling Low Dose mode 'Blank beam when screen down'. * 3/14/08: Added dialog for running 'Acquire at Points' from Navigator, which allows choice of initial actions before the acquisition and is a common path for making maps or running a macro. * 3/14/08: Added macro commands for opening, closing, and switching between files; reporting the label and position of the current or a given navigator item; realigning to a Navigator item other than the current one; waiting until a given dose accumulates; and calling the beam-centering routine. * 3/14/08: Added ability to start tilt series from a macro, which can in turn be run from Navigator. Added a dialog to set policies for what action to take at certain choice points in a tilt series. 2/24/08: Eliminated unnecessary mode-setting calls when changing mag on JEOL. 2/24/08: Added IF/ELSE/ENDIF and BREAK and CONTINUE statements to macros. 2/23/08: SEM_2-7-8 2/19/08: Modified camera timing calibration to assess and allow for the time it takes to blank beam and tried to make it robust against some JEOL weirdness. 2/19/08: Implemented option to constrain coordinates, not just sizes, to multiple of given number. 2/19/08: Added property to be able to run stage and image shift calibrations with the subarea in the Trial set. * 2/19/08: For a non-square camera, the "A Bit Less" button in camera setup turns into a "Square" button to allow the current area to be trimmed to a square. 2/19/08: Fixed camera area in camera setup dialog for non-square cameras. 2/19/08: Added a property to specify whether to gain normalize in SerialEM for individual cameras and made menu entry set it camera-specific basis. 2/19/08: Fixed resetting of selectable copy buffer to E after a tilt series. * 2/19/08: Added ability to have nested macro calls and loops in macros, to assign to and use variables, to assign reported values to variables, to have a loop index variable, and to do basic arithmetic in an assignment statement. * 2/19/08: Added a macro tool palette with buttons for all macros. 2/11/08: Stopped trusting the events for determining whether a stage movement was done. 1/15/08: Fixed some more problems with events on with image shift occuring from internal mag or image shift changes. 1/15/08: Modified "pole touch" logic when tilt series does not reach the expected angle, and added a "Reset Pole Angle" menu entry to let user recover if they answer the question wrong. 12/27/07: Fixed tooltips for controls inside group boxes by deleting group box and undoing. * 12/27/07: Added property, RotateHeaderAngleBy180, to allow the tilt axis angle output to the file header to be rotated to correct the handedness of reconstructions. * 12/26/07: Added ability to take gain references at up to 4 more binnings, and to control whether DigitalMicrograph or SerialEM references are used for each binning. * 12/26/07: Implemented save and restore of image shift over various transitions on the JEOL and when going into and out of diffraction on the Tecnai with image shift offsets on. This allows going into and out of search mode in low dose without image shift errors. 12/26/07: Improved handling of image shift upon mag changes on the JEOL with events on. * 12/26/07: Added ability to change intensity, spot size, or exposure time for extra Record images. 12/17/07: Fixed quadrant numbering in "QuadrantMeans" macro and made horizontal and vertical strips come all the way to the same corner near middle. 12/20/07: SEM_2-7-7 * 12/20/07: Turned off continuous update when leaving low dose. 12/16/07: Fixed problems with setup of image buffers in the extra stack which caused crash on taking FFT of an image there and hopefully other crashes. Fixed problem with saving image from a secondary window. * 12/15/07: Saved image shift and stage shift calibrations in short term cal. * 12/15/07: Added a property to skip the warning about checking the spot before starting a gain reference. 12/15/07: Added relative gain factors for Eagle camera. 12/11/07: Disabled mouse stage shifting button during mag IS offset cal. 12/11/07: Fixed crash bug when making an image a map in a second nav file. 12/11/07: Added periodic autosave of short-term calibrations independent of other autosaves. 11/29/07: Fixed bug when reading Navigator map with conversion to bytes and X frame size is not a multiple of 4. 11/29/07: Prevented crossover recalibration from shifting C2 values out of range. 11/29/07: Fixed bug in reporting an angle near 180 degrees from stage calibration. * 11/16/07: Added a Reset Defocus button to the microscope panel for JEOL only. 11/16/07: Made it treat stage movement with mouse like a task and prevent other actions like taking a picture. * 11/15/07: Added program information and starting time to log if it open; this can be turned off with 'PrintStartupInfo 0'. 11/15/07: Added property to set lowest mag to be used for tasks in EFTEM mode. 11/15/07: Fixed the way a new mag mode is handled with events on JEOL. * 11/8/07: Fixed handling of Z stage events on JEOL, which were clobbering Y position. 11/2/07: Put in a confirmation message to prevent a user from taking a stage montage with Prescan. 10/26/07: SEM_2-7-6 10/26/07: Fixed usage in ShowWindow statements which made Remove X ray box in camera setup behave weirdly. 10/16/07: Fixed recording of dose from camera shot in cumulative dose meter (broken 5/18/07). 10/15/07: Protected against reading in an image while doing a task or reading a montage. * 10/14/07: Added a property, TotalMemoryLimitMB, to keep program from trying to access memory for montage overviews when it would cause swapping. * 10/8/07: The montage controller will now compose the overview image as bytes instead of integers when a map is being reloaded as bytes. When there is not enough memory for an overview image, it will increase the overview binning until the reduced amount of memory is available. * 10/8/07: Added a memory usage indicator and a Delete button to the Buffer Control Panel to help manage memory. 10/3/07: SEM_2-7-5 * 9/24/07: Changed meaning of Verbose setting in Focus menu to mean that shift and drift are output on every autofocus; stored as a user setting. 9/18/07: Fixed bug when taking a montage in low dose and coming from trial/focus area, fixed similar problem when calibrating image shift. 9/10/07: Prevented Refine ZLP from being screwed up by continuous or unprocessed acquisition parameters. 9/7/07: Fixed updating of image shift on JEOL when using projector for image shift and updating by event. 8/15/07: Support for Eagle and AMT cameras added. 8/14/07: Added test and minimally noxious warning message when the net energy filter offset goes negative on the JEOL. 8/7/07: Fixed problem with fine focus going out of range on JEOL. 7/20/07: Added a check for non-monotonic focus calibration curve. 7/20/07: Fixed camera timing routine when incoming built-in-settling is very small. * 7/20/07: Added property to issue a warning on startup if the voltage is not at a particular value. * 7/20/07: Added ability to force MDS off on program startup with JEOLForceMDSmode -1. 5/23/07: SEM_2-7-4 * 5/18/07: Dose to specimen during camera exposure can now be saved in the extra header. This requires IMOD 3.10.9 to extract correctly (3.10.8 will do it incorrectly). * 5/17/07: Low dose areas can have specific alpha settings on the JEOL. * 5/17/07: Low dose areas (e.g., Search) can now use diffraction mode; diffraction focus is saved and restored on the Tecnai but not the JEOL. 5/16/07: Allowed post-tilt delays to be up to 4 times longer than the previous limit as long as they are reasonable given the user's tilt delay parameter. 5/15/07: Fixed shift in navigator item display on images acquired on JEOL with IS offsets or shifting to tilt axis turned on. 5/15/07: Increased default low mag shift limit to 150. 5/15/07: Made routine to calibrate IS offsets not check for Z stage position changes, since it wobbles on the JEOL. Enabled buffer copying and saving during the routine. 5/15/07: Fixed list mags function on JEOL, which now throws an error when the end of a mag range is reached. 5/15/07: Made verbose selection in tasks menu a retained setting. 5/15/07: Fixed scope status window to show LM or M correctly when the mag doesn't change between the two. * 5/14/07: Camera length is now detected in diffraction mode and displayed in the scope status window. * 5/13/07: Added a menu entry to set limits for full grid map and saved this in user settings. 5/13/07: Reset image shift will now wait for stage ready and returns an error if it is not ready soon. * 5/13/07: Made WalkUp and Walkup and Anchor use the same target angle, and stored this angle as a user setting. Walkup and Anchor now uses and modifies the anchor angle shown in the tilt series setup dialog. 5/11/07: Fixed frame number displayed in buffer status window for montage prescan frames. 5/11/07: Made calibration of mag IS offsets work with projector shifts by allowing calibration of a contiguous block of mags that have IS calibrations. 5/10/07: Made Reverse Tilt use TSMaxTiltError property to determine whether a previous reversal was sufficient to overcome backlash, to avoid two reverse tilts in a row on JEOL. * 4/8/07: Made the Clear Alignment button and the Insert and Delete hot keys work on the main image window even when another window has focus. * 3/29/07: Added macro command to go to a low dose area and mentioned the macro control dialog in the messages given when a macro stops due to a setting there. 3/26/07: SEM_2-7-3 * 3/26/07: Fixed bug reading in beam intensity calibrations that caused the intensity values to be destroyed when the crossover calibration was redone. All prior 2.7 versions should be abandoned due to this bug. 3/22/07: Stopped trying to retract non-retractable cameras for film exposure. 3/21/07: Fixed problem with beam being blanked during film exposure in low dose. 3/20/07: SEM_2-7-2 * 3/18/07: Added a Realign to Item button to Navigator window. * 3/18/07: When the very sloppy montage setting is selected, the overlap zones will be analyzed with real-space correlations that avoid edge artifacts at the shifts corresponding to the 10 highest peaks in the cross-correlation. Montages are now read in from the center outward so that piece alignment in the interior will not be thrown off by errors in the alignment of pieces on the edge. These two changes should make whole-grid montages align better. * 3/18/07: Made montage reading able to be stopped with the STOP button, except when reading in from a tilt series. 3/17/07: Added some lower zoom factors down to 0.05, and made panning work 1:1 with displayed image at zooms below 1, as in 3dmod 2/16/07: Fixed bug in the Realign to Item routine that crashed the program when aligning to a map that had more pieces in Y than in X. 2/10/07: SEM_2-7-1 * 2/10/07: Added a Navigator menu entry to read maps in unbinned regardless of the setting of overview binning in Montage Control; it starts out on by default but is saved as a user setting. 2/7/07: Stage movement calls will wait up to two seconds for stage to be ready instead of giving a stage not ready message, even when called from places where the stage is already supposed to be ready. 2/7/07: Fixed a vulnerability in rough eucentricity routine that led to runaway negative tilts. 2/7/07: Made JEOL calls throw errors the same way that Tecnai calls do; this will give a message box on error, or the message will go to the log if any debugging output flag is on. 2/4/07: Set up a property to govern rough scaling of projector shift during initial calibration on JEOL. 2/1/07: Fixed test for using objective mini lens value in LM on JEOL. 1/31/07: SEM_2-7-0 * 1/23/07: Added a property to set a factor to use when matching pixel sizes between preGIF and GIF cameras, so a difference in binning or a difference in field of view can be accounted for. * 1/23/07: Added Navigator menu entry to shift items by the distance between the current item position and the position of a marker point on an image, which avoids having to set up registration points. There is also a menu entry to undo this. * 1/07: If supermontaging is being set up on a montage overview with aligned pieces, the montage positions can be set up at regularly spaced image positions rather than stage positions, and "Realign and Acquire" then gives maps with fairly reliable amounts of overlap. * 1/07: Added a routine to realign to a Navigator item position by correlation with images in one or two maps. This allows accurate return to a mapped point even if the stage positions have become somewhat inaccurate. Added a macro routine to run this command on the current item or on the item that the macro is currently being run at. * 1/07: Made Navigator transformations work with an inversion (specimen reloaded upside down). Changed criteria so 5 points are required to solve for a linear transformation. * 1/07: Added ability to rotate a map to match its orientation at the current magnification and the current registration. * 1/07: Montaging and image and stage shift calibrations in low mag mode are now done after asserting a standard focus, if one is defined. This is eucentric focus on the Tecnai, but a value needs to measured and set in properties for a JEOL. This is to give a standardized scaling and also to give more reproducible positions by going to a focus where image movement upon beam shift is minimal. * 1/07: When montaging is done with "Align pieces" on, the shifts for the pieces are stored and Navigator can use them to adjust stage positions for points clicked in an aligned image, so point positions will be independent of whether the overview is aligned or not. 1/07: Added a property to control the criterion change in mean counts in the refine ZLP routine. * 12/31/06: When a montage is set up by fitting to a Navigator area, it will offer to make each montage a new map. 12/31/06: Fixed crash when converting a new map to bytes if the primary buffer is a copy from another buffer. 12/31/06: Added partial bad column correction. * 12/30/06: Added beam centering routine that detects beam edges in an image, and added hot keys for set intensity, center beam, and move beam. 12/27/06: It now uses the stage calibration at the nearest mag instead of averaging all stage calibrations; this may give better low mag montages. * 12/26/06: Made stage calibration take multiple steps if necessary to span one stage cycle in each direction, or a multiple of the cycle length for low mags. It now flashes image pairs to let user monitor alignment. It reports a tilt axis rotation angle which seems accurate. 12/26/06: Added macro command to make it easy to assess regular variation in stage movement. * 12/24/06: Added routine to calibrate image offsets between mags, ability to turn on and off adjustments by these offsets, and adjustments for these offsets in Navigator stage coordinates. 12/24/06: It now resets image shift when moving the stage with the mouse. 12/24/06: Added logic to increase image shift delay by an increment per two-fold decrease in pixel size of Record image below 1 nm. Also made delays in general longer or shorter depending on startup time of camera relative to time for Gatan 795. * 12/21/06: Added Navigator menu item for changing registration of the current item. 12/20/06: The autofocus routine will now reject a correlation peak at 0,0 if the second peak is not too much smaller and the resulting defocus estimate is not too much farther from the target defocus than the estimate from the 0,0 peak. * 12/18/06: Added ability to have a separate window showing a stack of binned images during tilt series, either the saved Records or montage overviews. It is enabled through Extra Output dialog. * 12/16/06: Added accelerator keys for opening and reading a file and for the three FFT items. * 12/16/06: Made tilt series setup show a real dose estimate as well as dose at zero and starting tilt. 12/15/06: Made Align To button show actual buffer to align to in low dose when there is an image in A. 12/15/06: Added defocus target to Align & focus panel. Added filename to buffer control panel. * 12/15/06: Added an Acquire button to camera setup, which brings dialog back up after taking a picture. Dialog position is now remembered within a session. 12/15/06: Implemented detection of GIF mode on JEOL and fixed pixel size matching to work when switching between EFTEM and non EFTEM. Prevented double calls to the routine that changes program mode. * 12/15/06: During setup of a montage from Navigator, the montage setup will respond to changes in mag by refitting the montage to the desired area. There is also a new percent overlap control in this mode which also refits to the area when changed. * 12/14/06: Added menu entry for showing cross-correlation of existing autofocus images. 12/13/06: Added a settings file to the MRU when saved with Save As. 12/13/06: Fixed problems with low dose parameters not being cleared when reading a settings file without any. Fixed problems with image shift transfers to/from undefined areas. * 12/13/06: Eliminated imposed scope image shift and shift of displayed image when going between Balance Shifts and Center Unshifted, so you are still looking at the same spot but the IS readout changes. Disabled these buttons unless all areas are defined. 12/13/06: Prevented Shift-right mouse shifting from affecting axis offset when defining an area. Made it display the cross in green when shifting an image of the area being defined. * 12/13/06: Implemented a low dose search area, not tied to camera acquisition, for low mag or fast camera scanning. 12/12/06: Fixed camera timing calibration for Gatan camera with only one shutter, maybe for real this time. * 12/12/06: Added area labels to images in low dose mode. Added a display of the Record area and area being defined, with a circle around the area (or the larger of trial and focus when they are tied). Fixed synchronization of areas when the tie button is turned on. 12/12/06: Fixed labeling of single frame maps that have been converted to bytes in buffer status window. * 12/11/06: Changed binned FFT to have target of 1024 and bin only up to 4. 12/11/06: Beam intensity and spot calibration will now keep track of the calibrated crossover intensity, and when crossover is recalibrated (needed after some alignment steps on Tecnai), these calibrations will be adjusted by the change in crossover position. * 12/10/06: Added ability to run a macro at areas marked "Acquire" in Navigator. * 12/10/06: Macro changes: Added arrow buttons to switch between macros in one editing window, while retaining associations with files. Added a MacroName command; the name will show up in the editing window title bar and in the camera/macro control panel buttons. Added commands to retract cameras, take film pictures, image shift along specimen axes, move stage to absolute position, and open/close column valves. * 12/5/06: Added Live FFT entry in Process menu, to do automatic FFT on any image acquired in continuous mode. 12/5/06: Rewrote code for getting pixel sizes and rotation angles so that values can be derived as much as possible from an absolute calibrated value, using image shift calibrations and relative rotation angles where present. The heirarchy of fallbacks was refined (hopefully improved) and should avoid discontinuities when going from derived to fallback values. 12/4/06: SEM_2-6-3 12/4/06: Fixed rotation put in header to subtract 90 instead of adding it. 12/4/06: Fixed fatal montage bug; abandon 2.6.2 due to screwed up tagging. 11/27/06: SEM_2-6-2 11/27/06: Fixed bug in tilt angles used for fine eucentricity estimate which gave bad estimates for lateral displacement; broke when doing changes for JEOL. * 11/25/06: Made "Autosave log" save automatically to a log file whose name is based on the current tilt series name if no log file is open yet. * 11/24/06: Added ability to maintain separate gain references automatically at specified alternative KV settings (see property SeparateGainReferenceKVs). * 11/23/06: Added an "extra output" dialog to the Tilt Series menu to control two kinds of output to separate image files. 1) All of the trial, focus, and preview images taken by the TS controller can be selected for saving in separate files; 2) After a Record is saved, a focus series or a series of Record images with different filter settings can also be saved to a separate file. 11/22/06: Fixed counting of retries of images too dim in a tilt series and made montaging only retry once. Also, montaging now does not fail from dim images until over half of the frames are too dim. * 11/12/06: Montaging can now be done in low dose mode. * 11/8/06: Added ability to have multiple image files open and switch between them with a spin button in the Buffer Control panel. 11/6/06: Stopped adjusting rotation angles put in header by 180 degrees to be within +/-90 so that polarity can be preserved. * 11/5/06: Added list of most recently used settings files to Settings menu to allow rapid switching between settings. 10/x/06: Tietz pre-exposure now works, at least with Shutterbox II; it is implemented by calling the EMShutter module. 8/28/06: SEM_2-6-1 8/15/06: Changed exposure timing for Tietz camera with new shutter box so it is sum of pre-exposure and desired exposure; it may now work with new shutter box. 8/15/06: Added property to set gain index for Tietz camera. 7/24/06: Added property to set the initial current camera and improved handling of properties and calibrations from inactive cameras. 7/10/06: Do image shift at higher mag when going between low dose areas with different mags to prevent beam shift drift on JEOL. 6/24/06: Fixed timeouts in gain reference maker when dark references are averaged. 6/9/06: Made sure tilt series controller got a correct tilt angle on the first round when it figures out the actual starting angle. 6/5/06: SEM_2-6-0 5/27-6/2/06: The variable specifying that the X axis is inverted was not being initialized, so stage calibrations would fail. Released a 2.5.3a version with this fixed. For JEOL, added property to exit when there is a startup error. Reported error when trying to close gun valve. Made rough eucentricity routine use actual angles and step incrementally from actual starting angle. Provided property to use objective mini lens for focus readout in low mag. Renamed C2 to C3 in low dose panel and other output. Fixed handling of forbidden negative energy shifts in both the mag energy shift calibration and the refine ZLP routines. Implemented a task to tilt and realign that would be applied on the tilt after image shift is reset during walk up or during a tilt series. This should solve the major remaining tracking vulnerabiity on JEOLs. The energy offset adjustment (resulting from Refine ZLP and setting a slit offset on the JEOL) will now be remembered for up to 1 hour between sessions of the program. Added startup message option in properties file. Added property entry to start in Administrative mode. Made properties case insensitive. Turned off low dose continuous update when resuming a tilt series. Added Process menu entry to show cross-correlation from autoalign. Added Calibration menu entry to set debug output string. Separated low dose current area name from parameters so it is no longer grayed out with continuous update off. Changed DM plugin to set film shutter normally open when assrting beam shutter normally closed, to cancel the DM drift settling which can be inherited from the DM Record parameters, and to ignore bogus incoming divide by 2 values on Downing's scope. 5/20-5/26/06: For JEOL, implemented fancier delay for stage access only after a mag change, provided option to use projector instead of image shift, and added a routine to keep out of raneg image shift values from being sent to scope. Added periodic polling for all parameters when updating by event. Changed the spot intensity calibration to save the intensity for each spot size. Used mean instead of min intensity to assign crossover to intensity tables. Stopped trying to adjust focus when resetting image shift in low mag. Substituted LM for X in scope status panel when in low mag. Added standard autoalign filtering to the correlations in image/stage shift calibration. Shifted image shift calibration images so alignment can be checked, but left it to user to set rolling buffers big enough. 5/14/06: For JEOL, initialized small screen variable when scope does not report small screen. Prevented image shift routine from using the value from memeory when updating by event if the value is not yet valid, which should prevent wild image shift resets on program startup. 4/514/06: Made sure camera timing routine selects beam shutter if there is only one shutter. 5/14/06: Subtracted dead time when computing dose for an exposure, made low-dose module call the right routine for getting an effective exposure time. 5/14/06: Added procedure to measure camera dead time. 5/14/06: Added menu entry to list stage calibrations as specimen to stage matrices. 5/14/06: Fixed problem with low dose image shift transition across non-congruent mags. 5/12/06: Shifted stage calibration images to provide visual check on calibration. 5/12/06: Added shutter dead time camera property so that exposures get scaled properly when going to lower mag if there is significant dead time. 5/7/06: Made "pole touch" message angle dependent and made it output to the log also; made it wait and resample the angle in case there is some communication problem. 5/7/06: Fixed problem with listing image shift vectors for low mag and rotated vectors by the scope or calibrated rotation angle, so vector angles really should stay constant. 5/7/06: Made option to remove X-rays appear in camera dialog only if enabled by a camera property or if turned on in any of the parameter sets for that camera. This was done under the assumption that only Ken Downing's camera needs this option. 5/7/06: Fixed reporting of Preview dose at end of tilt series. 5/7/06: Changed routine that provides focus calibration for an uncalibrated mag so that it rotates a calibration using specimen rather than image shift coordinates unless image shift is calibrated at both mags and congruent between the two mags. 5/7/06: Made low dose remember the previous area to show with screen down when starting to define an area, and restore that after turning off define area. 5/7/06: Made low dose assert the filter settings for an omega filter when going to a new area with the screen down. 5/7/06: Modified low dose module to use axis position and specimen coordinates instead of image shift values where appropriate to avoid problems from noncongruent image shifts on the JEOL. 5/1/06: Activated option to close beam valve at end of tilt series for JEOL. 5/1/06: SEM_2-5-3 4/28/06: Added property to set a delay after changing mag in JEOL. 4/27/06: Fixed adjustment for neutral IS value changes in routine that sets mag. 4/26/06: Called ResetDefocus in JEOL startup to make sure the focus has been read before it gets manipulated. 4/25/06: Made reassertion of image shift upon mag change more robust against multiple mag steps. 4/24/06: Added option to remove X rays from selected image types to prevent tracking problems from big X-rays in low dose images. 4/23/06: Added help button to Macro editor window; the macro command list can then be reached by clicking a link. 4/23/06: Added menu entry to reopen and append to an existing log file. 4/23/06: Made stage calibration routine always start with a fallback 1:1 scaling between specimen and stage coordinates instead of averaging existing calibrations, to avoid being thrown off by bad calibrations. 4/23/06: Added menu entry to list the image shift calibration vector lengths and angles, so that the accuracy of the calibrations and the existence of boundaries can be assessed more easily. 4/23/06: Made failed calls to JEOL retry on more types of errors and limited it to 10 retries. 4/5/06: Added property to specify minimum exposure time when exposure time needs to decreased upon going to a lower mag. This applies to tasks and to low mag tracking. 4/5/06: Added trace routine for easy debugging output to Log Window, including from threads. 4/5/06: SEM_2-5-2 4/5/06: Changed registration number of loaded maps after transforming to a new registration. 4/5/06: Set gain of Tietz camera to 1. 4/5/06: Allowed reading of montages with entire rows or columns missing and modified navigator (and .nav file) to be able to draw items correctly on these maps after they are read back in. 4/5/06: Fixed handling of input focus after user enters a number in axis offset field of low dose panel. 3/21/06: Fixed bug in dark X-ray removal for images smaller than 100 pixels in X or Y. 3/20/06: Doubled the thresholds for the montage error reports to avoid bad messages at high tilt when error is ~2. 3/19/06: Fixed very sloppy montage option so it would be applied when reading in from a file. 3/19/06: Added ability to average dark references. 3/19/06: Added menu items to Navigator to define an array of montages either square to the camera axes or square to the specimen axes. 3/16/06: Defined one binning for default camera and added error message when a camera number is used twice. 3/12/06: SEM_2-5-1 3/10/06: Added -fs to the na label on the screen current when SerialEM thinks the focusing screen is in. This happened because of confusion caused by incorrect reports that the screen was in after a reboot. 2/23/06: Stopped scope calls from being issued twice on JEOL. 2/x/06: Added properties to set a simulation mode, to specify that there is no spectrum offset, and to invert the X axis. 2/1/06: Fixed problem of image shift not going back to starting position after the first round in the new calibration from scratch. 1/20/06: SEM_2-5-0 1/17/06: Made tilt series go no farther than 0.25 degree past the defined endpoint. 1/5/06: Disabled intensity zoom during beam calibration. 12/28/05: Added option for stopping after aligning the tracking shot so that position can be adjusted manually and automatically taken as the new reference position (requested by Dalaver Anjum). 12/28/05: Added option to close column valves at end of tilt series (requested by Bryon Donohoe). 12/28/05: Modified camera timing calibration routine to find best startup delay for testing timing automatically, even if the built in settling is set too long, and made it work for Tietz cameras. 12/28/05: Fixed composition of montage overview to avoid crashes when pieces are displaced by very large amounts from nominal positions. Implemented very sloppy montage correlation parameters matching those in Blendmont and added an option to montage control window, which is set when a montage is defined as being done with stage movement. Also shifted overview so that the average offset of the pieces is zero. 12/26/05: For JEOL, added calibration of image shift neutral values, and tracking of image shift values so that it can reassert an appropriate image shift after a mag change. The program should not need to force the scope into MDS mode to preserve image shift during mag changes, and it should work with neutral values other than 8000,8000. 12/26/05: It will try to preserve an actual image shift when mag changes across a boundary (other than LM-M) where image shifts are non-congruent. 12/26/05: Made first round of image shift calibration from scratch use only 4 pictures and made it avoid using any information from existing image shift calibrations. After an image shift calibration, it will now offer to change all calibrations in the same mag range even when not in administrator mode. 12/26/05: Added ability to have multiple beam shift calibrations. This is needed for low mag versus mag mode, but also there can be one calibration per mag range defined by the image shift boundaries. 12/26/05: Implemented ability to specify boundaries where image shift behaves discontinuously, in addition to the low mag - mag mode boundary. Image shift calibrations will not be transferred across these boundaries. Beam shift calibration is not assumed to be the same across boundaries but is computed via specimen coordinates. 12/26/05: Fixed bug in reading stage limits for whole grid montaging. 12/24/05: Beam intensity calibration now normalizes the spot intensity. 12/20/05: Added calibration of relative spot size intensities so that dose only needs to be calibrated at one spot size. Dose calibration is now stored in a new short-term calibration file instead of the user's settings file. 12/20/05: Added a cumulative dose meter, opened with a tiny button on the microscope setting panel. It keeps track of all pictures (except trial/focus in low dose) and of dose while the screen is down. 12/20/05: Dose will now be automatically calibrated for a spot size when a gain reference is taken. There is a new option to normalize the spot before starting, which is needed to get an accurate calibration with spot 1 on the F20, at least. 12/20/05: Converted X and Y piece coordinates to unsigned shorts so they can be bigger that 32767. 12/20/05: Added ability to read and write unsigned 16-bit integer files (file mode 6). The option to write in this mode will appear in the file properties dialog when there is a 16-bit camera with divide by 2 off, or when there is an unsigned image in the buffers. The menu option for changing the 16-bit policy will be enabled under the same conditions. There is also a new menu option for controlling how signed integer data are written to an unsigned file. 12/19/05: Added a camera property to specify when taking a subarea image will make the next picture of the full area bad; this is used when taking again reference. 12/19/05: Added a camera property to specify when there is only one shutter so that the camera setup dialog will disable shuttering options. 12/19/05: Added confirmation message box for the Copy to V-F-T-R buttons in low dose. 12/19/05: Made it possible to run a GIF on a JEOL scope, assuming that the user changes to an EFTEM-like lens mode by hand. 9/2/05: Added a button to set trim fraction for autoalign. 7/26/05: SEM_2-4-5 7/26/05: Fixed error messages for errors writing to file. 7/26/05: Made DM plugin affect only the 3 corrections for defect, bias, and linearization; in DM 3.9.3 it seemed to turn on an overscan mode otherwise. 7/21/05: Fixed handling of Tietz cameras as 16-bit and implemented division by two if selected. Fixed handling of shuttering so that drift settling is available only if the hardware pre-exposure is available. Converted the JEOL beam shift calibration parameter to a property. Converted the properties for specifying a minimum mag index for beam calibration and mag energy shift calibration to specifications of minimum field size, with defaults of 8. 5/29/05: Fixed List Mags routine for JEOL with update by event enabled. 5/24/05: SEM_2-4-4 5/23/05: Added hysteresis correction for low-dose mode by passing through View intensity/spot size when changing between other areas. Added independent beam offsets for each low dose area. 5/19/05: Fixed bug in setting new binning for image shift calibration. 5/18/05: Changed the way the JEOL class ID is specified. 5/11/05: SEM_2-4-3 4/25/05: Caught memory exceptions when starting montage, during image acquisitions, and when creating pixmap, which should eliminate some crashes when running out of memory making and using big maps. 4/25/05: Fixed crashing when user pressed close button second time while dialog was up asking to save log/settings/etc. 3/18/05: SEM_2-4-2 3/18/05: Prevented stop signal from aborting the next image acquisition. 3/18/05: Fixed problem in computation of tilt axis offset, which was only correct when already eucentric and with image shift at zero. 2/7/05: Made new beam calibration procedure change mag when beam gets spread enough to do so safely, thus avoiding highly spread, unrealistic beam settings. 1/13/05: SEM_2-4-1 12/22/04: Implemented new beam calibration procedure that uses CCD camera instead of screen meter since the screen meter was hopeless on the JEOL; this works better anyway. 12/17/04: Changes for JEOL: added a fix for bad font and dialog sizes when the display is not at 120 DPI; implemented structure to update scope variables using events from the JEOL COM object; eliminated all calls to the scope from the regular update function so that it can be called frequently; turned on MDS photo mode upon program startup and checked for it when doing tasks; added an easy way to set an energy offset for aligning the slit so that offsets can be adjusted both positive and negative. This is in addition to minor bug fixes required when testing the program at Berkeley. 12/16/04: Fixed 4 GB file size limit. 11/12/04: Fixed mirroring of FFT (off by one pixel); made it remember to shift montage pieces in overview in settings. 10/13/04: Increased timeouts for fine eucentricity, reduced maximum increase in basic tilt delay to a factor of 2, and added a button to specify autoalign to buffer B instead of having this depend on Copy on Save. 10/6/04: SEM_2-4-0 10/3/04: Added an option to stop tilt series if alignment shift is large. 10/2/04: Reduced memory usage of maps by 2/3 by converting to bytes and making them the same size as the pixmap needed for display. Removed unneeded pixmap in destination buffer when copying an image to a buffer, so that memory can be fully reclaimed by copying images over big maps. 10/1/04: Added a four-port readout camera property, and made binning offsets be set automatically for 4-port readout. Fixed bug in getting gain reference from DM for binnings 3 and 6 with 4-port readout camera. Took binning offset properly into account when removing X-rays from dark reference. 9/17/04: Fixed bug to keep periodic refine ZLP from stopping tilt series. 9/15/04: Fixed bug to get periodic refine ZLP during tilt series working. 9/14/04: Fixed bug in which setting camera in tilt series setup dialog had no effect. 9/11/04: Added option to run reset image shift and realign with the trial parameter set in Low dose mode, and menu entry to set the minimum shift for reiterating this procedure. 9/11/04: Fixed bug in which Refine ZLP routine replaced camera binning of 2 with 8. Also made camera setup dialog pick nearest binning when no binning in the camera parameters matches the binning in the parameter set. 9/11/04: Merged JEOL changes; fixed bug in this version that caused a lens normalization delay before every shot in Low Dose mode. 9/10/04: SEM_2-3-5 9/9/04: Conditionally switched to using underlying file dialog directly from a thread; this fixes the problem of the MFC file dialog hanging on some systems (ones with IE6?). 9/8/04: Allowed the refine zero loss peak to work from an initial offset if it is small. 9/7/04: SEM_2-3-4 9/7/04: Allowed buffers with maps to have independent zooms. 9/6/04: Added routine to refine alignment of zero-loss peak that works even with very small zero-loss peaks, and added capability to run routine periodically during tilt series. Also fixed a bug that led to display of wrong net offset value. 9/5/04: Kept TSC from insisting that Record size equal file size if montaging. 9/5/04: Fixed bug in which camera setup dialog was accessing wrong camera's binning array. 9/3/04: Kept TSC from asking whether to close a file with data and open a new file if it was a montage. 9/3/04: Fixed problem with insufficient image intensity not being detected for montaging; now only processed images are excluded from the spot mean function. 9/3/04: Fixed problem with electron dose estimate in camera setup dialog not being based on master low dose parameters. 9/2/04: Fixed problem with setting exposure in camera timing test. 8/30/04: Initialized stage montage variable based on low versus regular mag when starting montage normally; made TSC set the mag for a montage based on montage parameter mag, allow it to be changed if not used yet, and sync a mag change back into montage parameters. 8/26/04: SEM_2-3-3 8/26/04: Changed default camera parameter setup to work better with different sized cameras so camera parameters can be omitted from distributed settings file. Fiddled installation instructions. 8/25/04: SEM_2-3-2 8/25/04: Fixed problem with calibration file being saved to wrong place if system path is relative and an image file is saved first to another location. 8/24/05: Fixed tapering over bad rows and columns to taper to a local mean instead of the mean of the whole edge. 8/13/05: Implemented changes to deal with 16-bit camera, principally division by 2 in the plugin as a user selectable option. This allows negative numbers to be retained for low-exposure images in case the dark reference wanders. Made plugin detect flipping about vertical axis and flip a DM gain reference before passing it to SerialEM. 8/3/04: Fixed plugin to open the other shutter for extra pre-exposure, not just shutter 1. 7/20/04: Prevented selections of zero camera area. 6/11/04: Fixed a bug that crashed if tried to acquire areas in Navigator with no file open. 6/6/04: Added ability to set tilt axis offset, using value from last refine eucentricity run if desired. 5/7/04: Fixed bugs allowing read buffer to go past maximum buffer directly or when going into low dose mode. 5/3/04: SEM_2-3-1 4/5/04: Fixed crash when trying to save FFT with intensity saving selected. 4/4/04: Added transforming of map, ability to display points from other registrations, and report of registration number for all items. Added codes for prescan overview and center images, in order to prevent Navigator from making a map from a prescan. 3/21/0/4: SEM_2-3-0 Implemented ability to read a montage from "Other file", even if the currently open file is a montage. Made selectable binnings for the prescan and for the overview image, so that either can be viewed at any desired resolution up to that of the Record images. Implemented option to shift pieces into register when building an overview image. Added ability to do montage with stage movement instead of image shift. Added ability to skip pieces in a montage. Montages with stage movement will exclude pieces outside the stage range. Montages set up by Navigator will skip pieces not needed to capture the desired area. Fixed mouse shifting code to allow shifting of montage overview and added ability to shift an anchor image too. Changed image shift calibration to allow calibration of image shift in LM mode and to reduce the delays when calibrating the lowest M mode mags. Reduced image shift time delays in general for lower M mode mags. Prevented the transfer of image shift calibrations across the LM-M boundary and fixed the transfer of calibrations to estimate rotation angle from the known angle at another mag and the difference between Tecnai rotations at the two mags, instead of relying on Tecnai rotation itself. Implemented calibration of stage shift. Improved the treatment of limits for image shift in calibrating and actually using image shift; added properties MaxCalibrationImageShift and MaxLMCalibrationImageShift. Fiddled with idle time processing to prevent settling time delays from being extended and to sneak a processing cycle more often. Reduced boilerplate code for doing tasks by passing a task ID to the idle time processor. Created a new module for menu targets and moved code out of other modules. Fixed the conversion of Tecnai intensity to C2 values and provided a calibration routine to determine and save the conversion factor and an offset for each spot size. Intensity calibrations can now be saved for both sides of crossover, and there is a new calibration procedure to inform the program of crossover at each spot size. Added ability to save intensities in the extended header so that they can be used to correct for magnification gradients in tilted images (flag to make this the default is 16 in FileOptionsExtraFlags). Added a camera property, CountsPerElectron, a dose calibration procedure, reporting of dose in the low dose control panel and the camera setup dialog dialog, and summary of dose for a tilt series. The new Navigator window allows one to save and return to stage locations, set up montages to capture defined areas, build maps of large areas of a grid, go to selected locations on a map, acquire medium-scale maps from a series of locations automatically, and transform locations after moving the grid in the holder. Added a menu entry to do walkup and leave an anchor in buffer P. Made walkup able to lower the mag so that it is always reliable. Added two alignment steps to protect against drift at start of tilt series: an alignment to the image in buffer A when starting at zero tilt, and an alignment to the last image of a walkup. Activated automatic trimming of dark borders from images for autoalignment when doing low mag tasks, and added option to trim borders always, not just in low dose mode. Added property TiltAxisOffset to specify the lateral offset of the tilt axis and an option to center image shift on the tilt axis. Made the GIF slit get opened to a minimum width when doing low mag tasks to avoid shadows from slit in these tasks; added properties MinLowMagSlitWidth and SlitWideningSafetyFactor to indicate the minimum slit size and the extra amount to lower intensity when opening the slit to the minimum. When doing tilt series in low dose mode or with lower mag tracking, the low mag or tracking reference will now be shifted by the same amount as the Record image is off, eliminating the need to take a new reference because of reference conflicts. Made the tilt series setup dialog smarter about whether the series is starting at zero or at high tilt, reorganized the starting actions into one box, and made them be enabled only when relevant. Added an inverse power to the cosine intensity scaling during a tilt series, so that the variation in intensity could be moderated. Added relative dose summary information to the tilt series startup, which is particularly useful when doing cosine tilts and/or cosine intensity changes. Added more options for controlling intensity: an option to say that intensity is all set for high tilt and should not be increased above the current value; and an option to increase the intensity by the cosine factor before starting. Added a module to acquire pairs of overlapping images at zero image shift by moving the stage, used for solving for distortion field. Added an absolute threshold in microns for doing stage instead of image shift with right mouse button. Changed the intensity checking during tilt series to use a central spot, and gave the user an option to reset the criterion if it still fails on a good image. In properties files, need to change TSBadShotCrit to 0.2 and TSBadLowMagCrit to 0.1. 1/2/04: Added check for unsaved calibrations on exit when in administrator mode. 1/12/04: Made beam intensity calibration wipe out tables at all mags for a given spot size. 1/11/04: Added buttons for shifting and recentering area to camera setup dialog, and an output for binned size. Also made autofocus compensate for the location of an off-denter focusing box and report and set focus at the center of the field. 11/22/03: SEM-2-2-4 For Tietz camera, implemented an offset for binned pictures so that the unbinned gain reference would work for binned pictures. Modified plugin to convert 32-bit signed images from 16-bit camera to 16-bit unsigned by truncating at 0. 11/13/03: SEM-2-2-3 Fixed problem with camera parameters not getting copied to working set when reading in a settings file. Fixed problems with megabyte output to logbook. Fixed logic in display image shift so mouse shifting will only work on buffer A or an autoalign buffer. Made autoalign shift montage overview along with montage center, and leave the overview displayed if appropriate. Fixed problem with the mapping between maximum error and report for montaging. Fixed undefined camera pointer when reading in a montaged image. Fixed logic for dealing with locked Tietz camera and names of file mapping areas. 10/14/03: SEM_2-2-2 Added workaround to DM 3.7.1.5 problem, by having SerialEM send a negative shutter index to the plugin to keep it from trying to set shutter index. This version must be distributed with corresponding plugin version. Made the idle-time processor check for long intervals since the last idle time call and add these to any timeouts that are set, preventing timeouts if the computer goes out to lunch or if user opens a menu. Added LogBook output Set timeout even longer for Records in tilt series because the TS controller doesn't know when camera controller will take a new dark reference due to age. Added ability to drive Tietz cameras SEM_2-2-1 tagged before adding Tietz Camera capability Improved timeout settings for image capture from TSC so that a >2K camera would be given extra time, and a Record capture that is getting a dark reference would be given double the time. Fixed a bug in the new code for getting a track image just before a new low mag reference, which caused a crash with divide by 0. SEM_2-2-0 released