Пример #1
0
def loadFeatures():
    volumes = []
    volumes += [
        'DME1', 'DME2', 'DME3', 'DME4', 'DME5', 'DME6', 'DME7', 'DME8', 'DME9',
        'DME10', 'DME11', 'DME12', 'DME13', 'DME14', 'DME15'
    ]
    volumes += [
        'NORMAL1', 'NORMAL2', 'NORMAL3', 'NORMAL4', 'NORMAL5', 'NORMAL6',
        'NORMAL7', 'NORMAL8', 'NORMAL9', 'NORMAL10', 'NORMAL11', 'NORMAL12',
        'NORMAL13', 'NORMAL14', 'NORMAL15'
    ]

    featuresGeo = []
    vetLabelsGeo = []

    for vol in volumes:
        print('Extraindo glcm features for: ', vol)
        fileObject = open('./geo_features/' + vol, 'rb')
        featuresVolume = pickle.load(fileObject)

        volumeInLine = []
        for i in featuresVolume:
            volumeInLine += i

        print('tam:', len(volumeInLine))
        featuresGeo.append(volumeInLine)
        vetLabelsGeo.append(getClass(vol))

    print('Gerando arff file for glcm', len(vetLabelsGeo), len(featuresGeo))
    arffGenerator.createArffFile('./geo_features/GEODATASET',
                                 featuresGeo, vetLabelsGeo, 'DME,NORMAL',
                                 len(featuresGeo[0]))
Пример #2
0
def loadFeaturesTest():
    volumes = [
        'AMD6', 'AMD11', 'AMD15', 'DME5', 'DME10', 'DME11', 'NORMAL10',
        'NORMAL12', 'NORMAL15'
    ]

    for vol in volumes:
        GGLfeatures = []
        vectLabelsGGL = []
        print('Carregando gabor+glcm+lbp features for: ', vol)
        fileObject = open('./gabor_features/' + vol, 'rb')
        features1 = pickle.load(fileObject)
        fileObject = open('./glcm_features/' + vol, 'rb')
        features2 = pickle.load(fileObject)
        fileObject = open('./lbp_features/' + vol, 'rb')
        features3 = pickle.load(fileObject)

        for i in range(0, len(features1)):
            features4 = features1[i]
            features4 += features2[i]
            features4 += features3[i]
            GGLfeatures.append(features4)

        vectLabelsGGL += [getClass(vol) for i in range(0, len(features1))]

        print('Gerando arff file for gabor+ glcm + lbp')
        arffGenerator.createArffFile(
            './gabor_glcm_lbp_features/' + vol + 'DATASET', GGLfeatures,
            vectLabelsGGL, 'AMD,DME,NORMAL', len(GGLfeatures[0]))
Пример #3
0
def gerarTrain(files, classes, fileName, strClasses, dir):

    allFeatures = []
    allLabels = []
    for i in range(0, len(files)):
        fileObject = open(files[i], 'rb')
        features = pickle.load(fileObject)
        vectLabels = [classes[i] for j in range(0, len(features))]
        allFeatures += features
        allLabels += vectLabels

    arffGenerator.createArffFile(dir + fileName, allFeatures, allLabels,
                                 strClasses, len(allFeatures[0]))
Пример #4
0
            listaResultante = pre.preProcessarTexto(raw, 20)
            # #print(listaResultante)

            frase = createSentence(listaResultante)
            corpus.append(frase)
            frase = frase.encode("utf-8")

            # k += 10
            file.write(frase + "\n")
        file.close()
        id += 1
    return corpus,labels

import nltk


'''Main'''
print("Criando corpus")
corpus,labels = createCorpus()
print (len(corpus),len(labels))


if(labels!=None):
    print("Extraindo características pra treino")
    features = ext.extractFeatures(corpus)
    print(features.shape)
    #print("Gerando arquivo arff")
    gen.createArffFile('./testes/barReaRomArc',features,labels,features.shape[1],"{0,1,2,3}")

