Example #1
0
import numpy as np
import pandas as pd
import os
from mr.datasets.tower import StanfordTower as st
from mr.datasets.common import ImageSet
from mr.datasets.imageDataset import ImageDataset
import matplotlib.image as img
import matplotlib.pyplot as plt


folder = "/stash/tlab/datasets/Tower/dev_test"

## Initialize class and read annotation file
train_csv = os.path.join(folder, "train")
test_csv = os.path.join(folder, "test")
t = st(30, ["ims"], ["ims"], train_csv, test_csv)
train, test, vp = t.split()
# df = t.read_file(folder)


"""
## Make sure I understand how to use ImageDataset
expected = os.listdir(folder + '/ims')
expected.sort()
vid = ImageDataset(folder + '/ims', expected)
imgs = vid.resize(177, 100).split(0, noLabels=True)[0][0]
img.imsave(folder + '/test000000.png', imgs[0].reshape(100, 177, 3))
img.imsave(folder + '/test000001.png', imgs[1].reshape(100, 177, 3))
"""

"""
Example #2
0
from mr.learn.supervised.perceptron import Perceptron



folder = '/stash/tlab/datasets/Tower'
file_pre = 'Neovision2-Training-Tower-'
w_new = 20
tau = 1
train_folders = ['1', '2', '3', '4', '5']
test_folders = ['13', '14']

"""pickle_data = (model, model2, vp, xP, y)"""

pickle_file = open('model_28.p', 'rb')
pickle_data = pickle.load(pickle_file)
pickle_file.close()

model, model2, vp, xP, y = pickle_data
model2 = TowerScaffold()


videos_to_train = [os.path.join(folder, 'dev_test', 'train2', 'ims')]
videos_to_test = [os.path.join(folder, 'dev_test', 'test2', 'ims')]
train_csv = [os.path.join(folder, 'dev_test', 'train2', 'train.csv')]
test_csv = [os.path.join(folder, 'dev_test', 'test2', 'train.csv')]
t = st(vp[0], videos_to_train, videos_to_test, train_csv, test_csv)

dices = model2._get_Dices(xP, y, 5)
fig = model2.plot_Dices(dices, t.classes)
plt.show()
Example #3
0
                            file_pre + str(i).zfill(3)) for i in train_folders]
videos_to_test = [os.path.join(folder, 'test', i,
                            file_pre + str(i).zfill(3)) for i in test_folders]
train_csv = [os.path.join(folder, 'train', i,
                file_pre + str(i).zfill(3) + '.csv') for i in train_folders]
test_csv = [os.path.join(folder, 'test', i,
                file_pre + str(i).zfill(3) + '.csv') for i in test_folders]
'''




## Initialize class and read annotation file
start = datetime.datetime.now()
print ("Loading video data")
t = st(w_new, videos_to_train, videos_to_test, train_csv, test_csv, tau)
print("Start Split!!!!")
train, test, vp = t.split()
stop = datetime.datetime.now()
print ("Total min to load: {}\n\n".format((stop-start).total_seconds() / 60))

pre_labs = t.masks[0][0].flatten()
post_labs = train[1][0]
print ("Pre labels:\nCount 1's = {}\nMin = {}\nMax = {}\nMean = {}\n".format(
    np.sum(pre_labs), pre_labs.min(), pre_labs.max(), pre_labs.mean()))
print ("Post labels:\nCount > 0 = {}\nMin = {}\nMax = {}\nMean = {}\n".format(
    np.sum(post_labs > 0), post_labs.min(), post_labs.max(), post_labs.mean()))



Example #4
0
from mr.learn.supervised.perceptron import Perceptron
import matplotlib.image as img
import matplotlib.pyplot as plt
from PIL import Image
import datetime
import pickle

## The lines below are a hacky way to set up the data
## Using 70 x 40 size
folder = '/stash/tlab/datasets/Tower'
file_pre = 'Neovision2-Training-Tower-'
videos_to_train = [os.path.join(folder, 'dev_test', 'train2', 'ims')]
videos_to_test = [os.path.join(folder, 'dev_test', 'test2', 'ims')]
train_csv = [os.path.join(folder, 'dev_test', 'train2', 'train.csv')]
test_csv = [os.path.join(folder, 'dev_test', 'test2', 'train.csv')]
t = st(6, videos_to_train, videos_to_test, train_csv, test_csv)
apath1 = os.path.join(folder, 'test', '13', 'Neovision2-Training-Tower-013')
apath2 = os.path.join(folder, 'test', '14', 'Neovision2-Training-Tower-014')
test_files1 = [os.path.join(apath1, i) for i in natsorted(os.listdir(apath1))]
test_files2 = [os.path.join(apath2, i) for i in natsorted(os.listdir(apath2))]
test_files = test_files1 + test_files2



## Unpickle data and run program to save images, masks, predictions, and dice plot
print ("Unpickling...")
pickle_file = open("/u/jc2/dev/jc2/cnn/model_70.p", 'rb')
model, model2, vp, xP, y = pickle.load(pickle_file)
dice = model2._get_Dices(xP, y, len(t.classes))
pickle_file.close()