######################################################################################## # Dockerfile based on Ubuntu ######################################################################################## # Set the base image to Ubuntu FROM ubuntu:22.04 # Update the repository sources list RUN apt-get update # install tools needed to build the software RUN apt-get install -y cmake g++ wget zip # add additional packages RUN apt-get update RUN apt-get install -y git python3-pip # install prerequisites RUN apt-get install -y libpng-dev \ zlib1g-dev \ libics-dev \ libtiff-dev \ libgsl-dev \ liblapack-dev \ libblas-dev \ libf2c2-dev # prepare directory for downloaded packages WORKDIR /Downloads # install fft support RUN wget http://www.fftw.org/fftw-3.3.10.tar.gz && \ tar xfz fftw-3.3.10.tar.gz && cd fftw-3.3.10 && \ ./configure --enable-float --enable-shared --enable-threads && \ make -j && make install && make clean && \ ./configure --enable-long-double --enable-shared --enable-threads && \ make -j && make install && make clean && \ ./configure --enable-shared --enable-threads && \ make -j && make install # download and unzip i3dlib RUN wget https://cbia.fi.muni.cz/files/software/i3dlib/i3dcore_and_i3dalgo-20230201.zip && \ unzip i3dcore_and_i3dalgo-20230201.zip # compile the libraries RUN mkdir I3DLIB/bin && \ cd I3DLIB/bin && \ cmake -D ALGO_WITH_BLAS=ON -D ALGO_WITH_LAPACK=ON -D GLOBAL_BUILD_EXAMPLES=ON .. && \ make -j && make install && \ make threshold && cp examples/threshold /usr/local/bin