import sys, os, numpy, scipy.stats, sys
render_path = '/om/user/janner/mit/urop/picture/centos/'
divide_path = render_path + 'dDiff-dOccl/'
sys.path.append(render_path)
sys.path.append(divide_path)
from RenderLibrary import *
import divideRender

vector_base = '/om/user/janner/mit/urop/picture/centos/torch/cogsci_96/predictions/vector/unoccluded/'
save_path = '/om/user/janner/mit/urop/picture/centos/dDiff-dOccl/results/dms_96/unoccluded_predictions/'

dms_ids = range(96)
occLevels = [1, 3, 5]

imgs_per_job = 20

arr = []
for dms_id in dms_ids:
	for occLevel in occLevels:
		vector_path = vector_base + str(occLevel) + '/0_' + str(dms_id) + '_0.npy'
		latents = numpy.load(vector_path)
		name = str(occLevel) + '_' + str(dms_id) + '.png'
		arr.append([latents, name, save_path, ('None', 0)])

numpy.save(divide_path + 'render.npy', arr)
div = [(i,i+imgs_per_job) for i in range(0, len(arr), imgs_per_job)]
print(len(arr), ' images')
print(len(div), ' jobs')
divideRender.divide(div)
    # assert(False, 'Invalid direction: ' + direction)


OCCLUDERS = ["Bars", "Fence", "Curtain", "Door", "Blinds"]

currDir = os.path.dirname(os.path.realpath(__file__))
predPath = "preds/arrays/"
writePath = currDir + "/preds/images/"

print(writePath)

occLevels = [1, 3, 5]
directions = ["occ_un", "un_occ"]
numIDs = 96

render = []
for occ in occLevels:
    for direction in directions:
        preds = numpy.load(predPath + str(occ) + "_" + direction + "_0_latents.npy").tolist()
        for idNum in range(numIDs):
            occluder = getOccluder(direction, occ, idNum)
            image = [preds[idNum], str(idNum) + ".png", writePath + str(occ) + "_" + direction + "/", occluder]
            render.append(image)

# print(render)

numpy.save(RENDER_PATH + "render.npy", render)

div = [(i, i + 40) for i in range(0, len(render), 40)]
divide(div)