Пример #5
0
def loadFeatures():
    volumes = []
    volumes += [
        'AMD1', 'AMD2', 'AMD3', 'AMD4', 'AMD5', 'AMD6', 'AMD7', 'AMD8', 'AMD9',
        'AMD10', 'AMD11', 'AMD12', 'AMD13', 'AMD14', 'AMD15'
    ]
    volumes += [
        'DME1', 'DME2', 'DME3', 'DME4', 'DME5', 'DME6', 'DME7', 'DME8', 'DME9',
        'DME10', 'DME11', 'DME12', 'DME13', 'DME14', 'DME15'
    ]
    volumes += [
        'NORMAL1', 'NORMAL2', 'NORMAL3', 'NORMAL4', 'NORMAL5', 'NORMAL6',
        'NORMAL7', 'NORMAL8', 'NORMAL9', 'NORMAL10', 'NORMAL11', 'NORMAL12',
        'NORMAL13', 'NORMAL14', 'NORMAL15'
    ]

    featuresGabor = []
    vetLabelsGabor = []
    featuresGLCM = []
    vetLabelsGLCM = []
    featuresLBP = []
    vetLabelsLBP = []
    '''GABOR + GLCM + LBP unica instancia'''
    GGLfeatures = []
    vectLabelsGGL = []
    lstTam = []
    for vol in volumes:
        print('Carregando gabor+glcm features for: ', vol)
        fileObject = open('./gabor_glcm_lbp_repLine/' + vol, 'rb')
        features1 = pickle.load(fileObject)
        GGLfeatures.append(np.asarray(features1).astype(np.float32))
        vectLabelsGGL.append(getClass(vol))
        lstTam.append(len(features1))
    print lstTam
    print np.min(lstTam), len(GGLfeatures[0])
    print GGLfeatures[0].dtype
    GGLfeatures = features_extraction.apply_BOW(GGLfeatures, np.min(lstTam))
    print('Gerando arff file for gabor+ glcm + lbp', len(GGLfeatures),
          len(vectLabelsGGL))
    arffGenerator.createArffFile(
        './gabor_glcm_lbp_repLine/GABORGLCMLBPLineDATASET', GGLfeatures,
        vectLabelsGGL, 'AMD,DME,NORMAL', len(GGLfeatures[0]))
    # '''GABOR + GLCM + LBP'''
    # GGLfeatures = []
    # vectLabelsGGL = []
    # for vol in volumes:
    #     print('Carregando gabor+glcm features for: ', vol)
    #     fileObject = open('./gabor_features/' + vol, 'rb')
    #     features1 = pickle.load(fileObject)
    #     fileObject = open('./glcm_features/' + vol, 'rb')
    #     features2 = pickle.load(fileObject)
    #     fileObject = open('./lbp_features/' + vol, 'rb')
    #     features3 = pickle.load(fileObject)
    #
    #     for i in range(0, len(features1)):
    #         features4 = []
    #         features4 += features1[i]
    #         features4 += features2[i]
    #         features4 += features3[i]
    #         GGLfeatures.append(features4)
    #
    #
    #     vectLabelsGGL += [getClass(vol) for i in range(0, len(features1))]
    #
    # GGLfeatures = doPCA(GGLfeatures, 100)
    # print ('Gerando arff file for gabor+ glcm + lbp')
    # arffGenerator.createArffFile('./gabor_glcm_lbp_features/GABORGLCMLBPPCADATASET', GGLfeatures, vectLabelsGGL,
    #                              'AMD,DME,NORMAL', len(GGLfeatures[0]))

    # vetLabelsGaborGLCM = []
    # GABORGLCMFeatures = []
    #
    # '''GABOR + GLCM'''
    # for vol in volumes:
    #     print('Carregando gabor+glcm features for: ', vol)
    #     fileObject = open('./gabor_features/' + vol, 'rb')
    #     features1 = pickle.load(fileObject)
    #     fileObject = open('./glcm_features/' + vol, 'rb')
    #     features2 = pickle.load(fileObject)
    #
    #     for i in range(0,len(features1)):
    #         features3 = features1[i]
    #         features3 += features2[i]
    #         GABORGLCMFeatures.append(features3)
    #
    #     vetLabelsGaborGLCM += [getClass(vol) for i in range(0,len(features1))]
    #
    # print ('Gerando arff file for gabor+ glcm')
    # arffGenerator.createArffFile('./gabor_glcm_features/GABORGLCMDATASET', GABORGLCMFeatures, vetLabelsGaborGLCM, 'AMD,DME,NORMAL',len(GABORGLCMFeatures[0]))
    #
    # vetLabelsGaborLBP = []
    # GABORLBPFeatures = []
    #
    # '''GABOR + LBP'''
    # for vol in volumes:
    #     print('Carregando gabor+lbp features for: ', vol)
    #     fileObject = open('./gabor_features/' + vol, 'rb')
    #     features1 = pickle.load(fileObject)
    #     fileObject = open('./lbp_features/' + vol, 'rb')
    #     features2 = pickle.load(fileObject)
    #
    #     for i in range(0, len(features1)):
    #         features3 = features1[i]
    #         features3 += features2[i]
    #         GABORLBPFeatures.append(features3)
    #
    #     vetLabelsGaborLBP += [getClass(vol) for i in range(0, len(features1))]
    #
    # print ('Gerando arff file for gabor+ lbp')
    # arffGenerator.createArffFile('./gabor_lbp_features/GABORLBPDATASET', GABORLBPFeatures, vetLabelsGaborLBP,
    #                              'AMD,DME,NORMAL', len(GABORLBPFeatures[0]))
    #
    # '''GLCM + LBP'''
    # vetLabelsGLCMLBP = []
    # GLCMLBPFeatures = []
    #
    # for vol in volumes:
    #     print('Carregando glcm+lbp features for: ', vol)
    #     fileObject = open('./glcm_features/' + vol, 'rb')
    #     features1 = pickle.load(fileObject)
    #     fileObject = open('./lbp_features/' + vol, 'rb')
    #     features2 = pickle.load(fileObject)
    #
    #     for i in range(0, len(features1)):
    #         features3 = features1[i]
    #         features3 += features2[i]
    #         GLCMLBPFeatures.append(features3)
    #
    #     vetLabelsGLCMLBP += [getClass(vol) for i in range(0, len(features1))]
    #
    # print ('Gerando arff file for glcm+ lbp')
    # arffGenerator.createArffFile('./glcm_lbp_features/GLCMLBPDATASET', GLCMLBPFeatures, vetLabelsGLCMLBP,
    #                              'AMD,DME,NORMAL', len(GLCMLBPFeatures[0]))

    # for vol in volumes:
    #     print('Carregando gabor features for: ', vol)
    #     fileObject = open('./gabor_features/' + vol, 'rb')
    #     featuresVolume = pickle.load(fileObject)
    #     featuresGabor += featuresVolume
    #     vetLabelsGabor += [getClass(vol) for i in range(0,len(featuresVolume))]
    #
    # print ('Gerando arff file for gabor')
    # arffGenerator.createArffFile('./gabor_features/GABORDATASET',featuresGabor,vetLabelsGabor,'AMD,DME,NORMAL',len(featuresGabor[0]))
    #
    # for vol in volumes:
    #     print('Extraindo glcm features for: ', vol)
    #     fileObject = open('./glcm_features/' + vol, 'rb')
    #     featuresVolume = pickle.load(fileObject)
    #     featuresGLCM += featuresVolume
    #     vetLabelsGLCM += [getClass(vol) for i in range(0,len(featuresVolume))]
    #
    # print ('Gerando arff file for glcm')
    # arffGenerator.createArffFile('./glcm_features/GLCMDATASET',featuresGLCM,vetLabelsGLCM,'AMD,DME,NORMAL',len(featuresGLCM[0]))
    #
    # for vol in volumes:
    #     print('Extraindo lbp features for: ', vol)
    #     fileObject = open('./lbp_features/' + vol, 'rb')
    #     featuresVolume = pickle.load(fileObject)
    #     featuresLBP += featuresVolume
    #     vetLabelsLBP += [getClass(vol) for i in range(0,len(featuresVolume))]
    #
    # print ('Gerando arff file for lbp')
    # arffGenerator.createArffFile('./lbp_features/LBPDATASET',featuresLBP,vetLabelsLBP,'AMD,DME,NORMAL',len(featuresLBP[0]))
    #

    print("Fim...")
