imodenv(1) General Commands Manual imodenv(1)
NAME
Description of IMOD environment variables
DESCRIPTION
This page describes all of the environment variables that can be set
for use with IMOD programs.
User-level variables
3DMOD_MEMORY_LIMIT
Set this variable with the maximum memory that 3dmod is allowed
to use for images; it will limit the image cache to this size
and use it for single image files bigger than this size. The
value can be either in megabytes or a fraction (between 0.1 and
1) of the physical memory (in a 64-bit system) or the
addressable memory (in a 32-bit system). The default is 0.75.
ANALYZEDM3_DEBUG
Set this variable (no value needed) to get debugging output from
the function that analyzes DigitalMicrograph dm3 or dm4 files
for header data.
AUTODOC_DIR
Alternative directory to search for an autodoc file when a
program uses PIP for input.
CTFPLOT_BOTTOM_SCALE
This variable fixes several problems when trying to get good
screenshots of the Ctfplotter graph window, especially on a
high-DPI monitor in conjunction with QT_SCALE_FACTOR set to 1.
Set the variable to the amount to scale the scaling and vertical
text extent sizes in the region below the X axis. When this
scaling is not 1.0, the program will also omit the "Alternate
colors" checkbox and draw the curves with double line thickness.
ETOMO_LOG_DIR
Directory into which Etomo will place error log files named by
date and time, instead of into $HOME/.etomologs. Set this to a
non-existent name (e.g., stuffAndNonsense) to have sequentially
numbered error logs kept in the directory from which Etomo was
started.
ETOMO_LOGS_TO_RETAIN
Set this to the number of log files named by date and time to
retain in the directory where they are kept. The default is 31
if this variable is not set.
ETOMO_MEM_LIM
Memory limit for running Etomo. Define this as a number of
megabytes followed by the letter "m". The default of 512m is
set in the etomo startup script. Larger values will allow
larger final alignment logs to be displayed.
ETOMO_NAMING_STYLE
The naming style when starting a project in Etomo: 0 for old-
style with descriptive extensions, 1 for extension ".mrc", or 2
for extension ".hdf". The --namingstyle option to Etomo
overrides this variable setting. Note that without this
variable set, setting IMOD_OUTPUT_FORMAT to MRC or HDF will make
Etomo assume naming style 1 or 2, respectively, but setting this
ETOMO_NAMING_STYLE overrides this effect of IMOD_OUTPUT_FORMAT
on the naming style.
ETOMO_THREAD_LIM
Thread limit for running Etomo. Define this to set a number for
the thread limits set by these options: -XX:ConcGCThreads,
-XX:ParallelGCThreads, and (for Java version 1.8 build 191 or
higher) -XX:ActiveProcessorCount. The default is the minimum of
16 and the number of logical processors on the system (i.e.,
including hypercores). These limits are intended to prevent
very large numbers of threads from being used by Java on
machines with large numbers of cores.
FINDWARP_LEGACY_RATIOS
Set to 1 to force Findwarp to use an older method of
computing the ratio of measurements to unknown values even for
new data, or -1 to make it use the newer method even with older
data.
IGNORE_BAD_EER_ENDING
Set to 1 to ignore the final pixel position being more than one
past the end of the image when reading an EER file, or 0 to give
an error as usual, overriding the flag that the calling program
might have set to ignore the error.
IMOD_ALL_BIG_TIFF
Set to 1 to make all new TIFF files be opened in the newer
format that allows files bigger than 4 GB, even when it is not
known at the time of opening that the file will be large.
Currently only Mrc2tif and Newstack will write a multi-
image TIFF file bigger than 4 GB in the correct format. This
variable would need to be set to get other other programs to
write large TIFF files correctly. However, with it set, smaller
TIFF files written by those programs (except 3dmod snapshots)
will be unreadable by other software that does not read large
files.
IMOD_AUTOSAVE
Interval at which 3dmod should autosave the model, in minutes
(superceded by setting in 3dmod preferences).
IMOD_AUTOSAVE_DIR
Directory into which 3dmod should autosave the model (superceded
by setting in 3dmod preferences).
IMOD_BRIEF_HEADER
If this variable is set (no value needed), all Fortran programs
except header will output a brief header with the dimensions,
pixel size, mode, minimum, maximum, and mean value, and the
first and last title. If it is set to a value greater than 1,
the blank line at the end will also be omitted.
IMOD_CALIB_DIR
Directory in which IMOD-related information can live, unaffected
by upgrading the main IMOD directory. Set by startup scripts to
/usr/local/ImodCalib.
IMOD_DIR
The path to the top IMOD directory; set by startup scripts, or
can be set before startup script is run.
IMOD_DUMP_FSCACHE
Makes 3dmod tell the system to dismiss the file system cache
while loading a file on Linux. This behavior was originally the
default because, on early 64-bit systems with files bigger than
about half of the system memory capacity, the system would swap
out data within 3dmod while loading. This bad system behavior
was no longer observed in testing on FC4, RHEL4 and RHEL5. Set
this variable (no value needed) for working on systems that show
this problem or to clear the cache in order to experiment with
file access times.
IMOD_FORCE_OMP_THREADS
Sets the number of threads for operations in IMOD parallelized
with OpenMP. Almost all such operations set an optimal thread
number based on the size of the computation (e.g., image size),
to avoid inefficient use of resources. They then call the
library function numOMPthreads, which limits this number both by
the number of physical cores and by a value set by the
environment variable OMP_NUM_THREADS. If IMOD_FORCE_OMP_THREADS
is set, it overrides all of these limits and sets the thread
number directly. Set it to a specific number, to ALL_CORES for
the number of physical cores, or to ALL_HYPER for the number of
logical cores with hyperthreading, if any. Some routines have
arrays of fixed sizes used for threads; these will still use no
more than 16 threads.
IMOD_HDF_COMPRESSION
Sets the index for ZIP compression when writing to an HDF file.
Compression values can range from 1 (fastest, least compressed)
to 9 (slowest, most compressed). A value set by this variable
is overridden by an explicit entry to a program that provides an
option for setting this compression level (e.g., the
-compression option Newstack, or the -quality option to
Makepyramid).
IMOD_IGNORE_MRC_INVERTED
This variable can prevent reading in MRC files inverted; set it
to the sum of 1 to prevent inversion of FEI files recognized as
inverted, and 2 to prevent inversion if the "mapr" header value
is -2.
IMOD_JAVADIR
Location of Java to be used to run Etomo; $IMOD_JAVADIR/bin is
put on the front of the path in the etomo startup script.
IMOD_JPEG_QUALITY
Sets the quality level for JPEG output from programs other than
Mrc2tif and 3dmod; values between 25 and 100 are meaningful.
IMOD_JPEG_RESOLUTION
Sets the resolution in dots per inch stored in JPEG files
produced by programs other than Mrc2tif and 3dmod. This is
limited to a 16-bit integer (65535) and cannot encode pixel
sizes below 400 nm.
IMOD_M1_CURSOR_FIX
If this variable is set (no value needed), it activates the fix
for cursor problems originally present on the M1 Mac. The
problem seems to have been solved in OS 11.5, so the fix is not
used by default.
IMOD_PHYSICAL_MEMORY
Set this variable to the number of megabytes of memory that
should be assumed by the function that programs used to
determine the amount of system memory. The value must be at
least 10. The output of the function can be seen by running
"imodqtassist -t".
IMOD_NO_IMAGE_BACKUP
If this variable is set (no value needed), virtually all
programs that create image files will no longer back up an
existing file by adding ~ to the name. Instead, they will
overwrite the file.
IMOD_OUTPUT_FORMAT
Sets the default file format for new files created by virtually
all IMOD programs. Possible settings are MRC, HDF, TIFF (or
TIF), and JPEG (or JPG). TIFF and JPEG output will work only
for programs that output data as whole images instead of in
chunks; JPEG output must be byte or RGB mode and will only work
when writing a single section to the output file.
IMOD_PLUGIN_DIR
Main directory for IMOD plugins; set by startup scripts to be
inside IMOD.
IMOD_PERMISSION_ERROR_OK
Set to any value to prevent warnings or errors from setting
permissions in b3dcopy and Vmstopy when they are run with
their respective -p options.
IMOD_PROCESSORS
Number of processors in the computer; used by Slicer and
Isosurface to limit how many threads to run in parallel, and
also used to create a parallel processing table in Etomo when
cpu.adoc is not found. Slicer and Isosurface, like all other
threaded processing in IMOD, are also limited to the number of
physical cores in the computer and the setting of
OMP_NUM_THREADS.
IMOD_PS_FONT
Name of a font (instead of Helvetica) to use in the Postscript
output from various graphics programs; Arial is good for going
to Illustrator.
IMOD_QTSCALE_MIN_DPI
Minimum DPI for 3dmod, Midas, and Ctfplotter to scale fonts and
spacings on Linux by physical DPI divided by 96. The default
value is 120 when this variable is not set.
IMOD_QUEUE_INIT_WAIT
Wait time in seconds after running the command to initialize a
queue in Processchunks. The value must be -1 for an
indefinite wait, or a positive value up to 2000000.
IMOD_QTLIBDIR
Directory in which IMOD's copy of Qt lives, if any. Set by IMOD
startup scripts.
IMOD_READ_EER_ANTIALIASED
Use antialiasing when reading from an EER file with super-
resolution 0 or 1. Set to 1 to use the Lanczos 2 filter
function or 2 to use the Mitchell function.
IMOD_READ_EER_SUPER_RES
Amount of super-resolution to retain when reading from a file
with the EER format. Set to 0 for no super-resolution, 1 for
2x2 subpixel resolution, or 2 for 4x4, or to a negative value of
-1 to -3 for further reduction by 2, 4 or 8. This setting
affects all programs that do not have options to manage the
resolution themselves (currently 3dmod, Clip, and
Alignframes).
IMOD_DFLT_EER_SUPER_RES
Default amount of super-resolution to retain when reading an EER
file, for programs that do have an option to set this parameter
(currently 3dmod, Clip, and Alignframes). In 3dmod,
the variable will override both the program's default and a
preference set in the Options dialog.
IMOD_READ_EER_Z_SUMMING
Number of frames to sum when reading from a file with the EER
format, or the negative of the number of summed frames to read.
When a positive summing value does not evenly divide the total
number of frames, the specified frame summing is the maximum
summing that will occur, and the frames will be distributed as
evenly as possible, with the summing lower by 1 at the beginning
of the stack. This setting affects all programs that do not
have options to manage the resolution themselves (currently
3dmod, Clip, and Alignframes).
IMOD_DFLT_EER_Z_SUMMING
Number of frames to sum when reading from a file with the EER
format, or the negative of the number of summed frames to read,
for programs that do have an option to set this parameter
(currently 3dmod, Clip, and Alignframes). In 3dmod,
the variable will override both the program's default and a
preference set in the Options dialog.
IMOD_STEREO_COMMAND
When using obsolete hardware stereo, system command for
switching the monitor to display left and right buffers in
overlapping fashion.
IMOD_STEREO_RESTORE
System command for switching the monitor back to normal mode.
IMOD_STEREO_TBOFFSET
Default value of vertical offset when using top/bottom stereo
display.
IMOD_TIFF_COMPRESSION
Sets the type of compression for TIFF files output by programs
other than Mrc2tif. Must be set to an integer value: 1 for
none, 5 for LZW, 7 for JPEG, 8 for ZIP, or other values listed
in the Mrc2tif manpage.
IMOD_TIFF_QUALITY
Sets the quality level for TIFF compressed files output by
programs other than Mrc2tif. Values should be between 1 and 9
for ZIP compression and between 25 and 100 for JPEG compression.
IMOD_TIFF_RESOL_PER_INCH
Set this variable to any value to have the pixel size stored in
a TIFF file as dots per inch instead of dots per cm, as they
were prior to IMOD 4.11. This does not apply to 3dmod
snapshots, which are always saved with dots per inch.
IMOD_NO_TIFF_MEM_MAP
Set this variable to any value to disable memory mapping when
reading TIFF files, which can greatly increase the memory usage
for large files.
IMOD_TMPDIR
Path for temporary directory used by scripts. On Windows, this
can be in Cygwin or Windows format, with forward or back
slashes.
IMOD_USE_GPU
IMOD_USE_GPU2
These variables will tell the Tilt and Ctfphaseflip programs to
use the GPU on a CUDA-capable NVIDIA graphics card. Set the
variable to 0 to use the best available GPU, or to a positive
number to specify the GPU to use. If there is only one GPU, 0
and 1 have the same effect. The setting with IMOD_USE_GPU is
overridden by the UseGPU entry to the program, if any, while a
setting with IMOD_USE_GPU2 overrides the UseGPU entry.
IMOD_WRITE_FLOATS_16BIT
This variable sets the default for whether floating point MRC
output files are written as mode 2 (32-bit) or mode 12 (16-bit).
When it is set to non-zero, the default is for floating point
files to be written in mode 12. Otherwise, the default is to
write them as mode 2, even when the input file is mode 12. The
variable setting will be overridden by an option entry in any
program that has an option to set the output mode.
INVERT_MRC_ORIGIN
This variable can be used to override the default setting for
whether origin values are written to an MRC file with the
internal IMOD convention, in which subareas have more negative
origin values, or with an inverted sign that corresponds to the
MRC standard. Set the variable to 1 to have origins written
with the MRC standard sign, or 0 to have them written with the
internal IMOD sign. The default was changed in IMOD 4.10.44 to
write with the MRC standard sign.
MIDAS_BIN_TO_TARGET
Set this variable to a desired size to have Midas set the
image binning to the value that makes the binned size closest to
the specified size. The geometric mean of the sizes in X and Y
is used for the image size. For example, a value of 1200 makes
it set the binning to 2 for images of 1600 to 2800 pixels, 3 for
images of 2800 to 4110 pixels, etc. Entering a specific binning
with the -B option will override this automatically selected
binning.
MIN_BRIDGE_CONNECT_NUM
This variable sets a minimum value for connection point numbers
that will be used to define the place where two contours on the
same plane should be bridged in order to mesh with a single
contour on an adjacent section. If the connection point numbers
for bridging are set to this minimum or higher, and other
connection point numbers are lower, then those other connection
points will not be mistakenly used for defining bridge
locations.
MODEL2POINT_INTEGERS
Set this variable to any value to make Model2point output
integers by default, its behavior before IMOD 4.10.35.
MULTI_PROC_CPU_LIST
This variable is used by Processchunk(1) when running multi-
processor jobs to tell the jobs what the current CPU machine
list is.
MULTI_PROC_GPU_POOL
This variable is used by Processchunk(1) when running multi-
processor jobs to tell the jobs what the current pool of
allocatable GPUs is.
MULTI_PROC_THREAD_LIMIT
This variable is used by Processchunk(1) when running multi-
processor jobs to tell the jobs what the current thread limit
is.
MULTI_PROC_QUEUE_COMMAND
This variable is used by Processchunk(1) when running multi-
processor jobs to provide a command for the jobs to run tasks on
a cluster queue.
MULTI_PROC_MAX_QUEUE_JOBS
This variable is used by Processchunk(1) when running multi-
processor jobs to tell the jobs how many tasks should be
submitted together to the cluster queue.
MULTI_PROC_JOB_CORES
This variable is used by Processchunk(1) when running multi-
processor jobs on a queue to tell the jobs how many cores are
available to each job; in this case, MULTI_PROC_QUEUE_COMMAND
is not set.
MULTI_PROC_JOB_GPUS
This variable is used by Processchunk(1) when running multi-
processor jobs to tell the jobs how many GPUs are directly
available to each job.
MULTI_PROC_GPU_QUEUE
This variable is used by Processchunk(1) when running multi-
processor jobs to provide a secondary queue that can be used for
GPU operations.
MULTI_PROC_MAX_GPU_JOBS
This variable is used by Processchunk(1) when running multi-
processor jobs to tell the jobs the maximum number of tasks
should be submitted together on the secondary queue.
PARALLEL_BOUNDARY_SIZE
Set this variable with the default number of pixels to use for
the boundary region when writing in parallel to an MRC file.
This value will override the built-in default of 2048 provided
that it is greater than that default; options to Splittilt,
Sirtsetup(10), Splitcorrection, and Splitblend for setting
the size of the boundary region will in turn override this
value.
PARALLEL_HDF_BUF_SIZE
Set this variable with the number of megabytes to allocate for
buffering data when writing to an HDF file in parallel from
multiple processes. The default is 20.
PIP_PRINT_ENTRIES
Set this variable to 1 to enable printing of all options entered
into a program using PIP input or 0 to disable it. The variable
is automatically set to 1 when running programs through command
files (i.e., vmstocsh and vmstopy both add lines to their output
to set the variable to 1). Thus, if you leave the variable
unset in your environment, entries will be printed in programs
run through "subm" but not when programs are run at the command
line. If you want the output when running at the command line,
set the variable to 1 in your environment. To avoid this output
when running a command file, add a line
$setenv PIP_PRINT_ENTRIES 0
at the beginning of the file.
PLAX_REDRAWS
If there is trouble with the "plax" window used by Fortran
graphics programs not updating properly, set this variable to
the number of times for it be drawn (try 2 or 3). These
programs include nda, sda, mtk, genhstplt, mtoverlap, mtpairing,
avgstatplot, and filterplot.
QT_SCALE_FACTOR
Can be set on Linux to override the high-DPI scaling determined
by 3dmod, Midas, and Ctfplotter on program startup.
RAPTOR_BIN
Directory where alternative RAPTOR executables are located;
leave this undefined to run the executables in IMOD.
READ_MODE0_SIGNED
Set this variable non-zero to override the default for whether
an MRC file in mode 0 should be read as signed or unsigned
bytes. Potential values are:
-2 to read all mode 0 files as unsigned, even ones with an
IMOD stamp
-1 to read mode 0 files lacking an IMOD stamp as unsigned
1 to read mode 0 files lacking an IMOD stamp as signed
2 to read all mode 0 files as signed, even ones with an
IMOD stamp
The values of -1 and 1 could be useful if a file header has
incorrect entries for the minimum and maximum. Values of -2 or
2 would be needed if other software changed the representation
of bytes in a file without modifying the IMOD stamp and flag
values.
RUNCMD_VERBOSE
Set this variable to 1 to have the runcmd function called by
Python programs print each command, input to the command, and
the output of the command unless the output was already printed
on standard out.
SKIP_PHYSICAL_DPI
Set this variable to a nonzero value to prevent the wrapper
scripts for Qt-based programs from trying to run imodqtassist to
get the physical DPI. This must be set to run Ctfplotter
automatically in Linux when there is no display.
SUBM_LOG_TYPE
Set this variable to a positive value up to 4 to have subm
(submfg) produce sequentially numbered log files with the given
number of digits, or to -1 to -3 to have a date-time stamp
attached the log file name.
SUBM_MESSAGE
Set this variable to an alternative message to be used when subm
(submfg) completes execution of a command file.
TIFF_RES_PIXEL_LIMIT
This variable sets an upper limit on the pixel size, in microns,
that is set when reading a TIFF file that has resolution tags in
it. This setting affects whether tif2mrc automatically puts
a pixel size from the TIFF input into the output file, and
whether 3dmod thinks that a read-in TIFF file has a pixel
size other than 1. The default value is 3.0 microns.
TIFF_STRING_TAG_TO_PRINT
This variable specifies the number of a tag for a field in a
TIFF file containing a string. When a TIFF file is opened, the
string will be printed if the field exists.
TIFF_WRITE_THREAD_LIMIT
This variable sets an upper limit on the number of threads used
when writing a TIFF file with compression in parallel. Only a
positive value has any effect.
TILECACHE_LIMIT_MB
The variable sets the default limit on the size of the
tile/strip cache in 3dmod when an image pyramid is displayed
and the cache size is not specified with the -C or -CT option.
The value should be an integer specifying the size in megabytes.
The default in 3dmod is 20000.
TILTALIGN_SKIP_CROSS_VAL
Set this variable (no value needed) to make Tiltalign skip
doing cross-validation even when specified by the CrossValidate
option; Bead Fixer uses this variable.
WRITE_MODE0_SIGNED
Set this variable to 0 to have all MRC files in mode 0 written
as unsigned bytes, which was the convention used by IMOD prior
to 4.8.24 but is contrary to the current MRC standard.
Build and Test Variables
BRT_TEST_OPTIONS
When the Batchruntomo test is run in the nightly ImodTests, this
variable can be set to provide options in place of "-cpu 2".
BRT_TEST_SOURCE_DIR
If this environment variable is set to a location where the
stacks BBa.st and BBb.st are located, the nightly tests in
ImodTests will include a reconstruction of this data set with
Batchruntomo.
CUDA_DIR
Directory with CUDA toolkit, must be defined to enable building
with CUDA.
CUDA_BIN_PATH
On Windows, this must be defined as the location of CUDA
binaries if they are not in $CUDA_DIR/bin
CUDA_LIB_PATH
On Windows, this must be defined as the location of CUDA
libraries if they are not in $CUDA_DIR/lib
IMOD_ALTOOL_USERNAME
Apple ID to be used as a username when attempting to notarize a
Mac installer package with the script notarize.sh. This script
expects that the password used with the notarizing command is in
the login toolchain and named ALTOOL_PASSWORD.
IMOD_DEBUG_CHECKSUM
If defined, enables output of components of the model checksum.
IMOD_FFTW_TIMING
If defined, enables output from the FFTW wrapper routine about
the number of threads used and the time consumed.
IMOD_MAC_DEV_INST_ID
If defined with the name of a Mac Developer Installer ID, the
IMOD build script will skip building an installer package built
when a release is being done. The script dist/Mac-
Packages/notarize.sh can then be run from a Terminal;
IMOD_ALTOOL_USERNAME must also be defined.
IMOD_MESH_TIMING
If defined, enables output from the imeshSkinObject function
about the time consumed in each step.
IMOD_PHYSICAL_DPI
Used in 3dmod, Midas, Ctfplotter, and graphing program startup
scripts on Linux to tell the programs the physical monitor DPI.
IMOD_REPORT_CORES
If defined, enables output from the numOPMthreads routine about
the number of physical and logical processors and its decision
on how to limit the number of threads.
IMOD_SETUP_USE_MKL
Make the default for IMOD setup to be to use MKL.
IMOD_SIGNWRAPPER
If this variable is set with he full path to a script for
signing Windows executables and DLLs, then installqtlib will
sign the files.
IMOD_TEST_SECTION
This is passed to the uitest script when running Etomo tests.
It is used to choose one of the tests in uitest.adoc.
IMOD_UITEST_DATA
When running Etomo tests, the root directory for data files.
IMOD_UITEST_SCRIPT
This is used in uitest.make. It should be set to the location
of the uitest script
IMOD_UITEST_SOURCE
When running Etomo tests, the location of the uitest.adoc and
all autodocs it refers to.
JAVA_DIR
Location of Java SDK to be used by the IMOD build and test
script.
MSVCREDIST
Location of Microsoft Visual C redistributable run-time
libraries that are to be copied when building a distribution.
When this is defined, manifests are also added to all
executables.
QTDIR Location of Qt, or at least of Qt bin directory if include is
elsewhere.
SCRIPT_TEST_DIR
An alternate location for Python source scripts run by the tests
in ImodTests/scriptTests.
SIGNWRAPPER
If this variable has a full Cygwin path to a script for signing
Windows executables and DLLs, then the IMOD build and test
script will set IMOD_SIGNWRAPPER with it to make installqtlib
sign the files, then sign install packages.
SOLVEMATCH_TEST
Set this variable to prevent Solvematch from exiting with error
when given a data set with relative coordinates.
TEST_ALIGNFRAMES_GPU
Set this variable to run the Alignframes test
ImodTests/xformTests with GPU.
WINKITREDIST
Location of redistributable libraries in a Windows Kit to be
copied when building a distribution.
IMOD 5.2.0 imodenv(1)