DHEIVER commited on
Commit
47da19c
1 Parent(s): 1d1a73d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +2 -51
app.py CHANGED
@@ -10,6 +10,8 @@ import time
10
  from sklearn.cluster import KMeans
11
  import os
12
  from preprocessar_imagem import preprocessar_imagem
 
 
13
  device = "cuda" if torch.cuda.is_available() else "cpu"
14
 
15
  # Função para ordenar e pré-processar a imagem de entrada
@@ -23,57 +25,6 @@ def ordenar_e_preprocessar_imagem(img, modelo):
23
  # Caminho absoluto para a pasta de salvamento
24
  caminho_salvar_resultado = "/Segmento_de_Angio_Coronariana_v5/Salvar Resultado"
25
 
26
- # Função para processar a imagem de entrada
27
- def processar_imagem_de_entrada(img, modelo, pipe, salvar_resultado=False):
28
- try:
29
- # Faça uma cópia da imagem original
30
- img = img.copy()
31
-
32
- # Coloque o modelo na GPU (se disponível) e configure-o para modo de avaliação
33
- pipe = pipe.to(device).eval()
34
-
35
- # Registre o tempo de início
36
- start = time.time()
37
-
38
- # Pré-processe a imagem e obtenha informações de dimensão
39
- img, h, w, ori_gray, ori = ordenar_e_preprocessar_imagem(img, modelo)
40
-
41
- # Converta a imagem para o formato esperado pelo modelo e coloque-a na GPU
42
- img = torch.FloatTensor(img).unsqueeze(0).to(device)
43
-
44
- # Realize a inferência do modelo sem gradientes
45
- with torch.no_grad():
46
- if modelo == 'AngioNet':
47
- img = torch.cat([img, img], dim=0)
48
- logit = np.round(torch.softmax(pipe.forward(img), dim=1).detach().cpu().numpy()[0, 0]).astype(np.uint8)
49
-
50
- # Calcule o tempo decorrido
51
- spent = time.time() - start
52
- spent = f"{spent:.3f} segundos"
53
-
54
- # Redimensione o resultado, se necessário
55
- if h != 512 or w != 512:
56
- logit = cv2.resize(logit, (h, w))
57
-
58
- # Converta o resultado para um formato booleano
59
- logit = logit.astype(bool)
60
-
61
-
62
- # Salve o resultado em um arquivo se a opção estiver ativada
63
- if salvar_resultado:
64
- nome_arquivo = os.path.join(caminho_salvar_resultado, f'resultado_{int(time.time())}.png')
65
- cv2.imwrite(nome_arquivo, img_out)
66
-
67
- return spent, img_out
68
-
69
- except Exception as e:
70
- # Em caso de erro, retorne uma mensagem de erro
71
- return str(e), None
72
-
73
- # ... (resto do código) ...
74
-
75
-
76
-
77
 
78
  # Carregar modelos pré-treinados
79
  models = {
 
10
  from sklearn.cluster import KMeans
11
  import os
12
  from preprocessar_imagem import preprocessar_imagem
13
+ from processar_imagem_de_entrada import processar_imagem_de_entrada
14
+
15
  device = "cuda" if torch.cuda.is_available() else "cpu"
16
 
17
  # Função para ordenar e pré-processar a imagem de entrada
 
25
  # Caminho absoluto para a pasta de salvamento
26
  caminho_salvar_resultado = "/Segmento_de_Angio_Coronariana_v5/Salvar Resultado"
27
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
 
29
  # Carregar modelos pré-treinados
30
  models = {