7. visit_utils
visit_utils is a pure python module distributed along with Visit’s Python interface. It provides a simple interface to encode movie files and methods that wrap more complex VisIt Python command sequences to simplify a few common use cases. It also provides a stand alone PySide based annotation rendering API.
Here we provide details on the encoding and engine launching modules:
7.1. visit_utils.encoding
visit_utils.encoding
provides methods that allow you to use movie encoders (e.g ffmpeg) to encode movies from sequences of image files and extract image files from movie files.
Methods:
- visit_utils.encoding.encode(ipattern, ofile, fdup=None, etype=None, stereo=False, input_frame_rate=None, output_frame_rate=None)
Encodes a sequence of images into a movie.
Example Usage:
from visit_utils.encoding import * encode("input.%04d.png","output.mpg") encode("input.%04d.png","output.wmv",fdup=5) encode("input.%04d.png","output.sm") encode("input.%04d.png","output.sm",stereo=True)
- Parameters:
ipattern – Input file pattern. Requires a printf-style # format like “file%04d.png”.
ofile – Output file name
fdup – Allows you to set an integer number of times to duplicate the input frames as they are passed to the encoder. (The duplication actually happens via symlinks) [Default = None]
etype – Allows to select which encoder to use ( If not passed the file extension is used to select an encoder ) [Default = None]
input_frame_rate – Allows you to set the input frame rate, in frames per second, that the encoder uses. [Default = None]
output_frame_rate – Allows you to set the output frame rate, in frames per second, that the encoder uses. Note output formats typically only support a few output fps values. To obtain a perceived fps, the input_frame_rate is a better option to try. [Default = None]
- visit_utils.encoding.extract(ifile, opattern)
Extracts a sequence of images from a a movie.
Example:
extract("movie.mpg","output%04d.png")
- Parameters:
ifile – Input file.
opattern – Output file pattern. Requires a printf-style # format like “file%04d.png”.
- visit_utils.encoding.encoders()
- Returns:
A list of strings of the available encoders.
7.2. visit_utils.engine
visit_utils.engine
provides an interface to launch VisIt engines that uses installed host profiles.
Methods:
- visit_utils.engine.open(nprocs, method, ppn=1, part=None, bank=None, rtime=None, vdir=None)
Launch VisIt compute engine on the current host.
Example usage:
Launch engine with 36 MPI tasks using default options for this host:
engine.open(nprocs=36)
Launch engine with 36 MPI tasks using a specific partition:
engine.open(nprocs=36, part="pbatch")
Launch engine with 36 MPI tasks, ask for 60 minute time limit:
engine.open(nprocs=36, rtime=60)
If you already have a slurm batch allocation, you can use:
engine.open(method="slurm")
This reads the
SLURM_JOB_NUM_NODES
andSLURM_CPUS_ON_NODE
env vars and uses these values to launch with srun.If you already have a lsf batch allocation, you can use:
engine.open(method="lsf")
This reads the
LSB_DJOB_NUMPROC
env var and uses it the to launch with mpirun.- Parameters:
nprocs – Number of MPI tasks
methods – Launch Method (srun, etc)
ppn – MPI tasks per node
part – Partition
rtime – Job time
vdir – Path to VisIt install
- visit_utils.engine.close(ename=None)
Closes VisIt’s Compute Engine.
- Parameters:
ename – Engine name to close (optional)
- visit_utils.engine.supported_hosts()
- Returns:
A list of the names of supported hosts.