Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -1,5 +1,3 @@
|
|
1 |
-
# Instale as dependências necessárias
|
2 |
-
|
3 |
import os
|
4 |
import tempfile
|
5 |
import pydicom
|
@@ -20,6 +18,13 @@ def dicom_to_nifti_and_display(dicom_file):
|
|
20 |
dicom_data = pydicom.dcmread(dicom_file.name)
|
21 |
dicom_image = dicom_data.pixel_array
|
22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
# Criar um objeto NIfTI
|
24 |
nifti_image = nib.Nifti1Image(dicom_image, affine=np.eye(4))
|
25 |
|
@@ -33,11 +38,18 @@ def dicom_to_nifti_and_display(dicom_file):
|
|
33 |
|
34 |
# Exibir as imagens usando Matplotlib
|
35 |
fig, axes = plt.subplots(1, 2, figsize=(10, 5))
|
36 |
-
|
|
|
|
|
37 |
axes[0].set_title("Imagem DICOM Original")
|
38 |
axes[0].axis("off")
|
39 |
|
40 |
-
|
|
|
|
|
|
|
|
|
|
|
41 |
axes[1].set_title("Imagem NIfTI Convertida")
|
42 |
axes[1].axis("off")
|
43 |
|
|
|
|
|
|
|
1 |
import os
|
2 |
import tempfile
|
3 |
import pydicom
|
|
|
18 |
dicom_data = pydicom.dcmread(dicom_file.name)
|
19 |
dicom_image = dicom_data.pixel_array
|
20 |
|
21 |
+
# Verificar se a imagem é 3D e extrair o slice central
|
22 |
+
if len(dicom_image.shape) == 3:
|
23 |
+
slice_index = dicom_image.shape[0] // 2 # Slice central ao longo do eixo Z
|
24 |
+
dicom_slice = dicom_image[slice_index, :, :] # Extrair o slice
|
25 |
+
else:
|
26 |
+
dicom_slice = dicom_image # Se for 2D, use a imagem diretamente
|
27 |
+
|
28 |
# Criar um objeto NIfTI
|
29 |
nifti_image = nib.Nifti1Image(dicom_image, affine=np.eye(4))
|
30 |
|
|
|
38 |
|
39 |
# Exibir as imagens usando Matplotlib
|
40 |
fig, axes = plt.subplots(1, 2, figsize=(10, 5))
|
41 |
+
|
42 |
+
# Imagem DICOM (slice central)
|
43 |
+
axes[0].imshow(dicom_slice, cmap="gray")
|
44 |
axes[0].set_title("Imagem DICOM Original")
|
45 |
axes[0].axis("off")
|
46 |
|
47 |
+
# Imagem NIfTI (slice central)
|
48 |
+
if len(nifti_loaded.shape) == 3:
|
49 |
+
nifti_slice = nifti_loaded[nifti_loaded.shape[2] // 2, :, :] # Slice central ao longo do eixo Z
|
50 |
+
else:
|
51 |
+
nifti_slice = nifti_loaded
|
52 |
+
axes[1].imshow(nifti_slice, cmap="gray")
|
53 |
axes[1].set_title("Imagem NIfTI Convertida")
|
54 |
axes[1].axis("off")
|
55 |
|