# Md Alimoor Reza
# md.reza@drake.edu
# September, 2021
from PIL import Image
from matplotlib.pyplot import imshow
import matplotlib.pyplot
import numpy as np
import argparse
import os
import os.path

#----- optional PIL components ---
#from PIL import ImageDraw
#from PIL import ImageFilter
#----- optional PIL components ---


parser = argparse.ArgumentParser(description='Image display')
parser.add_argument('--version', default="v1", help='methods of displaying image (default: PIL.imshow())')
parser.add_argument('--image_name', default="images/machine_tools_grasp.png", help="full image path ...")
args = parser.parse_args()



def show_image(image_name, option="v1"):
    
    # check for the correct file name otherwise load default image
    if (os.path.isfile(os.path.join('./', image_name))):
        img = Image.open(image_name)
    else:
        img = Image.open("reza_codes/machine_tools_grasp.png")
        
        
    # show the image
    if (option == "v1"):
        img.show("Machine shop super-categories (5 classes): 40 different instances")
        # in jupyter notebook just type the obj instance name not need call show
    elif (option == "v2"):
        imshow(np.asarray(img))
        fig = matplotlib.pyplot.gcf()
        #fig.set_size_inches(, 10)
        fig.set_size_inches(18.5, 10.5, forward=True)
    else:
        print("Error: verion of image display is not correct.")

        
show_image(args.image_name, args.version)