Пример #6
0
def geraAllArffsTrain():
    volumes = []
    volumes += [
        'AMD1', 'AMD2', 'AMD3', 'AMD4', 'AMD5', 'AMD6', 'AMD7', 'AMD8', 'AMD9',
        'AMD10', 'AMD11', 'AMD12', 'AMD13', 'AMD14', 'AMD15'
    ]
    volumes += [
        'DME1', 'DME2', 'DME3', 'DME4', 'DME5', 'DME6', 'DME7', 'DME8', 'DME9',
        'DME10', 'DME11', 'DME12', 'DME13', 'DME14', 'DME15'
    ]
    volumes += [
        'NORMAL1', 'NORMAL2', 'NORMAL3', 'NORMAL4', 'NORMAL5', 'NORMAL6',
        'NORMAL7', 'NORMAL8', 'NORMAL9', 'NORMAL10', 'NORMAL11', 'NORMAL12',
        'NORMAL13', 'NORMAL14', 'NORMAL15'
    ]
    indiceTeste = 1
    for i in range(0, 15):
        '''GABOR + GLCM + LBP'''
        GGLfeatures = []
        vectLabelsGGL = []

        GGLfeaturesTest = []
        vectLabelsGGLTest = []

        for j in range(0, len(volumes)):
            vol = volumes[j]

            if (getindice(vol) != str(indiceTeste)):
                '''ARFF TREINO'''
                fileObject = open('./gabor_features/' + volumes[j], 'rb')
                features1 = pickle.load(fileObject)
                fileObject = open('./glcm_features/' + volumes[j], 'rb')
                features2 = pickle.load(fileObject)
                fileObject = open('./lbp_features/' + volumes[j], 'rb')
                features3 = pickle.load(fileObject)

                for k in range(0, len(features1)):
                    features4 = []
                    features4 += features1[k]
                    features4 += features2[k]
                    features4 += features3[k]
                    GGLfeatures.append(features4)

                vectLabelsGGL += [
                    getClass(volumes[j]) for x in range(0, len(features1))
                ]
            else:
                print('nao entrou', vol)
                '''ARFF TESTE'''

                fileObject = open('./gabor_features/' + vol, 'rb')
                features1 = pickle.load(fileObject)
                fileObject = open('./glcm_features/' + vol, 'rb')
                features2 = pickle.load(fileObject)
                fileObject = open('./lbp_features/' + vol, 'rb')
                features3 = pickle.load(fileObject)

                for k in range(0, len(features1)):
                    features4 = []
                    features4 += features1[k]
                    features4 += features2[k]
                    features4 += features3[k]
                    GGLfeaturesTest.append(features4)

                vectLabelsGGLTest += [
                    getClass(vol) for x in range(0, len(features1))
                ]

        print('Gerando arff file for gabor+ glcm + lbp', len(GGLfeatures),
              len(vectLabelsGGL))
        arffGenerator.createArffFile(
            './train/GABORGLCMLBP' + str(indiceTeste) + 'TRAINDATASET',
            GGLfeatures, vectLabelsGGL, 'AMD,DME,NORMAL', len(GGLfeatures[0]))
        arffGenerator.createArffFile(
            './train/GABORGLCMLBP' + str(indiceTeste) + 'TESTDATASET',
            GGLfeaturesTest, vectLabelsGGLTest, 'AMD,DME,NORMAL',
            len(GGLfeatures[0]))
        indiceTeste += 1