#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Dec 15 13:19:12 2023

@author: tiago
"""

import os
import numpy as np

# Caminho para a pasta com os arquivos .npy
p1 = '/home/tiagomandu/tbmandu/dados/meanprofiles/'
cd = 'glm'
rad = 'jg'
pasta = p1 + cd + '/' + rad + '/'
#pasta = '/home/tiago/Documentos/meanprofiles/glm/jg/'

outpath = '/home/tiagomandu/tbmandu/dados/meanprofiles/class_pg/'


# Lista para armazenar os arrays das primeiras colunas
raio = []
classif = []
perfil = []
parameters = []


n2 = 'pg_' #metodo
n3 = cd + '_' #dataset
n4 = rad #radar

#------------------------------------------------------------------------------

#-------------------------------------- É O MESMO PARA TODOS OS METODOS:


n1 = 'class4_' #classe
# Iterar sobre os arquivos na pasta
for arquivo in os.listdir(pasta):
    if arquivo.endswith('.npy'): #and arquivo.startswith('meanprofile_'):
        caminho_arquivo = os.path.join(pasta, arquivo)
        # Carregar o arquivo .npy
        dataset = np.load(caminho_arquivo )
        #condicao da classe:
        #condclass = dataset[:, 0] == 1  #classe 1
        #condclass = (dataset[:, 0] >= 2) & (dataset[:, 0] <= 3) #classe 2
        #condclass = (dataset[:, 0] >= 4) & (dataset[:, 0] <= 7) #classe 3
        condclass = (dataset[:, 0] >= 8 ) & (dataset[:, 0] <= 15) #classe 4
        #condclass = (dataset[:, 0] >= 16) #classe 5
        dados = dataset[condclass]
        c1 = dados[:, 6] != 2
        rc1 = dados[c1]
        c2 = rc1
        dados = rc1
        #--------------
        raios = dados[:, 0]
        cs = dados[:,6]
        perfils = dados[:,7:22]
        param = dados[:, 23:26]
        print(n2+':'+n1+n4+':'+arquivo[14:24]) 
            
    
            
        
        raio.append(raios)
        classif.append(cs)
        perfil.append(perfils)
        parameters.append(param)


raioa = np.concatenate(raio)
classifa = np.concatenate(classif)
perfila = np.concatenate(perfil)
parametersa = np.concatenate(parameters)
tosave = np.column_stack((raioa,classifa,perfila,parametersa))

nomeout = n1+n2+n3+n4+'.npy'
np.save(outpath + nomeout,tosave)

n1 = 'class5_' #classe
# Iterar sobre os arquivos na pasta
for arquivo in os.listdir(pasta):
    if arquivo.endswith('.npy'): #and arquivo.startswith('meanprofile_'):
        caminho_arquivo = os.path.join(pasta, arquivo)
        # Carregar o arquivo .npy
        dataset = np.load(caminho_arquivo )
        #condicao da classe:
        #condclass = dataset[:, 0] == 1  #classe 1
        #condclass = (dataset[:, 0] >= 2) & (dataset[:, 0] <= 3) #classe 2
        #condclass = (dataset[:, 0] >= 4) & (dataset[:, 0] <= 7) #classe 3
        #condclass = (dataset[:, 0] >= 8 & dataset[:, 0] <= 15) #classe 4
        condclass = (dataset[:, 0] >= 16) #classe 5
        dados = dataset[condclass]
        c1 = dados[:, 6] != 2
        rc1 = dados[c1]
        c2 = rc1
        dados = rc1
        #--------------
        raios = dados[:, 0]
        cs = dados[:,6]
        perfils = dados[:,7:22]
        param = dados[:, 23:26]
        print(n2+':'+n1+n4+':'+arquivo[14:24]) 
            
    
            
        
        raio.append(raios)
        classif.append(cs)
        perfil.append(perfils)
        parameters.append(param)


raioa = np.concatenate(raio)
classifa = np.concatenate(classif)
perfila = np.concatenate(perfil)
parametersa = np.concatenate(parameters)
tosave = np.column_stack((raioa,classifa,perfila,parametersa))

nomeout = n1+n2+n3+n4+'.npy'
np.save(outpath + nomeout,tosave)


'''
n1 = 'class1_' #classe
# Iterar sobre os arquivos na pasta
for arquivo in os.listdir(pasta):
    if arquivo.endswith('.npy'): #and arquivo.startswith('meanprofile_'):
        caminho_arquivo = os.path.join(pasta, arquivo)
        # Carregar o arquivo .npy
        dataset = np.load(caminho_arquivo )
        #condicao da classe:
        condclass = dataset[:, 0] == 1  #classe 1
        #condclass = (dataset[:, 0] >= 2) & (dataset[:, 0] <= 3) #classe 2
        #condclass = (dataset[:, 0] >= 4) & (dataset[:, 0] <= 7) #classe 3
        #condclass = (dataset[:, 0] >= 8 & dataset[:, 0] <= 15) #classe 4
        #condclass = (dataset[:, 0] >= 16) #classe 5
        dados = dataset[condclass]
        c1 = dados[:, 6] != 2
        rc1 = dados[c1]
        c2 = rc1
        dados = rc1
        #--------------
        raios = dados[:, 0]
        cs = dados[:,6]
        perfils = dados[:,7:22]
        param = dados[:, 23:26]
        print(n2+':'+n1+n4+':'+arquivo[14:24]) 
            
    
            
        
        raio.append(raios)
        classif.append(cs)
        perfil.append(perfils)
        parameters.append(param)


raioa = np.concatenate(raio)
classifa = np.concatenate(classif)
perfila = np.concatenate(perfil)
parametersa = np.concatenate(parameters)
tosave = np.column_stack((raioa,classifa,perfila,parametersa))

nomeout = n1+n2+n3+n4+'.npy'
np.save(outpath + nomeout,tosave)


n1 = 'class2_' #classe
# Iterar sobre os arquivos na pasta
for arquivo in os.listdir(pasta):
    if arquivo.endswith('.npy'): #and arquivo.startswith('meanprofile_'):
        caminho_arquivo = os.path.join(pasta, arquivo)
        # Carregar o arquivo .npy
        dataset = np.load(caminho_arquivo )
        #condicao da classe:
        #condclass = dataset[:, 0] == 1  #classe 1
        condclass = (dataset[:, 0] >= 2) & (dataset[:, 0] <= 3) #classe 2
        #condclass = (dataset[:, 0] >= 4) & (dataset[:, 0] <= 7) #classe 3
        #condclass = (dataset[:, 0] >= 8 & dataset[:, 0] <= 15) #classe 4
        #condclass = (dataset[:, 0] >= 16) #classe 5
        dados = dataset[condclass]
        c1 = dados[:, 6] != 2
        rc1 = dados[c1]
        c2 = rc1
        dados = rc1
        #--------------
        raios = dados[:, 0]
        cs = dados[:,6]
        perfils = dados[:,7:22]
        param = dados[:, 23:26]
        print(n2+':'+n1+n4+':'+arquivo[14:24]) 
            
    
            
        
        raio.append(raios)
        classif.append(cs)
        perfil.append(perfils)
        parameters.append(param)


raioa = np.concatenate(raio)
classifa = np.concatenate(classif)
perfila = np.concatenate(perfil)
parametersa = np.concatenate(parameters)
tosave = np.column_stack((raioa,classifa,perfila,parametersa))

nomeout = n1+n2+n3+n4+'.npy'
np.save(outpath + nomeout,tosave)

n1 = 'class3_' #classe
# Iterar sobre os arquivos na pasta
for arquivo in os.listdir(pasta):
    if arquivo.endswith('.npy'): #and arquivo.startswith('meanprofile_'):
        caminho_arquivo = os.path.join(pasta, arquivo)
        # Carregar o arquivo .npy
        dataset = np.load(caminho_arquivo )
        #condicao da classe:
        #condclass = dataset[:, 0] == 1  #classe 1
        #condclass = (dataset[:, 0] >= 2) & (dataset[:, 0] <= 3) #classe 2
        condclass = (dataset[:, 0] >= 4) & (dataset[:, 0] <= 7) #classe 3
        #condclass = (dataset[:, 0] >= 8 & dataset[:, 0] <= 15) #classe 4
        #condclass = (dataset[:, 0] >= 16) #classe 5
        dados = dataset[condclass]
        c1 = dados[:, 6] != 2
        rc1 = dados[c1]
        c2 = rc1
        dados = rc1
        #--------------
        raios = dados[:, 0]
        cs = dados[:,6]
        perfils = dados[:,7:22]
        param = dados[:, 23:26]
        print(n2+':'+n1+n4+':'+arquivo[14:24]) 
            
    
            
        
        raio.append(raios)
        classif.append(cs)
        perfil.append(perfils)
        parameters.append(param)


raioa = np.concatenate(raio)
classifa = np.concatenate(classif)
perfila = np.concatenate(perfil)
parametersa = np.concatenate(parameters)
tosave = np.column_stack((raioa,classifa,perfila,parametersa))

nomeout = n1+n2+n3+n4+'.npy'
np.save(outpath + nomeout,tosave)
'''