Digichem Image
The digichem image
command is used to generate individual images from a completed calculation.
$ digichem image LOG_FILE --image IMAGE
Input files
The image
and report
sub-programs share much of the same functionality and interface.
digichem image
takes the same input file options as digichem report
.
Normally, it is sufficient to specify the path to the main calculation log file, or the directory containing this log file, and Digichem will locate any other files that it needs:
$ digichem image Benzene.log # Or
$ digichem image Benzene/Optimisation
When rendering electron densities (including orbitals), Digichem also requires additional checkpoint/density files from the calculation. If these have been named strangely, or have been moved out of the main calculation directory, then you may need to explicitly specify these files. Please refer to the documentation for the report command for more information.
Image selection
The image(s) to generate are specified with the --image
option:
$ digichem image Benzene.log --image HOMO
Multiple images can be selected simultaneously:
$ digichem image Benzene.log --image HOMO LUMO
Many image types are actually composed of several sub-images. In most cases, these sub-images will present alternative views of the same image. For 3D renders, such as orbital density plots, each sub-image is a different angle of the same molecule. Digichem will automatically save all available sub-images when rendering. Thus the command:
$ digichem image Benzene.log --image HOMO
Will actually render a total of 8 images (four different angles of the HOMO, in both PNG and JPEG formats).
The image
command can also generate cube files, using the --cube
option:
$ digichem image Benzene.log --cube HOMO
Note
When rendering an image, Digichem will automatically generate the appropriate cube file (so the --cube
option is not necessary).
However, Digichem will also clean up any cube files that it generates that aren’t explicitly requested. Thus, if both the cube and
final image files are desired, specify both the --image
and --cube
options:
$ digichem image Benzene.log --cube HOMO --image HOMO
To see a list of the available images that Digichem can generate for a given calculation, specify the --list
option:
$ digichem image Benzene.log --list
Benzene, Gaussian Single Point PBE0 6-31G**:
cube:
- SCF
- HOMO-20
- HOMO-19
- HOMO-18
- HOMO-17
- HOMO-16
- HOMO-15
- HOMO-14
...
image:
- SCF
- HOMO-20
- HOMO-19
- HOMO-18
- HOMO-17
- HOMO-16
- HOMO-15
- HOMO-14
...
This command will list both the available image and cube files.
Output files
Rendered images (and cube files) will be placed by default in the Report/image directory, and will overwrite any existing files found there (see overwriting files).
You can write an image to a specific location using the usual -O
option (but see working directory below):
$ digichem image Benzene.log --image HOMO -O my_image.png
The file extension (here it is .png
) is used to determine what file-type to save the image as.
If no file extension is given, then Digichem assumes the output location is a directory and each image will be placed within it, using its default file name:
$ digichem image Benzene.log --image HOMO -O custom_images/
This command would result in the following directory structure:
Benzene.log
custom_images/
Benzene.HOMO.x0y0z0.jpg
Benzene.HOMO.x0y0z0.png
Benzene.HOMO.x0y90z0.jpg
Benzene.HOMO.x0y90z0.png
Benzene.HOMO.x45y45z45.jpg
Benzene.HOMO.x45y45z45.png
Benzene.HOMO.x90y0z0.jpg
Benzene.HOMO.x90y0z0.png
Note
If an image is made up of multiple sub-images and only a single output file is specified, then only the first sub-image will be rendered.
Working directory
Because many image files are dependent on other file types (eg. orbital densities require cube files), digichem image
always writes image files to the calculation’s report directory first. If the -O
option is given, the images are then
copied to the final destination. This means digichem image
will overwrite files in the ‘Report’ directory even if
writing to another location.
To change this behaviour, specify a different working directory with the -D
option:
$ digichem image Benzene.log --image HOMO -O Homo.png -D /tmp
Note that this will also force Digichem to regenerate any image/cube files that are required (because the working directory will be empty).
Overwriting files
Unlike the report
command, digichem image
does overwrite old files by default.
To instead keep previously written image files, pass the --no-overwrite
option:
$ digichem image Benzene.log --image HOMO --no-overwrite
Merged calculations
Like digichem report
, digichem image
can generate images from merged calculation results by specifying the
-m
option:
$ digichem image -m Benzene/Optimisation "Benzene/Excited States" -O "Benzene/Combined images" --image HOMO
This is particularly useful for generating difference density plots, which naturally require two calculation results (to calculate the difference between):
$ digichem image -m "Benzene/Turbomole Opt ADC(2)-SCS cc-pVDZ" \
"Benzene/Turbomole Excited States ADC(2)-SCS S(1) & S(2) cc-pVDZ" \
-O "Benzene/Combined images" --image HOMO
Multiple calculations
digichem image
can also generate files for multiple different calculations simultaneously:
$ digichem image Benzene.log Pyridine.log --image HOMO
You can also render multiple different images for each calculation simultaneously:
// Generate a total of 6 files, two orbital images and one orbital cube
// for both benzene and pyridine:
$ digichem image Benzene.log Pyridine.log --image HOMO LUMO --cube HOMO+1
Like usual, each image will be placed in the Report/image folder of the relevant calculation.
You can still use the -O
option to change the output location when generating images for multiple calculations,
but Digichem won’t let you write multiple images to the same location:
// Here we're generating two images (HOMO for both Benzene and Pyridine)
// but only specifying one output location.
$ digichem image Benzene/Benzene.log Pyridine/Pyridine.log --image HOMO -O HOMO.png
...
digichem: ERROR: Refusing to write 'Pyridine.HOMO.jpg' to 'HOMO.png'; we've already written a file here!
Instead, you can use the -r
(for relative) option, which will write each output file to a location
relative to each input file:
// Now we're specifying a relative location, which ends up being different for each
// input file, so all is well.
$ digichem image Benzene/Benzene.log Pyridine/Pyridine.log --image HOMO -r HOMO.png
Which would result in:
Benzene/
Benzene.log
HOMO.png
Pyridine/
Pyridine.log
HOMO.png