diff --git a/Dockerfile b/Dockerfile index ab18c64..cb1ad31 100644 --- a/Dockerfile +++ b/Dockerfile @@ -19,5 +19,6 @@ RUN apt-get update \ # Install merge_images COPY merge_images /usr/local/bin + ENTRYPOINT ["merge_images"] CMD ["--help"] diff --git a/merge_images b/merge_images index 11470f5..b8c9e88 100755 --- a/merge_images +++ b/merge_images @@ -24,7 +24,7 @@ def parse_arguments(): def merge_images(input_dir, output_dir): os.makedirs(output_dir, exist_ok=True) - os.system('ls -v {i}/*.* >> {i}file_list.txt'.format(i=input_dir)) + os.system('ls -v {i}/*.* >> {i}/file_list.txt'.format(i=input_dir)) os.system('convert @{i}/file_list.txt {o}/combined.tiff'.format(i=input_dir, o=output_dir)) diff --git a/wrapper/merge_images b/wrapper/merge_images new file mode 100755 index 0000000..e0ae5c4 --- /dev/null +++ b/wrapper/merge_images @@ -0,0 +1,39 @@ +#!/usr/bin/env python3 +# coding=utf-8 + +import argparse +import os +import subprocess + +container_image = 'gitlab.ub.uni-bielefeld.de:4567/sfb1288inf/merge_images:latest' +container_input_dir = '/input' +container_output_dir = '/output' +uid = str(os.getuid()) +gid = str(os.getgid()) + +parser = argparse.ArgumentParser(add_help=False) +parser.add_argument( + '-i', + dest='input_dir', + required=False +) +parser.add_argument( + '-o', + dest='output_dir', + required=False +) +args, remaining_args = parser.parse_known_args() + +cmd = ['docker', 'run', '--rm', '-it', '-u', uid + ':' + gid] +if args.input_dir is not None: + host_input_dir = os.path.abspath(args.input_dir) + cmd += ['-v', host_input_dir + ':' + container_input_dir] + remaining_args += ['-i', container_input_dir] +if args.output_dir is not None: + host_output_dir = os.path.abspath(args.output_dir) + cmd += ['-v', host_output_dir + ':' + container_output_dir] + remaining_args += ['-o', container_output_dir] +cmd.append(container_image) +cmd += remaining_args + +subprocess.run(cmd)