from keras.preprocessing.image import ImageDataGenerator
import numpy as np 
import os
# import glob
import skimage.io as io
import skimage.transform as trans
# import cv2
import base64



def singleTestGenerator(img_data,target_size = (256,256),flag_multi_class = True,as_gray = False):

  for i in range(len(img_data)):
    img_string = base64.b64decode(img_data[i])
    img = io.imread(img_string, plugin='imageio', as_gray = as_gray)
    img = img / 255
    img = trans.resize(img,target_size)
    img = np.reshape(img,img.shape+(1,)) if (not flag_multi_class) else img
    img = img[:, :, :3]
    img = np.reshape(img,(1,)+img.shape)
    yield (img)


def saveResult(npyfile):
  img = npyfile[0][:,:,0]
  return img
