2020-01-07 14:13:10 +00:00
|
|
|
#!/usr/bin/env python3.5
|
|
|
|
# coding=utf-8
|
|
|
|
|
|
|
|
|
|
|
|
"""
|
|
|
|
merge_images
|
|
|
|
|
|
|
|
Usage: For usage instructions run with option --help
|
|
|
|
Author: Stephan Porada <sporada@uni-bielefeld.de>
|
|
|
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
import argparse
|
2020-01-27 14:52:20 +00:00
|
|
|
import os
|
|
|
|
import subprocess
|
2020-01-07 14:13:10 +00:00
|
|
|
|
|
|
|
|
|
|
|
def parse_arguments():
|
|
|
|
parser = argparse.ArgumentParser(description='Merges given input images '
|
|
|
|
'into one multipage tiff.')
|
2020-01-27 14:52:20 +00:00
|
|
|
parser.add_argument('-i', dest='input_dir', required=True,
|
|
|
|
type=os.path.abspath)
|
|
|
|
parser.add_argument('-o', dest='output_dir', required=True,
|
|
|
|
type=os.path.abspath)
|
2020-01-07 14:13:10 +00:00
|
|
|
return parser.parse_args()
|
|
|
|
|
|
|
|
|
|
|
|
def merge_images(input_dir, output_dir):
|
2020-01-27 14:52:20 +00:00
|
|
|
try:
|
|
|
|
os.mkdir(output_dir)
|
|
|
|
except FileExistsError:
|
|
|
|
pass
|
|
|
|
cmd = 'ls -Q -v {i}/*.* > {i}/file_list.txt'.format(i=input_dir)
|
|
|
|
subprocess.run(cmd, shell=True)
|
|
|
|
cmd = 'convert @{i}/file_list.txt {o}/combined.tif'.format(i=input_dir,
|
|
|
|
o=output_dir)
|
|
|
|
subprocess.run(cmd, shell=True)
|
|
|
|
cmd = 'rm {i}/file_list.txt'.format(i=input_dir)
|
|
|
|
subprocess.run(cmd)
|
2020-01-07 14:13:10 +00:00
|
|
|
|
|
|
|
|
|
|
|
def main():
|
|
|
|
args = parse_arguments()
|
|
|
|
merge_images(args.input_dir, args.output_dir)
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
main()
|