libvips is a demand-driven, horizontally threaded image processing library. Compared to similar libraries, libvips runs quickly and uses little memory.
Allocate an interactive session and run the program. Sample session:
[user@biowulf]$ sinteractive --mem=12g -c8 --grep=lscratch:20 [user@cig 3335 ~]$ module load libvips [+] Loading singularity 4.0.1 on cn1107 [+] Loading libvips 8.15.1 [user@cn3335 ~]$ vips -h Usage: vips [OPTION?] [ACTION] [OPTIONS] [PARAMETERS] - VIPS driver program OPER - execute vips operation OPER Help Options: -h, --help Show help options Application Options: -t, --targets print vector targets -l, --list=BASE-NAME list objects -p, --plugin=PLUGIN load PLUGIN -v, --version print version -c, --completion=BASE-NAME print completions --vips-concurrency=N evaluate with N concurrent threads --vips-progress show progress feedback --vips-leak leak-check on exit --vips-profile profile and dump timing on exit --vips-disc-threshold=N images larger than N are decompressed to disc --vips-novector disable vectorised versions of operations --vips-cache-max=N cache at most N operations --vips-cache-max-memory=N cache at most N bytes in memory --vips-cache-max-files=N allow at most N open files --vips-cache-trace trace operation cache --vips-cache-dump dump operation cache on exit --vips-version print libvips version --vips-config print libvips config --vips-pipe-read-limit read at most this many bytes from a pipe [user@cn3335 ~]$ cp $LIBVIPS_DATA/* . [user@cn3335 ~]$ ls x.png
[user@cn3335 ~]$ vips rot x.png y.png d90The output is image y.png: