#!/usr/bin/env python
"""
This script is the standalone/script version of dicom2nifti

@author: abrys
"""
from __future__ import print_function

import argparse
import os
import dicom2nifti.convert_dir as convert_directory
import sys


def main(args):
    parser = argparse.ArgumentParser(description='dicom2nifti, convert dicom files into nifti format.')
    parser.add_argument('input_directory', type=str,
                        help='directory containing dicom files, can be nested')
    parser.add_argument('output_directory', type=str,
                        help='directory to store the nifti files')

    parser.add_argument('--no-compression', action='store_true',
                        help='disable gzip compression and write .nii files instead of .nii.gz')

    parser.add_argument('--no-reorientation', action='store_true',
                        help='disable image reorientation (default: images are reoriented to LAS orientation)')

    args = parser.parse_args(args)

    if not os.path.isdir(args.input_directory):
        print('ERROR: \'input_directory\' should be a valid path')
        print('----------------------------------------------------\n')
        parser.print_help()
        return 2
    elif not os.path.isdir(args.output_directory):
        print('ERROR: \'output_directory\' should be a valid path')
        print('----------------------------------------------------\n')
        parser.print_help()
        return 2
    else:
        convert_directory.convert_directory(args.input_directory,
                                            args.output_directory,
                                            not args.no_compression,
                                            not args.no_reorientation)


if __name__ == "__main__":
    sys.exit(main(sys.argv[1:]))
