I created a repo on github.com/mariodamore/vicar-docker as quick and small way to run VICAR in docker.
The Dockerfile is extremely simple:
FROM ubuntu:22.04
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y ubuntu-server tcsh build-essential gfortran
And this is a README I wrote for my colleagues :
Run VICAR under UBUNTU server in Docker
Description
VICAR, which stands for Video Image Communication And Retrieval, is a general purpose image processing software system that has been developed since 1966 to digitally process multi-dimensional imaging data.
The VICAR core contains a large number of multimission application programs and utilities. The general VICAR web page is VICAR Software Functional Capabilities.
Quickstat
Download and untar linux release
wget https://github.com/NASA-AMMOS/VICAR/releases/download/5.0/vicar_open_bin_x86-64-linx_5.0.tar.gz tar xvfz vicar_open_ext_x86-64-linx_5.0.tar.gz
create symlink to avoid too long paths that leads to this error [TAE-BADPAR] '$USER_START' is an undefined parameter or unknown qualifier.
:
cd vicar_open_bin_x86-64-linx_5.0/ ln -s vicar_open_5.0 v5.0
create image, with all dependencies, namely apt-get install -y ubuntu-server tcsh build-essential gfortran
cd docker docker build -t ubuntu-server:22.04 .
back to top dir, run it, binding vicar dir to /vicar
in the container:
docker run -it --rm -v $PWD/vicar_open_bin_x86-64-linx_5.0:/vicar -w /vicar ubuntu-server:22.04 /bin/tcsh
follow the official VICAR_guide_5.0.pdf guide, the only difference it to set V2TOP
setenv V2TOP vicar/v5.0
after that, everything is like in the documentations. Set up the environment:
source $V2TOP/vicset1.csh source $V2TOP/vicset2.csh
run suggested test:
$R2LIB/gen a
$R2LIB/list
$R2LIB/copy a b
$R2LIB/label -list b
$R2LIB/list b
$R2LIB/gen c 1024 1024
Everything works.
Next steps
To run xvd c &
you need to install an X server and bind the container to the host X server.