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]))
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]))
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]))
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}")
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...")
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