Docker and Singularity
This are the steps to create a Singularity Image File (SIF) for oplab_pipeline. There exists a Dockerfile as well, but it’s recommended to use the SIF image instead.
1. Build the Singularity image.
This assumes you have installed Singularity previously. If you havent, follow these installation instructions for Singularity.
sudo singularity build oplab_pipeline.sif oplab_pipeline.def
2. Run the SIF image.
The previous instruction will have saved a file oplab_pipeline.sif
in this same directory. This is your containerised image file. You can use this SIF file in any Linux computer with Singularity installed. To see the help, run
singularity run oplab_pipeline.sif
Run the pipeline using the following command:
singularity exec oplab_pipeline.sif auv_nav ARGS
singularity exec oplab_pipeline.sif auv_cal ARGS
singularity exec oplab_pipeline.sif correct_images ARGS
FAQ
If you see the following error:
/opt/oplab_pipeline_env/lib/python3.9/site-packages/joblib/_multiprocessing_helpers.py:45: UserWarning: [Errno 2] No such file or directory. joblib will operate in serial mode
warnings.warn('%s. joblib will operate in serial mode' % (e,))
run the SIF image with the flag -B /run/shm:/run/shm
Example:
singularity exec -B /run/shm:/run/shm oplab_pipeline.sif auv_nav ARGS
singularity exec -B /run/shm:/run/shm oplab_pipeline.sif auv_cal ARGS
singularity exec -B /run/shm:/run/shm oplab_pipeline.sif correct_images ARGS