Example #1
0
def predictOutput(image="DATA/mask/15_h.jpg",
                  weights='model_w_new_512.h5',
                  output_name='512result',
                  channel=1,
                  grey=False,
                  dim=(512, 512, 1),
                  f_ratio=[0.5]):
    IMAGE_PATH = image
    WEIGHTS_PATH = weights
    OUTPUT_PATH = output_name
    CHANNEL = channel
    GREY = grey

    model = net.NeuralNetwork()
    extractor = de.DataExtractor()

    model.load(dim, WEIGHTS_PATH)

    data = extractor.extractData(IMAGE_PATH,
                                 None,
                                 channel=CHANNEL,
                                 shape=dim,
                                 grey=GREY)
    #data=reframe(data,dim)
    shape = extractor.shape2(IMAGE_PATH, shape=dim)

    result = model.predictSet(data, shape, dim)

    io.imsave(OUTPUT_PATH + '.jpg', result)
    for ratio in f_ratio:
        im = scipy.misc.toimage(extractor.cutOff(result, ratio))
        im.save(OUTPUT_PATH + '_' + str(ratio) + '_filtered.png')

    gc.collect()
Example #2
0
def learnNetwork(image="DATA/mask/05_h.jpg",
                 mask="DATA/mask/05_h.tif",
                 mode='create',
                 old_weights='model_w_new_128.h5',
                 new_weights='model_w_new_128.h5',
                 epochs=1,
                 channel=1,
                 gray=False,
                 dim=(128, 128, 1)):

    IMAGE_PATH = image
    MASK_PATH = mask
    WEIGHTS_PATH = old_weights
    NEW_WEIGHTS_PATH = new_weights
    EPOCH_NUMBER = epochs
    CHANNEL = channel
    GREY = gray
    MODE = mode

    model = net.NeuralNetwork()
    extractor = de.DataExtractor()

    if MODE == 'create':
        model.create(dim)
    elif MODE == 'learn':
        model.load(dim, WEIGHTS_PATH)
    else:
        print('Bad mode. End of script...')
        sys.exit()

    train = extractor.extractData(IMAGE_PATH,
                                  MASK_PATH,
                                  channel=CHANNEL,
                                  shape=dim,
                                  grey=GREY)

    model.learn(train, epoch=EPOCH_NUMBER)
    model.save_weights(NEW_WEIGHTS_PATH)

    del train
    del model

    gc.collect()
import DataExtractor
import ConnectionManager

dataExtractor = DataExtractor.DataExtractor()
ConnectionManager.connManager.registerReceiver(dataExtractor)
Example #4
0
"""
import gc
import numpy as np
import network as net
import DataExtractor as de
from skimage import io

dim = (8, 8, 1)

if dim[2] == 1:
    g = True
else:
    g = False

model = net.NeuralNetwork()
extractor = de.DataExtractor()

trainTemp = extractor.extractData("DATA/mask/01_h.jpg",
                                  "DATA/mask/01_h.tif",
                                  shape=dim,
                                  grey=g)

train = (np.reshape(trainTemp[0],
                    (trainTemp[0].shape[0], dim[2], dim[0], dim[1])),
         trainTemp[1])

del trainTemp
model.create(size=dim)
model.learn(train, epoch=10)

trainTemp = extractor.extractData("DATA/mask/02_h.jpg",
Example #5
0
import sys
import pandas as pd

sys.path.insert(0, "function/")

from DataExtractor import *
from RegClf import *

#data extraction
data = DataExtractor()
X_train, X_test, Y_train, Y_test = data.extract()

#fit and choose are regressions
regression = RegressionClassifier(X_train, X_test, Y_train, Y_test)

#choose are regression types

regression.defineClassifierType([2, 3, 4, 5, 6])
regression.fit()
regression.predict()
regression.score()
bestReg = regression.mostAccurateScore()
regression.plotGraph(data.getRawExtract())
Example #6
0
    def __init__(self, filename, columns=None, background=False, outputDirectory=None, startColumn=None, saveImages=True):
        self.dataExtractor = DataExtractor.DataExtractor(filename)
        self.plotDataWriter = PlotDataWriter.PlotDataWriter()
        self.saveImages = saveImages
        self.dataPlot = DataPlot.DataPlot(self.done, self.skip, self.dump, self.exit, self.prev, background)
        self.background = background
        availablePlotColumns = self.dataExtractor.getAvailableColumns('background' if background else 'plot')


        try:
            if outputDirectory == None:
                filename = os.path.basename(filename) + '_results_'  + str(int(time.time()))
                self.outputDirectory = os.path.join(os.getcwd(), filename)
            else:
                self.outputDirectory = outputDirectory

            # don't allow overwriting of directories
            if os.path.exists(self.outputDirectory):
                print("ERROR: Output directory already exists. Choose another directory or remove the exisiting output directory before continuing.")
                sys.exit()

            # attempt to make the output directory if it doesn't exist
            if not os.path.exists(self.outputDirectory):
                os.makedirs(self.outputDirectory)
            # attempt to add the image directory if it's required
            if saveImages:
                self.imageDirectory = os.path.join(self.outputDirectory, 'plots')
                if not os.path.exists(self.imageDirectory):
                    os.makedirs(self.imageDirectory)

            print("Files will be output to: " + self.outputDirectory)
        except Exception as e:
            print("There was a problem creating the output directories.")
            print(e)
            sys.exit()

        # availableBackgroundcolumns = self.dataExtractor.getAvailableColumns('background')
        #
        # backgroundDataWriter = BackgroundDataWriter.BackgroundDataWriter()
        # for column in availableBackgroundcolumns:
        #     _, yData = self.dataExtractor.extractData(column)
        #     backgroundDataWriter.writeLine(column, sum(yData) / len(yData), np.var(yData))
        # backgroundDataWriter.writeToFile(self.outputDirectory)
        # print("Background data processing completed.")

        #Ensure that the column names are valid
        if columns != None:
            errorColumns = []
            for column in columns:
                if not column in availablePlotColumns:
                    errorColumns.append(column)
            if len(errorColumns) != 0:
                print("Fatal Error! these column(s) do not exist for this mode: " + ', '.join(x for x in errorColumns))
                sys.exit()
            self.columnsToPlot = columns
        elif startColumn != None:
            try:
                idx = availablePlotColumns.index(startColumn)
                self.columnsToPlot = availablePlotColumns[idx:]
            except:
                print("Start column: " + startColumn + " was not found.")
        else:
            self.columnsToPlot = availablePlotColumns

        if len(self.columnsToPlot) == 0:
            print("No columns to plot. Exiting.")
            sys.exit()

        self.currentPlotIndex = 0

        self.printGuide()

        self.plotNext()
Example #7
0
import learning, util, sys, DataExtractor
from learning import *
from DataExtractor import DataExtractor
learner = StochasticGradientLearner(footballFeatureExtractor)

data = list()

for i in xrange(5, 13):
    data.append(DataExtractor(i).featureDictionary)

train = dict()

test = dict()

for i in xrange(0, 4):
    train.update(data[i])

for i in xrange(4, 8):
    test.update(data[i])

from optparse import OptionParser
parser = OptionParser()


def default(str):
    return str + ' [Default: %default]'


parser.add_option(
    '-f',
    '--featureExtractor',
Example #8
0
from DataExtractor import *

data = DataExtractor(11)
data10 = DataExtractor(10)
data9 = DataExtractor(9)
print len(data.featureDictionary.items())
print len(data10.featureDictionary.items())
data.featureDictionary.update(data10.featureDictionary)
print len(data.featureDictionary.items())