Esempio n. 1
0
def main():

    args = parse_arguments()
    DATASET_PATH = args.path
    mode = 'NONE'
    if not (args.a or args.b or args.ab):  #Check if only one case is true
        print("ERROR: use -h for HELP")
        exit()
        return
    # print(args)
    if args.a:
        print("Testing model based on a-channel")
        mode = 'a'
    if args.b:
        print("Testing model based on b-channel")
        mode = 'b'
    if args.ab:
        print("Testing model based on a&b-channel")
        mode = 'ab'

    # FOR AKHEEL
    # print("processing images")
    # pre_works.process_images(DATASET_PATH)

    if (mode != 'ab'):
        test_x = prereq_load_and_compute(SIFT=True)
        predict_and_dump(test_x, mode)
        return

    # IF AB MODE
    print("Loading a_chroma")
    predictions_A = hf.load_from_pickle("predicted_a_chroma")
    # print("a_channel_chroma", predictions_A[0][1])
    # print("a_channel_chroma", predictions_A[1][1])
    # print("a_channel_chroma", predictions_A[2][1])

    print("Loading b_chroma")
    predictions_B = hf.load_from_pickle("predicted_b_chroma")
    luminance_paths = hf.load_luminance_paths('test')
    print("loading luminance...")
    luminance = hf.load_luminance(luminance_paths)
    for i in range(len(predictions_A)):
        a_channel_chroma = hf.scale_image(predictions_A[i])
        # print("a_channel_chroma", a_channel_chroma)
        b_channel_chroma = hf.scale_image(predictions_B[i])
        hf.reconstruct(luminance[i], a_channel_chroma, b_channel_chroma, i,
                       'AB')
        # to reconstruct grayscale images
        empty_array = np.zeros((200, 200))
        hf.reconstruct(luminance[i], empty_array, empty_array, i, 'G')
Esempio n. 2
0
def start(mode, callbackFn):

    if (mode != 'ab'):
        test_x = prereq_load_and_compute(SIFT=True)
        predict_and_dump(test_x, mode)
        if (mode == 'a'):
            print("A COMPLETED")
            return callbackFn('b')
        else:
            print("B COMPLETED")
            return callbackFn('ab')

    # IF AB MODE
    print("Loading a_chroma")
    predictions_A = hf.load_from_pickle("predicted_a_chroma")
    # print("a_channel_chroma", predictions_A[0][1])
    # print("a_channel_chroma", predictions_A[1][1])
    # print("a_channel_chroma", predictions_A[2][1])

    print("Loading b_chroma")
    predictions_B = hf.load_from_pickle("predicted_b_chroma")
    luminance_paths = hf.load_luminance_paths('test')
    print("loading luminance...")
    luminance = hf.load_luminance(luminance_paths)
    empty_array = np.zeros((200, 200))

    b_channel_paths = hf.load_b_channel_chroma_paths('test')
    print("loading b channel chroma...")
    b_channel_chromas = hf.load_b_channel_chroma(b_channel_paths)
    a_channel_paths = hf.load_a_channel_chroma_paths('test')
    print("loading a channel chroma...")
    a_channel_chromas = hf.load_a_channel_chroma(a_channel_paths)

    for i in range(len(predictions_A)):
        a_channel_chroma = hf.scale_image(predictions_A[i])
        # print("a_channel_chroma", a_channel_chroma)
        b_channel_chroma = hf.scale_image(predictions_B[i])
        hf.reconstruct(luminance[i], a_channel_chroma, b_channel_chroma, i,
                       'AB')
        # to reconstruct grayscale images
        hf.reconstruct(luminance[i], empty_array, empty_array, i, 'G')
        hf.reconstruct(luminance[i], a_channel_chromas[i],
                       b_channel_chromas[i], i, 'GT')

    return callbackFn(mode)
Esempio n. 3
0
def predict_and_dump(test_x, mode):

    luminance_paths = hf.load_luminance_paths('test')
    print("loading luminance...")
    luminance = hf.load_luminance(luminance_paths)

    if mode == 'a':
        b_channel_paths = hf.load_b_channel_chroma_paths('test')
        print("loading b channel chroma...")
        b_channel_chromas = hf.load_b_channel_chroma(b_channel_paths)
        # try:
        model = load_a_model()
        # except:
        # print("Error loading model")

    if mode == 'b':
        a_channel_paths = hf.load_a_channel_chroma_paths('test')
        print("loading a channel chroma...")
        a_channel_chromas = hf.load_a_channel_chroma(a_channel_paths)
        # try:
        model = load_b_model()
        # except:
        # print("Error loading model")

    predictions = model.predict(test_x)
    print("Dumping predictions")
    # empty_array = np.zeros((200,200))
    if (mode == 'a'):
        hf.save_blob(predictions, 'predicted_a_chroma')
        for i in range(len(predictions)):
            a_channel_chroma = hf.scale_image(predictions[i])
            # print("a_channel_chroma", predictions_A[0][1])
            # a_channel_chroma = a_channel_chroma*10
            hf.reconstruct(luminance[i], a_channel_chroma,
                           b_channel_chromas[i], i, 'A')
    if (mode == 'b'):
        hf.save_blob(predictions, 'predicted_b_chroma')
        for i in range(len(predictions)):
            b_channel_chroma = hf.scale_image(predictions[i])
            # b_channel_chroma = b_channel_chroma*10
            hf.reconstruct(luminance[i], a_channel_chromas[i],
                           b_channel_chroma, i, 'B')