**Análisis de un dataset de imágenes de CT con ROOT**

Nombre: Jennifer Ortega

Dataset

El dataset es un conjunto de datos de imágenes de tomografía computarizada(CT), tomadas de un Hospital de Ecuador, las imágenes fueron anonimizadas con anterioridad.

  • Importamos las librerías necesarias
In [1]:
import ROOT
import root_pandas
%jsroot on
import pydicom
import sys
import os
import pandas as pd
import numpy as np
from os import listdir
from os.path import isfile, join
import os
from pandas import DataFrame
import matplotlib.pyplot as plt
import array
Welcome to JupyROOT 6.18/04
  • Descargamos los datos de una pagina web en tiempo real.
In [2]:
#Descargamos los datos que esta alojados en la direccion, los datos estan en formato .zip
bashCommand = "wget http://201.159.223.36/experimental/jenn_files/recursos/datos.zip -O datos.zip"
os.system(bashCommand)
Out[2]:
0
--2021-03-03 07:01:41--  http://201.159.223.36/experimental/jenn_files/recursos/datos.zip
Connecting to 201.159.223.36:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 33985025 (32M) [application/zip]
Saving to: ‘datos.zip’

     0K .......... .......... .......... .......... ..........  0%  491K 68s
    50K .......... .......... .......... .......... ..........  0%  515K 66s
   100K .......... .......... .......... .......... ..........  0%  499K 66s
   150K .......... .......... .......... .......... ..........  0%  501K 66s
   200K .......... .......... .......... .......... ..........  0%  442K 67s
   250K .......... .......... .......... .......... ..........  0%  573K 66s
   300K .......... .......... .......... .......... ..........  1%  455K 67s
   350K .......... .......... .......... .......... ..........  1%  556K 66s
   400K .......... .......... .......... .......... ..........  1%  500K 65s
   450K .......... .......... .......... .......... ..........  1%  501K 65s
   500K .......... .......... .......... .......... ..........  1%  500K 65s
   550K .......... .......... .......... .......... ..........  1%  500K 65s
   600K .......... .......... .......... .......... ..........  1%  458K 65s
   650K .......... .......... .......... .......... ..........  2%  573K 65s
   700K .......... .......... .......... .......... ..........  2%  460K 65s
   750K .......... .......... .......... .......... ..........  2%  463K 65s
   800K .......... .......... .......... .......... ..........  2%  573K 65s
   850K .......... .......... .......... .......... ..........  2%  461K 65s
   900K .......... .......... .......... .......... ..........  2%  574K 64s
   950K .......... .......... .......... .......... ..........  3%  462K 64s
  1000K .......... .......... .......... .......... ..........  3%  577K 64s
  1050K .......... .......... .......... .......... ..........  3%  461K 64s
  1100K .......... .......... .......... .......... ..........  3%  458K 64s
  1150K .......... .......... .......... .......... ..........  3%  577K 64s
  1200K .......... .......... .......... .......... ..........  3%  461K 64s
  1250K .......... .......... .......... .......... ..........  3%  577K 64s
  1300K .......... .......... .......... .......... ..........  4%  491K 63s
  1350K .......... .......... .......... .......... ..........  4%  460K 64s
  1400K .......... .......... .......... .......... ..........  4%  590K 63s
  1450K .......... .......... .......... .......... ..........  4%  463K 63s
  1500K .......... .......... .......... .......... ..........  4%  459K 63s
  1550K .......... .......... .......... .......... ..........  4%  574K 63s
  1600K .......... .......... .......... .......... ..........  4%  512K 63s
  1650K .......... .......... .......... .......... ..........  5%  473K 63s
  1700K .......... .......... .......... .......... ..........  5%  460K 63s
  1750K .......... .......... .......... .......... ..........  5%  576K 63s
  1800K .......... .......... .......... .......... ..........  5%  461K 63s
  1850K .......... .......... .......... .......... ..........  5%  574K 62s
  1900K .......... .......... .......... .......... ..........  5%  507K 62s
  1950K .......... .......... .......... .......... ..........  6%  445K 62s
  2000K .......... .......... .......... .......... ..........  6%  601K 62s
  2050K .......... .......... .......... .......... ..........  6%  471K 62s
  2100K .......... .......... .......... .......... ..........  6%  506K 62s
  2150K .......... .......... .......... .......... ..........  6%  461K 62s
  2200K .......... .......... .......... .......... ..........  6%  576K 62s
  2250K .......... .......... .......... .......... ..........  6%  471K 62s
  2300K .......... .......... .......... .......... ..........  7%  470K 62s
  2350K .......... .......... .......... .......... ..........  7%  577K 61s
  2400K .......... .......... .......... .......... ..........  7%  472K 61s
  2450K .......... .......... .......... .......... ..........  7%  490K 61s
  2500K .......... .......... .......... .......... ..........  7%  459K 61s
  2550K .......... .......... .......... .......... ..........  7%  578K 61s
  2600K .......... .......... .......... .......... ..........  7%  473K 61s
  2650K .......... .......... .......... .......... ..........  8%  575K 61s
  2700K .......... .......... .......... .......... ..........  8%  472K 61s
  2750K .......... .......... .......... .......... ..........  8%  482K 61s
  2800K .......... .......... .......... .......... ..........  8%  572K 60s
  2850K .......... .......... .......... .......... ..........  8%  463K 60s
  2900K .......... .......... .......... .......... ..........  8%  519K 60s
  2950K .......... .......... .......... .......... ..........  9%  483K 60s
  3000K .......... .......... .......... .......... ..........  9%  481K 60s
  3050K .......... .......... .......... .......... ..........  9%  459K 60s
  3100K .......... .......... .......... .......... ..........  9%  539K 60s
  3150K .......... .......... .......... .......... ..........  9%  574K 60s
  3200K .......... .......... .......... .......... ..........  9%  487K 60s
  3250K .......... .......... .......... .......... ..........  9%  460K 60s
  3300K .......... .......... .......... .......... .......... 10%  460K 60s
  3350K .......... .......... .......... .......... .......... 10%  592K 59s
  3400K .......... .......... .......... .......... .......... 10%  462K 59s
  3450K .......... .......... .......... .......... .......... 10%  574K 59s
  3500K .......... .......... .......... .......... .......... 10%  461K 59s
  3550K .......... .......... .......... .......... .......... 10%  462K 59s
  3600K .......... .......... .......... .......... .......... 10%  632K 59s
  3650K .......... .......... .......... .......... .......... 11%  467K 59s
  3700K .......... .......... .......... .......... .......... 11%  465K 59s
  3750K .......... .......... .......... .......... .......... 11%  579K 59s
  3800K .......... .......... .......... .......... .......... 11%  458K 58s
  3850K .......... .......... .......... .......... .......... 11%  469K 58s
  3900K .......... .......... .......... .......... .......... 11%  582K 58s
  3950K .......... .......... .......... .......... .......... 12%  460K 58s
  4000K .......... .......... .......... .......... .......... 12%  575K 58s
  4050K .......... .......... .......... .......... .......... 12%  461K 58s
  4100K .......... .......... .......... .......... .......... 12%  542K 58s
  4150K .......... .......... .......... .......... .......... 12%  471K 58s
  4200K .......... .......... .......... .......... .......... 12%  573K 58s
  4250K .......... .......... .......... .......... .......... 12%  463K 58s
  4300K .......... .......... .......... .......... .......... 13%  460K 58s
  4350K .......... .......... .......... .......... .......... 13%  572K 57s
  4400K .......... .......... .......... .......... .......... 13%  463K 57s
  4450K .......... .......... .......... .......... .......... 13%  573K 57s
  4500K .......... .......... .......... .......... .......... 13%  485K 57s
  4550K .......... .......... .......... .......... .......... 13%  481K 57s
  4600K .......... .......... .......... .......... .......... 14%  497K 57s
  4650K .......... .......... .......... .......... .......... 14% 64.9K 61s
  4700K .......... .......... .......... .......... .......... 14%  839K 60s
  4750K .......... .......... .......... .......... .......... 14%  765K 60s
  4800K .......... .......... .......... .......... .......... 14% 1.13M 60s
  4850K .......... .......... .......... .......... .......... 14% 1.29M 59s
  4900K .......... .......... .......... .......... .......... 14%  797K 59s
  4950K .......... .......... .......... .......... .......... 15%  577K 59s
  5000K .......... .......... .......... .......... .......... 15%  765K 58s
  5050K .......... .......... .......... .......... .......... 15%  573K 58s
  5100K .......... .......... .......... .......... .......... 15%  143M 57s
  5150K .......... .......... .......... .......... .......... 15%  140M 57s
  5200K .......... .......... .......... .......... .......... 15% 75.7M 56s
  5250K .......... .......... .......... .......... .......... 15% 2.43M 56s
  5300K .......... .......... .......... .......... .......... 16%  583K 55s
  5350K .......... .......... .......... .......... .......... 16%  493K 55s
  5400K .......... .......... .......... .......... .......... 16%  466K 55s
  5450K .......... .......... .......... .......... .......... 16%  483K 55s
  5500K .......... .......... .......... .......... .......... 16%  591K 55s
  5550K .......... .......... .......... .......... .......... 16%  462K 55s
  5600K .......... .......... .......... .......... .......... 17%  575K 55s
  5650K .......... .......... .......... .......... .......... 17%  459K 55s
  5700K .......... .......... .......... .......... .......... 17%  461K 55s
  5750K .......... .......... .......... .......... .......... 17%  576K 55s
  5800K .......... .......... .......... .......... .......... 17%  472K 54s
  5850K .......... .......... .......... .......... .......... 17%  573K 54s
  5900K .......... .......... .......... .......... .......... 17%  461K 54s
  5950K .......... .......... .......... .......... .......... 18%  462K 54s
  6000K .......... .......... .......... .......... .......... 18%  590K 54s
  6050K .......... .......... .......... .......... .......... 18%  472K 54s
  6100K .......... .......... .......... .......... .......... 18%  525K 54s
  6150K .......... .......... .......... .......... .......... 18%  459K 54s
  6200K .......... .......... .......... .......... .......... 18%  578K 54s
  6250K .......... .......... .......... .......... .......... 18%  460K 54s
  6300K .......... .......... .......... .......... .......... 19%  575K 53s
  6350K .......... .......... .......... .......... .......... 19%  445K 53s
  6400K .......... .......... .......... .......... .......... 19%  463K 53s
  6450K .......... .......... .......... .......... .......... 19% 62.7K 56s
  6500K .......... .......... .......... .......... .......... 19% 1.13M 56s
  6550K .......... .......... .......... .......... .......... 19%  770K 55s
  6600K .......... .......... .......... .......... .......... 20%  765K 55s
  6650K .......... .......... .......... .......... .......... 20%  804K 55s
  6700K .......... .......... .......... .......... .......... 20%  137M 54s
  6750K .......... .......... .......... .......... .......... 20%  150M 54s
  6800K .......... .......... .......... .......... .......... 20%  107M 53s
  6850K .......... .......... .......... .......... .......... 20%  195K 54s
  6900K .......... .......... .......... .......... .......... 20%  146M 53s
  6950K .......... .......... .......... .......... .......... 21%  111M 53s
  7000K .......... .......... .......... .......... .......... 21%  133M 52s
  7050K .......... .......... .......... .......... .......... 21% 94.0M 52s
  7100K .......... .......... .......... .......... .......... 21%  521K 52s
  7150K .......... .......... .......... .......... .......... 21%  575K 52s
  7200K .......... .......... .......... .......... .......... 21%  457K 52s
  7250K .......... .......... .......... .......... .......... 21%  579K 52s
  7300K .......... .......... .......... .......... .......... 22%  463K 51s
  7350K .......... .......... .......... .......... .......... 22%  459K 51s
  7400K .......... .......... .......... .......... .......... 22%  577K 51s
  7450K .......... .......... .......... .......... .......... 22%  461K 51s
  7500K .......... .......... .......... .......... .......... 22%  573K 51s
  7550K .......... .......... .......... .......... .......... 22%  461K 51s
  7600K .......... .......... .......... .......... .......... 23%  577K 51s
  7650K .......... .......... .......... .......... .......... 23%  459K 51s
  7700K .......... .......... .......... .......... .......... 23%  461K 51s
  7750K .......... .......... .......... .......... .......... 23%  578K 51s
  7800K .......... .......... .......... .......... .......... 23%  460K 50s
  7850K .......... .......... .......... .......... .......... 23%  574K 50s
  7900K .......... .......... .......... .......... .......... 23%  462K 50s
  7950K .......... .......... .......... .......... .......... 24%  470K 50s
  8000K .......... .......... .......... .......... .......... 24%  577K 50s
  8050K .......... .......... .......... .......... .......... 24%  460K 50s
  8100K .......... .......... .......... .......... .......... 24%  577K 50s
  8150K .......... .......... .......... .......... .......... 24%  438K 50s
  8200K .......... .......... .......... .......... .......... 24%  590K 50s
  8250K .......... .......... .......... .......... .......... 25%  463K 50s
  8300K .......... .......... .......... .......... .......... 25%  574K 49s
  8350K .......... .......... .......... .......... .......... 25%  459K 49s
  8400K .......... .......... .......... .......... .......... 25%  463K 49s
  8450K .......... .......... .......... .......... .......... 25%  574K 49s
  8500K .......... .......... .......... .......... .......... 25%  471K 49s
  8550K .......... .......... .......... .......... .......... 25%  576K 49s
  8600K .......... .......... .......... .......... .......... 26%  459K 49s
  8650K .......... .......... .......... .......... .......... 26%  553K 49s
  8700K .......... .......... .......... .......... .......... 26%  464K 49s
  8750K .......... .......... .......... .......... .......... 26%  471K 49s
  8800K .......... .......... .......... .......... .......... 26%  576K 48s
  8850K .......... .......... .......... .......... .......... 26%  460K 48s
  8900K .......... .......... .......... .......... .......... 26%  573K 48s
  8950K .......... .......... .......... .......... .......... 27%  462K 48s
  9000K .......... .......... .......... .......... .......... 27%  470K 48s
  9050K .......... .......... .......... .......... .......... 27%  579K 48s
  9100K .......... .......... .......... .......... .......... 27%  460K 48s
  9150K .......... .......... .......... .......... .......... 27%  465K 48s
  9200K .......... .......... .......... .......... .......... 27%  520K 48s
  9250K .......... .......... .......... .......... .......... 28%  575K 48s
  9300K .......... .......... .......... .......... .......... 28%  461K 47s
  9350K .......... .......... .......... .......... .......... 28%  577K 47s
  9400K .......... .......... .......... .......... .......... 28%  469K 47s
  9450K .......... .......... .......... .......... .......... 28%  461K 47s
  9500K .......... .......... .......... .......... .......... 28%  575K 47s
  9550K .......... .......... .......... .......... .......... 28%  461K 47s
  9600K .......... .......... .......... .......... .......... 29%  578K 47s
  9650K .......... .......... .......... .......... .......... 29%  448K 47s
  9700K .......... .......... .......... .......... .......... 29%  573K 47s
  9750K .......... .......... .......... .......... .......... 29%  472K 47s
  9800K .......... .......... .......... .......... .......... 29%  460K 46s
  9850K .......... .......... .......... .......... .......... 29%  577K 46s
  9900K .......... .......... .......... .......... .......... 29%  461K 46s
  9950K .......... .......... .......... .......... .......... 30%  575K 46s
 10000K .......... .......... .......... .......... .......... 30%  472K 46s
 10050K .......... .......... .......... .......... .......... 30%  481K 46s
 10100K .......... .......... .......... .......... .......... 30%  577K 46s
 10150K .......... .......... .......... .......... .......... 30%  498K 46s
 10200K .......... .......... .......... .......... .......... 30%  472K 46s
 10250K .......... .......... .......... .......... .......... 31%  459K 46s
 10300K .......... .......... .......... .......... .......... 31%  577K 45s
 10350K .......... .......... .......... .......... .......... 31%  472K 45s
 10400K .......... .......... .......... .......... .......... 31%  573K 45s
 10450K .......... .......... .......... .......... .......... 31%  461K 45s
 10500K .......... .......... .......... .......... .......... 31%  471K 45s
 10550K .......... .......... .......... .......... .......... 31%  592K 45s
 10600K .......... .......... .......... .......... .......... 32%  459K 45s
 10650K .......... .......... .......... .......... .......... 32%  513K 45s
 10700K .......... .......... .......... .......... .......... 32%  472K 45s
 10750K .......... .......... .......... .......... .......... 32%  574K 45s
 10800K .......... .......... .......... .......... .......... 32%  460K 44s
 10850K .......... .......... .......... .......... .......... 32%  484K 44s
 10900K .......... .......... .......... .......... .......... 32%  573K 44s
 10950K .......... .......... .......... .......... .......... 33%  462K 44s
 11000K .......... .......... .......... .......... .......... 33%  574K 44s
 11050K .......... .......... .......... .......... .......... 33%  484K 44s
 11100K .......... .......... .......... .......... .......... 33%  493K 44s
 11150K .......... .......... .......... .......... .......... 33%  473K 44s
 11200K .......... .......... .......... .......... .......... 33%  470K 44s
 11250K .......... .......... .......... .......... .......... 34%  576K 44s
 11300K .......... .......... .......... .......... .......... 34%  461K 43s
 11350K .......... .......... .......... .......... .......... 34%  574K 43s
 11400K .......... .......... .......... .......... .......... 34%  462K 43s
 11450K .......... .......... .......... .......... .......... 34%  575K 43s
 11500K .......... .......... .......... .......... .......... 34%  460K 43s
 11550K .......... .......... .......... .......... .......... 34%  463K 43s
 11600K .......... .......... .......... .......... .......... 35%  574K 43s
 11650K .......... .......... .......... .......... .......... 35%  448K 43s
 11700K .......... .......... .......... .......... .......... 35%  580K 43s
 11750K .......... .......... .......... .......... .......... 35%  459K 43s
 11800K .......... .......... .......... .......... .......... 35%  575K 42s
 11850K .......... .......... .......... .......... .......... 35%  463K 42s
 11900K .......... .......... .......... .......... .......... 36%  572K 42s
 11950K .......... .......... .......... .......... .......... 36%  460K 42s
 12000K .......... .......... .......... .......... .......... 36%  461K 42s
 12050K .......... .......... .......... .......... .......... 36%  577K 42s
 12100K .......... .......... .......... .......... .......... 36%  460K 42s
 12150K .......... .......... .......... .......... .......... 36%  559K 42s
 12200K .......... .......... .......... .......... .......... 36%  467K 42s
 12250K .......... .......... .......... .......... .......... 37% 66.3K 43s
 12300K .......... .......... .......... .......... .......... 37%  574K 43s
 12350K .......... .......... .......... .......... .......... 37% 1.63M 42s
 12400K .......... .......... .......... .......... .......... 37%  764K 42s
 12450K .......... .......... .......... .......... .......... 37%  484K 42s
 12500K .......... .......... .......... .......... .......... 37%  766K 42s
 12550K .......... .......... .......... .......... .......... 37%  768K 42s
 12600K .......... .......... .......... .......... .......... 38% 76.0M 41s
 12650K .......... .......... .......... .......... .......... 38% 68.7M 41s
 12700K .......... .......... .......... .......... .......... 38% 92.7M 41s
 12750K .......... .......... .......... .......... .......... 38%  117M 41s
 12800K .......... .......... .......... .......... .......... 38% 2.90M 40s
 12850K .......... .......... .......... .......... .......... 38%  460K 40s
 12900K .......... .......... .......... .......... .......... 39%  577K 40s
 12950K .......... .......... .......... .......... .......... 39%  459K 40s
 13000K .......... .......... .......... .......... .......... 39%  577K 40s
 13050K .......... .......... .......... .......... .......... 39%  461K 40s
 13100K .......... .......... .......... .......... .......... 39%  508K 40s
 13150K .......... .......... .......... .......... .......... 39%  482K 40s
 13200K .......... .......... .......... .......... .......... 39%  574K 40s
 13250K .......... .......... .......... .......... .......... 40%  463K 40s
 13300K .......... .......... .......... .......... .......... 40%  570K 39s
 13350K .......... .......... .......... .......... .......... 40%  463K 39s
 13400K .......... .......... .......... .......... .......... 40%  459K 39s
 13450K .......... .......... .......... .......... .......... 40%  575K 39s
 13500K .......... .......... .......... .......... .......... 40%  462K 39s
 13550K .......... .......... .......... .......... .......... 40%  590K 39s
 13600K .......... .......... .......... .......... .......... 41%  461K 39s
 13650K .......... .......... .......... .......... .......... 41%  540K 39s
 13700K .......... .......... .......... .......... .......... 41%  461K 39s
 13750K .......... .......... .......... .......... .......... 41%  578K 39s
 13800K .......... .......... .......... .......... .......... 41%  459K 38s
 13850K .......... .......... .......... .......... .......... 41%  460K 38s
 13900K .......... .......... .......... .......... .......... 42%  592K 38s
 13950K .......... .......... .......... .......... .......... 42%  461K 38s
 14000K .......... .......... .......... .......... .......... 42%  576K 38s
 14050K .......... .......... .......... .......... .......... 42%  459K 38s
 14100K .......... .......... .......... .......... .......... 42%  461K 38s
 14150K .......... .......... .......... .......... .......... 42%  558K 38s
 14200K .......... .......... .......... .......... .......... 42%  479K 38s
 14250K .......... .......... .......... .......... .......... 43%  472K 38s
 14300K .......... .......... .......... .......... .......... 43%  576K 37s
 14350K .......... .......... .......... .......... .......... 43%  460K 37s
 14400K .......... .......... .......... .......... .......... 43%  576K 37s
 14450K .......... .......... .......... .......... .......... 43%  460K 37s
 14500K .......... .......... .......... .......... .......... 43%  574K 37s
 14550K .......... .......... .......... .......... .......... 43%  472K 37s
 14600K .......... .......... .......... .......... .......... 44%  460K 37s
 14650K .......... .......... .......... .......... .......... 44%  513K 37s
 14700K .......... .......... .......... .......... .......... 44% 65.7K 38s
 14750K .......... .......... .......... .......... .......... 44%  582K 37s
 14800K .......... .......... .......... .......... .......... 44%  245M 37s
 14850K .......... .......... .......... .......... .......... 44%  383K 37s
 14900K .......... .......... .......... .......... .......... 45%  133M 37s
 14950K .......... .......... .......... .......... .......... 45%  463K 37s
 15000K .......... .......... .......... .......... .......... 45%  224M 37s
 15050K .......... .......... .......... .......... .......... 45%  392K 36s
 15100K .......... .......... .......... .......... .......... 45%  122M 36s
 15150K .......... .......... .......... .......... .......... 45%  113M 36s
 15200K .......... .......... .......... .......... .......... 45%  148M 36s
 15250K .......... .......... .......... .......... .......... 46%  164M 36s
 15300K .......... .......... .......... .......... .......... 46%  821K 35s
 15350K .......... .......... .......... .......... .......... 46%  461K 35s
 15400K .......... .......... .......... .......... .......... 46%  470K 35s
 15450K .......... .......... .......... .......... .......... 46%  590K 35s
 15500K .......... .......... .......... .......... .......... 46%  462K 35s
 15550K .......... .......... .......... .......... .......... 47%  495K 35s
 15600K .......... .......... .......... .......... .......... 47%  459K 35s
 15650K .......... .......... .......... .......... .......... 47%  595K 35s
 15700K .......... .......... .......... .......... .......... 47%  481K 35s
 15750K .......... .......... .......... .......... .......... 47%  463K 35s
 15800K .......... .......... .......... .......... .......... 47%  576K 34s
 15850K .......... .......... .......... .......... .......... 47%  458K 34s
 15900K .......... .......... .......... .......... .......... 48%  575K 34s
 15950K .......... .......... .......... .......... .......... 48%  461K 34s
 16000K .......... .......... .......... .......... .......... 48%  576K 34s
 16050K .......... .......... .......... .......... .......... 48%  460K 34s
 16100K .......... .......... .......... .......... .......... 48%  461K 34s
 16150K .......... .......... .......... .......... .......... 48%  593K 34s
 16200K .......... .......... .......... .......... .......... 48%  446K 34s
 16250K .......... .......... .......... .......... .......... 49%  596K 34s
 16300K .......... .......... .......... .......... .......... 49%  461K 33s
 16350K .......... .......... .......... .......... .......... 49%  460K 33s
 16400K .......... .......... .......... .......... .......... 49%  575K 33s
 16450K .......... .......... .......... .......... .......... 49%  459K 33s
 16500K .......... .......... .......... .......... .......... 49%  575K 33s
 16550K .......... .......... .......... .......... .......... 50%  484K 33s
 16600K .......... .......... .......... .......... .......... 50%  462K 33s
 16650K .......... .......... .......... .......... .......... 50%  573K 33s
 16700K .......... .......... .......... .......... .......... 50%  497K 33s
 16750K .......... .......... .......... .......... .......... 50%  490K 33s
 16800K .......... .......... .......... .......... .......... 50%  464K 32s
 16850K .......... .......... .......... .......... .......... 50%  578K 32s
 16900K .......... .......... .......... .......... .......... 51%  469K 32s
 16950K .......... .......... .......... .......... .......... 51%  460K 32s
 17000K .......... .......... .......... .......... .......... 51%  575K 32s
 17050K .......... .......... .......... .......... .......... 51%  472K 32s
 17100K .......... .......... .......... .......... .......... 51%  568K 32s
 17150K .......... .......... .......... .......... .......... 51%  466K 32s
 17200K .......... .......... .......... .......... .......... 51%  498K 32s
 17250K .......... .......... .......... .......... .......... 52%  574K 32s
 17300K .......... .......... .......... .......... .......... 52%  460K 31s
 17350K .......... .......... .......... .......... .......... 52%  462K 31s
 17400K .......... .......... .......... .......... .......... 52%  591K 31s
 17450K .......... .......... .......... .......... .......... 52%  461K 31s
 17500K .......... .......... .......... .......... .......... 52%  571K 31s
 17550K .......... .......... .......... .......... .......... 53%  473K 31s
 17600K .......... .......... .......... .......... .......... 53%  461K 31s
 17650K .......... .......... .......... .......... .......... 53%  578K 31s
 17700K .......... .......... .......... .......... .......... 53%  447K 31s
 17750K .......... .......... .......... .......... .......... 53%  571K 31s
 17800K .......... .......... .......... .......... .......... 53%  462K 31s
 17850K .......... .......... .......... .......... .......... 53%  493K 30s
 17900K .......... .......... .......... .......... .......... 54%  472K 30s
 17950K .......... .......... .......... .......... .......... 54%  577K 30s
 18000K .......... .......... .......... .......... .......... 54%  469K 30s
 18050K .......... .......... .......... .......... .......... 54%  472K 30s
 18100K .......... .......... .......... .......... .......... 54%  575K 30s
 18150K .......... .......... .......... .......... .......... 54%  461K 30s
 18200K .......... .......... .......... .......... .......... 54%  612K 30s
 18250K .......... .......... .......... .......... .......... 55%  459K 30s
 18300K .......... .......... .......... .......... .......... 55%  473K 30s
 18350K .......... .......... .......... .......... .......... 55%  590K 29s
 18400K .......... .......... .......... .......... .......... 55%  462K 29s
 18450K .......... .......... .......... .......... .......... 55%  469K 29s
 18500K .......... .......... .......... .......... .......... 55%  483K 29s
 18550K .......... .......... .......... .......... .......... 56%  577K 29s
 18600K .......... .......... .......... .......... .......... 56%  518K 29s
 18650K .......... .......... .......... .......... .......... 56%  481K 29s
 18700K .......... .......... .......... .......... .......... 56%  511K 29s
 18750K .......... .......... .......... .......... .......... 56%  459K 29s
 18800K .......... .......... .......... .......... .......... 56%  576K 29s
 18850K .......... .......... .......... .......... .......... 56%  461K 28s
 18900K .......... .......... .......... .......... .......... 57%  577K 28s
 18950K .......... .......... .......... .......... .......... 57%  460K 28s
 19000K .......... .......... .......... .......... .......... 57%  471K 28s
 19050K .......... .......... .......... .......... .......... 57%  576K 28s
 19100K .......... .......... .......... .......... .......... 57%  471K 28s
 19150K .......... .......... .......... .......... .......... 57%  480K 28s
 19200K .......... .......... .......... .......... .......... 58%  511K 28s
 19250K .......... .......... .......... .......... .......... 58%  578K 28s
 19300K .......... .......... .......... .......... .......... 58%  459K 28s
 19350K .......... .......... .......... .......... .......... 58%  460K 27s
 19400K .......... .......... .......... .......... .......... 58%  575K 27s
 19450K .......... .......... .......... .......... .......... 58%  460K 27s
 19500K .......... .......... .......... .......... .......... 58%  576K 27s
 19550K .......... .......... .......... .......... .......... 59%  460K 27s
 19600K .......... .......... .......... .......... .......... 59%  574K 27s
 19650K .......... .......... .......... .......... .......... 59%  462K 27s
 19700K .......... .......... .......... .......... .......... 59%  460K 27s
 19750K .......... .......... .......... .......... .......... 59%  574K 27s
 19800K .......... .......... .......... .......... .......... 59%  461K 27s
 19850K .......... .......... .......... .......... .......... 59%  574K 26s
 19900K .......... .......... .......... .......... .......... 60%  462K 26s
 19950K .......... .......... .......... .......... .......... 60%  575K 26s
 20000K .......... .......... .......... .......... .......... 60%  459K 26s
 20050K .......... .......... .......... .......... .......... 60%  462K 26s
 20100K .......... .......... .......... .......... .......... 60%  590K 26s
 20150K .......... .......... .......... .......... .......... 60%  461K 26s
 20200K .......... .......... .......... .......... .......... 61%  555K 26s
 20250K .......... .......... .......... .......... .......... 61%  463K 26s
 20300K .......... .......... .......... .......... .......... 61%  574K 26s
 20350K .......... .......... .......... .......... .......... 61%  461K 25s
 20400K .......... .......... .......... .......... .......... 61%  461K 25s
 20450K .......... .......... .......... .......... .......... 61%  591K 25s
 20500K .......... .......... .......... .......... .......... 61% 63.5K 26s
 20550K .......... .......... .......... .......... .......... 62%  766K 25s
 20600K .......... .......... .......... .......... .......... 62%  769K 25s
 20650K .......... .......... .......... .......... .......... 62%  766K 25s
 20700K .......... .......... .......... .......... .......... 62%  772K 25s
 20750K .......... .......... .......... .......... .......... 62%  769K 25s
 20800K .......... .......... .......... .......... .......... 62% 1.19M 25s
 20850K .......... .......... .......... .......... .......... 62%  589K 25s
 20900K .......... .......... .......... .......... .......... 63%  146M 25s
 20950K .......... .......... .......... .......... .......... 63% 94.3M 24s
 21000K .......... .......... .......... .......... .......... 63%  100M 24s
 21050K .......... .......... .......... .......... .......... 63%  222M 24s
 21100K .......... .......... .......... .......... .......... 63%  794K 24s
 21150K .......... .......... .......... .......... .......... 63%  589K 24s
 21200K .......... .......... .......... .......... .......... 64%  429K 24s
 21250K .......... .......... .......... .......... .......... 64%  576K 24s
 21300K .......... .......... .......... .......... .......... 64%  472K 24s
 21350K .......... .......... .......... .......... .......... 64%  574K 23s
 21400K .......... .......... .......... .......... .......... 64%  463K 23s
 21450K .......... .......... .......... .......... .......... 64%  459K 23s
 21500K .......... .......... .......... .......... .......... 64%  575K 23s
 21550K .......... .......... .......... .......... .......... 65%  463K 23s
 21600K .......... .......... .......... .......... .......... 65%  574K 23s
 21650K .......... .......... .......... .......... .......... 65%  460K 23s
 21700K .......... .......... .......... .......... .......... 65%  561K 23s
 21750K .......... .......... .......... .......... .......... 65%  459K 23s
 21800K .......... .......... .......... .......... .......... 65%  575K 23s
 21850K .......... .......... .......... .......... .......... 65%  462K 22s
 21900K .......... .......... .......... .......... .......... 66%  466K 22s
 21950K .......... .......... .......... .......... .......... 66%  574K 22s
 22000K .......... .......... .......... .......... .......... 66%  463K 22s
 22050K .......... .......... .......... .......... .......... 66%  572K 22s
 22100K .......... .......... .......... .......... .......... 66%  484K 22s
 22150K .......... .......... .......... .......... .......... 66%  472K 22s
 22200K .......... .......... .......... .......... .......... 67%  507K 22s
 22250K .......... .......... .......... .......... .......... 67%  474K 22s
 22300K .......... .......... .......... .......... .......... 67%  574K 22s
 22350K .......... .......... .......... .......... .......... 67%  463K 21s
 22400K .......... .......... .......... .......... .......... 67%  469K 21s
 22450K .......... .......... .......... .......... .......... 67%  574K 21s
 22500K .......... .......... .......... .......... .......... 67%  462K 21s
 22550K .......... .......... .......... .......... .......... 68%  590K 21s
 22600K .......... .......... .......... .......... .......... 68%  461K 21s
 22650K .......... .......... .......... .......... .......... 68%  462K 21s
 22700K .......... .......... .......... .......... .......... 68%  526K 21s
 22750K .......... .......... .......... .......... .......... 68%  592K 21s
 22800K .......... .......... .......... .......... .......... 68%  460K 21s
 22850K .......... .......... .......... .......... .......... 68%  461K 20s
 22900K .......... .......... .......... .......... .......... 69%  574K 20s
 22950K .......... .......... .......... .......... .......... 69%  460K 20s
 23000K .......... .......... .......... .......... .......... 69% 62.7K 20s
 23050K .......... .......... .......... .......... .......... 69% 2.25M 20s
 23100K .......... .......... .......... .......... .......... 69%  770K 20s
 23150K .......... .......... .......... .......... .......... 69%  105M 20s
 23200K .......... .......... .......... .......... .......... 70%  290K 20s
 23250K .......... .......... .......... .......... .......... 70% 1.33M 20s
 23300K .......... .......... .......... .......... .......... 70%  575K 20s
 23350K .......... .......... .......... .......... .......... 70%  121M 20s
 23400K .......... .......... .......... .......... .......... 70%  410K 20s
 23450K .......... .......... .......... .......... .......... 70% 86.8M 19s
 23500K .......... .......... .......... .......... .......... 70% 74.4M 19s
 23550K .......... .......... .......... .......... .......... 71% 74.8M 19s
 23600K .......... .......... .......... .......... .......... 71%  148M 19s
 23650K .......... .......... .......... .......... .......... 71%  609K 19s
 23700K .......... .......... .......... .......... .......... 71%  543K 19s
 23750K .......... .......... .......... .......... .......... 71%  460K 19s
 23800K .......... .......... .......... .......... .......... 71%  500K 19s
 23850K .......... .......... .......... .......... .......... 72%  494K 18s
 23900K .......... .......... .......... .......... .......... 72%  470K 18s
 23950K .......... .......... .......... .......... .......... 72%  460K 18s
 24000K .......... .......... .......... .......... .......... 72%  572K 18s
 24050K .......... .......... .......... .......... .......... 72%  463K 18s
 24100K .......... .......... .......... .......... .......... 72%  544K 18s
 24150K .......... .......... .......... .......... .......... 72%  434K 18s
 24200K .......... .......... .......... .......... .......... 73%  527K 18s
 24250K .......... .......... .......... .......... .......... 73%  461K 18s
 24300K .......... .......... .......... .......... .......... 73%  576K 18s
 24350K .......... .......... .......... .......... .......... 73%  459K 17s
 24400K .......... .......... .......... .......... .......... 73%  482K 17s
 24450K .......... .......... .......... .......... .......... 73%  595K 17s
 24500K .......... .......... .......... .......... .......... 73%  448K 17s
 24550K .......... .......... .......... .......... .......... 74%  392K 17s
 24600K .......... .......... .......... .......... .......... 74%  577K 17s
 24650K .......... .......... .......... .......... .......... 74%  460K 17s
 24700K .......... .......... .......... .......... .......... 74%  527K 17s
 24750K .......... .......... .......... .......... .......... 74%  462K 17s
 24800K .......... .......... .......... .......... .......... 74%  566K 17s
 24850K .......... .......... .......... .......... .......... 75%  392K 17s
 24900K .......... .......... .......... .......... .......... 75%  461K 16s
 24950K .......... .......... .......... .......... .......... 75%  574K 16s
 25000K .......... .......... .......... .......... .......... 75%  460K 16s
 25050K .......... .......... .......... .......... .......... 75%  463K 16s
 25100K .......... .......... .......... .......... .......... 75%  574K 16s
 25150K .......... .......... .......... .......... .......... 75%  508K 16s
 25200K .......... .......... .......... .......... .......... 76%  511K 16s
 25250K .......... .......... .......... .......... .......... 76%  469K 16s
 25300K .......... .......... .......... .......... .......... 76%  462K 16s
 25350K .......... .......... .......... .......... .......... 76%  460K 16s
 25400K .......... .......... .......... .......... .......... 76%  576K 15s
 25450K .......... .......... .......... .......... .......... 76%  474K 15s
 25500K .......... .......... .......... .......... .......... 76%  457K 15s
 25550K .......... .......... .......... .......... .......... 77%  617K 15s
 25600K .......... .......... .......... .......... .......... 77%  457K 15s
 25650K .......... .......... .......... .......... .......... 77%  531K 15s
 25700K .......... .......... .......... .......... .......... 77%  469K 15s
 25750K .......... .......... .......... .......... .......... 77%  491K 15s
 25800K .......... .......... .......... .......... .......... 77%  469K 15s
 25850K .......... .......... .......... .......... .......... 78%  594K 15s
 25900K .......... .......... .......... .......... .......... 78%  461K 14s
 25950K .......... .......... .......... .......... .......... 78%  481K 14s
 26000K .......... .......... .......... .......... .......... 78%  574K 14s
 26050K .......... .......... .......... .......... .......... 78%  495K 14s
 26100K .......... .......... .......... .......... .......... 78%  470K 14s
 26150K .......... .......... .......... .......... .......... 78%  473K 14s
 26200K .......... .......... .......... .......... .......... 79%  508K 14s
 26250K .......... .......... .......... .......... .......... 79%  579K 14s
 26300K .......... .......... .......... .......... .......... 79%  470K 14s
 26350K .......... .......... .......... .......... .......... 79%  408K 14s
 26400K .......... .......... .......... .......... .......... 79%  468K 13s
 26450K .......... .......... .......... .......... .......... 79%  577K 13s
 26500K .......... .......... .......... .......... .......... 79%  462K 13s
 26550K .......... .......... .......... .......... .......... 80%  573K 13s
 26600K .......... .......... .......... .......... .......... 80%  496K 13s
 26650K .......... .......... .......... .......... .......... 80%  469K 13s
 26700K .......... .......... .......... .......... .......... 80%  463K 13s
 26750K .......... .......... .......... .......... .......... 80%  488K 13s
 26800K .......... .......... .......... .......... .......... 80%  576K 13s
 26850K .......... .......... .......... .......... .......... 81%  426K 13s
 26900K .......... .......... .......... .......... .......... 81% 71.3K 13s
 26950K .......... .......... .......... .......... .......... 81% 2.98M 12s
 27000K .......... .......... .......... .......... .......... 81%  115M 12s
 27050K .......... .......... .......... .......... .......... 81%  179M 12s
 27100K .......... .......... .......... .......... .......... 81%  112M 12s
 27150K .......... .......... .......... .......... .......... 81%  108M 12s
 27200K .......... .......... .......... .......... .......... 82%  105M 12s
 27250K .......... .......... .......... .......... .......... 82%  692K 12s
 27300K .......... .......... .......... .......... .......... 82%  575K 12s
 27350K .......... .......... .......... .......... .......... 82%  494K 12s
 27400K .......... .......... .......... .......... .......... 82%  462K 11s
 27450K .......... .......... .......... .......... .......... 82%  463K 11s
 27500K .......... .......... .......... .......... .......... 83%  515K 11s
 27550K .......... .......... .......... .......... .......... 83%  576K 11s
 27600K .......... .......... .......... .......... .......... 83%  462K 11s
 27650K .......... .......... .......... .......... .......... 83%  484K 11s
 27700K .......... .......... .......... .......... .......... 83%  472K 11s
 27750K .......... .......... .......... .......... .......... 83%  573K 11s
 27800K .......... .......... .......... .......... .......... 83%  461K 11s
 27850K .......... .......... .......... .......... .......... 84%  579K 11s
 27900K .......... .......... .......... .......... .......... 84%  459K 10s
 27950K .......... .......... .......... .......... .......... 84%  573K 10s
 28000K .......... .......... .......... .......... .......... 84%  463K 10s
 28050K .......... .......... .......... .......... .......... 84%  459K 10s
 28100K .......... .......... .......... .......... .......... 84%  574K 10s
 28150K .......... .......... .......... .......... .......... 84%  456K 10s
 28200K .......... .......... .......... .......... .......... 85%  484K 10s
 28250K .......... .......... .......... .......... .......... 85%  578K 10s
 28300K .......... .......... .......... .......... .......... 85%  458K 10s
 28350K .......... .......... .......... .......... .......... 85%  576K 10s
 28400K .......... .......... .......... .......... .......... 85%  460K 9s
 28450K .......... .......... .......... .......... .......... 85%  591K 9s
 28500K .......... .......... .......... .......... .......... 86%  464K 9s
 28550K .......... .......... .......... .......... .......... 86%  470K 9s
 28600K .......... .......... .......... .......... .......... 86%  577K 9s
 28650K .......... .......... .......... .......... .......... 86%  481K 9s
 28700K .......... .......... .......... .......... .......... 86%  474K 9s
 28750K .......... .......... .......... .......... .......... 86%  459K 9s
 28800K .......... .......... .......... .......... .......... 86%  596K 9s
 28850K .......... .......... .......... .......... .......... 87%  483K 9s
 28900K .......... .......... .......... .......... .......... 87%  460K 8s
 28950K .......... .......... .......... .......... .......... 87%  485K 8s
 29000K .......... .......... .......... .......... .......... 87%  460K 8s
 29050K .......... .......... .......... .......... .......... 87%  577K 8s
 29100K .......... .......... .......... .......... .......... 87%  459K 8s
 29150K .......... .......... .......... .......... .......... 87%  503K 8s
 29200K .......... .......... .......... .......... .......... 88%  482K 8s
 29250K .......... .......... .......... .......... .......... 88%  588K 8s
 29300K .......... .......... .......... .......... .......... 88%  489K 8s
 29350K .......... .......... .......... .......... .......... 88%  456K 8s
 29400K .......... .......... .......... .......... .......... 88%  585K 7s
 29450K .......... .......... .......... .......... .......... 88%  459K 7s
 29500K .......... .......... .......... .......... .......... 89%  577K 7s
 29550K .......... .......... .......... .......... .......... 89%  483K 7s
 29600K .......... .......... .......... .......... .......... 89%  460K 7s
 29650K .......... .......... .......... .......... .......... 89%  576K 7s
 29700K .......... .......... .......... .......... .......... 89% 67.8K 7s
 29750K .......... .......... .......... .......... .......... 89% 45.0M 7s
 29800K .......... .......... .......... .......... .......... 89%  255M 7s
 29850K .......... .......... .......... .......... .......... 90%  253M 7s
 29900K .......... .......... .......... .......... .......... 90%  166M 6s
 29950K .......... .......... .......... .......... .......... 90%  227M 6s
 30000K .......... .......... .......... .......... .......... 90%  216M 6s
 30050K .......... .......... .......... .......... .......... 90%  815K 6s
 30100K .......... .......... .......... .......... .......... 90%  493K 6s
 30150K .......... .......... .......... .......... .......... 90%  463K 6s
 30200K .......... .......... .......... .......... .......... 91%  549K 6s
 30250K .......... .......... .......... .......... .......... 91%  492K 6s
 30300K .......... .......... .......... .......... .......... 91%  471K 6s
 30350K .......... .......... .......... .......... .......... 91%  531K 6s
 30400K .......... .......... .......... .......... .......... 91%  463K 5s
 30450K .......... .......... .......... .......... .......... 91%  573K 5s
 30500K .......... .......... .......... .......... .......... 92%  434K 5s
 30550K .......... .......... .......... .......... .......... 92%  607K 5s
 30600K .......... .......... .......... .......... .......... 92%  505K 5s
 30650K .......... .......... .......... .......... .......... 92%  433K 5s
 30700K .......... .......... .......... .......... .......... 92%  526K 5s
 30750K .......... .......... .......... .......... .......... 92%  478K 5s
 30800K .......... .......... .......... .......... .......... 92%  494K 5s
 30850K .......... .......... .......... .......... .......... 93%  462K 5s
 30900K .......... .......... .......... .......... .......... 93%  573K 4s
 30950K .......... .......... .......... .......... .......... 93%  473K 4s
 31000K .......... .......... .......... .......... .......... 93%  482K 4s
 31050K .......... .......... .......... .......... .......... 93%  460K 4s
 31100K .......... .......... .......... .......... .......... 93%  500K 4s
 31150K .......... .......... .......... .......... .......... 94%  528K 4s
 31200K .......... .......... .......... .......... .......... 94%  461K 4s
 31250K .......... .......... .......... .......... .......... 94%  570K 4s
 31300K .......... .......... .......... .......... .......... 94%  473K 4s
 31350K .......... .......... .......... .......... .......... 94%  460K 4s
 31400K .......... .......... .......... .......... .......... 94%  536K 3s
 31450K .......... .......... .......... .......... .......... 94%  459K 3s
 31500K .......... .......... .......... .......... .......... 95%  576K 3s
 31550K .......... .......... .......... .......... .......... 95%  482K 3s
 31600K .......... .......... .......... .......... .......... 95%  460K 3s
 31650K .......... .......... .......... .......... .......... 95%  575K 3s
 31700K .......... .......... .......... .......... .......... 95%  469K 3s
 31750K .......... .......... .......... .......... .......... 95%  473K 3s
 31800K .......... .......... .......... .......... .......... 95%  575K 3s
 31850K .......... .......... .......... .......... .......... 96%  459K 3s
 31900K .......... .......... .......... .......... .......... 96%  577K 2s
 31950K .......... .......... .......... .......... .......... 96%  473K 2s
 32000K .......... .......... .......... .......... .......... 96%  472K 2s
 32050K .......... .......... .......... .......... .......... 96%  505K 2s
 32100K .......... .......... .......... .......... .......... 96%  574K 2s
 32150K .......... .......... .......... .......... .......... 97%  461K 2s
 32200K .......... .......... .......... .......... .......... 97%  568K 2s
 32250K .......... .......... .......... .......... .......... 97%  476K 2s
 32300K .......... .......... .......... .......... .......... 97%  481K 2s
 32350K .......... .......... .......... .......... .......... 97%  461K 2s
 32400K .......... .......... .......... .......... .......... 97%  574K 1s
 32450K .......... .......... .......... .......... .......... 97%  460K 1s
 32500K .......... .......... .......... .......... .......... 98%  577K 1s
 32550K .......... .......... .......... .......... .......... 98%  471K 1s
 32600K .......... .......... .......... .......... .......... 98%  495K 1s
 32650K .......... .......... .......... .......... .......... 98%  571K 1s
 32700K .......... .......... .......... .......... .......... 98%  474K 1s
 32750K .......... .......... .......... .......... .......... 98%  463K 1s
 32800K .......... .......... .......... .......... .......... 98%  573K 1s
 32850K .......... .......... .......... .......... .......... 99%  422K 1s
 32900K .......... .......... .......... .......... .......... 99%  482K 0s
 32950K .......... .......... .......... .......... .......... 99%  577K 0s
 33000K .......... .......... .......... .......... .......... 99%  470K 0s
 33050K .......... .......... .......... .......... .......... 99%  528K 0s
 33100K .......... .......... .......... .......... .......... 99%  459K 0s
 33150K .......... .......... .......... ........             100%  447K=66s

2021-03-03 07:02:47 (501 KB/s) - ‘datos.zip’ saved [33985025/33985025]

In [3]:
# como el archivo es un comprimido, lo procedemos a descomprimir
decompress = "unzip -P '12345' datos.zip"
os.system(decompress)
Out[3]:
0
Archive:  datos.zip
   creating: datos/
   creating: datos/paciente14-A/
  inflating: datos/paciente14-A/00000000-A  
  inflating: datos/paciente14-A/00000046-A  
   creating: datos/paciente32-A/
  inflating: datos/paciente32-A/00000074-A  
  inflating: datos/paciente32-A/00000000-A  
   creating: datos/paciente7-A/
  inflating: datos/paciente7-A/00000087-A  
  inflating: datos/paciente7-A/00000000-A  
   creating: datos/paciente26-A/
  inflating: datos/paciente26-A/00000082-A  
  inflating: datos/paciente26-A/00000000-A  
   creating: datos/paciente4-A/
  inflating: datos/paciente4-A/00000070-A  
  inflating: datos/paciente4-A/00000000-A  
   creating: datos/paciente27-A/
  inflating: datos/paciente27-A/00000056-A  
  inflating: datos/paciente27-A/00000000-A  
   creating: datos/paciente30-A/
  inflating: datos/paciente30-A/00000066-A  
  inflating: datos/paciente30-A/00000000-A  
   creating: datos/paciente20-A/
  inflating: datos/paciente20-A/00000095-A  
  inflating: datos/paciente20-A/00000000-A  
   creating: datos/paciente36-A/
  inflating: datos/paciente36-A/00000061-A  
  inflating: datos/paciente36-A/00000000-A  
   creating: datos/paciente3-A/
  inflating: datos/paciente3-A/00000062-A  
  inflating: datos/paciente3-A/00000000-A  
   creating: datos/paciente21-A/
  inflating: datos/paciente21-A/00000069-A  
  inflating: datos/paciente21-A/00000000-A  
   creating: datos/paciente6-A/
  inflating: datos/paciente6-A/00000074-A  
  inflating: datos/paciente6-A/00000000-A  
   creating: datos/paciente12-A/
  inflating: datos/paciente12-A/00000063-A  
  inflating: datos/paciente12-A/00000000-A  
   creating: datos/paciente28-A/
  inflating: datos/paciente28-A/00000078-A  
  inflating: datos/paciente28-A/00000000-A  
   creating: datos/paciente13-A/
  inflating: datos/paciente13-A/00000114-A  
  inflating: datos/paciente13-A/00000000-A  
   creating: datos/paciente22-A/
  inflating: datos/paciente22-A/00000126-A  
  inflating: datos/paciente22-A/00000000-A  
   creating: datos/paciente2-A/
  inflating: datos/paciente2-A/00000062-A  
  inflating: datos/paciente2-A/00000000-A  
   creating: datos/paciente15-A/
  inflating: datos/paciente15-A/00000000-A  
  inflating: datos/paciente15-A/00000046-A  
   creating: datos/paciente18-A/
  inflating: datos/paciente18-A/00000068-A  
  inflating: datos/paciente18-A/00000000-A  
   creating: datos/paciente1-A/
  inflating: datos/paciente1-A/00000083-A  
  inflating: datos/paciente1-A/00000063-A  
  inflating: datos/paciente1-A/00000085-A  
  inflating: datos/paciente1-A/00000053-A  
  inflating: datos/paciente1-A/00000014-A  
  inflating: datos/paciente1-A/00000029-A  
  inflating: datos/paciente1-A/00000065-A  
  inflating: datos/paciente1-A/00000020-A  
  inflating: datos/paciente1-A/00000011-A  
  inflating: datos/paciente1-A/00000023-A  
  inflating: datos/paciente1-A/00000070-A  
  inflating: datos/paciente1-A/00000010-A  
  inflating: datos/paciente1-A/00000031-A  
  inflating: datos/paciente1-A/00000006-A  
  inflating: datos/paciente1-A/00000060-A  
  inflating: datos/paciente1-A/00000013-A  
  inflating: datos/paciente1-A/00000028-A  
  inflating: datos/paciente1-A/00000017-A  
  inflating: datos/paciente1-A/00000051-A  
  inflating: datos/paciente1-A/00000071-A  
  inflating: datos/paciente1-A/00000004-A  
  inflating: datos/paciente1-A/00000005-A  
  inflating: datos/paciente1-A/00000032-A  
  inflating: datos/paciente1-A/00000047-A  
  inflating: datos/paciente1-A/00000057-A  
  inflating: datos/paciente1-A/00000036-A  
  inflating: datos/paciente1-A/00000075-A  
  inflating: datos/paciente1-A/00000084-A  
  inflating: datos/paciente1-A/00000081-A  
  inflating: datos/paciente1-A/00000088-A  
  inflating: datos/paciente1-A/00000056-A  
  inflating: datos/paciente1-A/00000001-A  
  inflating: datos/paciente1-A/00000018-A  
  inflating: datos/paciente1-A/00000040-A  
  inflating: datos/paciente1-A/00000054-A  
  inflating: datos/paciente1-A/00000087-A  
  inflating: datos/paciente1-A/00000027-A  
  inflating: datos/paciente1-A/00000048-A  
  inflating: datos/paciente1-A/00000030-A  
  inflating: datos/paciente1-A/00000072-A  
  inflating: datos/paciente1-A/00000038-A  
  inflating: datos/paciente1-A/00000082-A  
  inflating: datos/paciente1-A/00000019-A  
  inflating: datos/paciente1-A/00000067-A  
  inflating: datos/paciente1-A/00000062-A  
  inflating: datos/paciente1-A/00000033-A  
  inflating: datos/paciente1-A/00000008-A  
  inflating: datos/paciente1-A/00000034-A  
  inflating: datos/paciente1-A/00000077-A  
  inflating: datos/paciente1-A/00000078-A  
  inflating: datos/paciente1-A/00000068-A  
  inflating: datos/paciente1-A/00000026-A  
  inflating: datos/paciente1-A/00000042-A  
  inflating: datos/paciente1-A/00000007-A  
  inflating: datos/paciente1-A/00000039-A  
  inflating: datos/paciente1-A/00000009-A  
  inflating: datos/paciente1-A/00000035-A  
  inflating: datos/paciente1-A/00000074-A  
  inflating: datos/paciente1-A/00000050-A  
  inflating: datos/paciente1-A/00000059-A  
  inflating: datos/paciente1-A/00000052-A  
  inflating: datos/paciente1-A/00000086-A  
  inflating: datos/paciente1-A/00000041-A  
  inflating: datos/paciente1-A/00000073-A  
  inflating: datos/paciente1-A/00000015-A  
  inflating: datos/paciente1-A/00000003-A  
  inflating: datos/paciente1-A/00000069-A  
  inflating: datos/paciente1-A/00000016-A  
  inflating: datos/paciente1-A/00000080-A  
  inflating: datos/paciente1-A/00000002-A  
  inflating: datos/paciente1-A/00000058-A  
  inflating: datos/paciente1-A/00000044-A  
  inflating: datos/paciente1-A/00000061-A  
  inflating: datos/paciente1-A/00000055-A  
  inflating: datos/paciente1-A/00000066-A  
  inflating: datos/paciente1-A/00000000-A  
  inflating: datos/paciente1-A/00000079-A  
  inflating: datos/paciente1-A/00000049-A  
  inflating: datos/paciente1-A/00000045-A  
  inflating: datos/paciente1-A/00000064-A  
  inflating: datos/paciente1-A/00000021-A  
  inflating: datos/paciente1-A/00000043-A  
  inflating: datos/paciente1-A/00000076-A  
  inflating: datos/paciente1-A/00000022-A  
  inflating: datos/paciente1-A/00000046-A  
  inflating: datos/paciente1-A/00000012-A  
  inflating: datos/paciente1-A/00000025-A  
  inflating: datos/paciente1-A/00000037-A  
  inflating: datos/paciente1-A/00000024-A  
   creating: datos/paciente17-A/
  inflating: datos/paciente17-A/00000098-A  
  inflating: datos/paciente17-A/00000000-A  
   creating: datos/paciente37-A/
  inflating: datos/paciente37-A/00000060-A  
  inflating: datos/paciente37-A/00000000-A  
   creating: datos/paciente9-A/
  inflating: datos/paciente9-A/00000144-A  
  inflating: datos/paciente9-A/00000000-A  
   creating: datos/paciente29-A/
  inflating: datos/paciente29-A/00000073-A  
  inflating: datos/paciente29-A/00000000-A  
   creating: datos/paciente25-A/
  inflating: datos/paciente25-A/00000075-A  
  inflating: datos/paciente25-A/00000000-A  
   creating: datos/paciente34-A/
  inflating: datos/paciente34-A/00000061-A  
  inflating: datos/paciente34-A/00000000-A  
   creating: datos/paciente8-A/
  inflating: datos/paciente8-A/00000083-A  
  inflating: datos/paciente8-A/00000000-A  
   creating: datos/paciente31-A/
  inflating: datos/paciente31-A/00000086-A  
  inflating: datos/paciente31-A/00000000-A  
   creating: datos/paciente23-A/
  inflating: datos/paciente23-A/00000000-A  
  inflating: datos/paciente23-A/00000091-A  
   creating: datos/paciente35-A/
  inflating: datos/paciente35-A/00000062-A  
  inflating: datos/paciente35-A/00000000-A  
   creating: datos/paciente16-A/
  inflating: datos/paciente16-A/00000054-A  
  inflating: datos/paciente16-A/00000000-A  
   creating: datos/paciente19-A/
  inflating: datos/paciente19-A/00000068-A  
  inflating: datos/paciente19-A/00000000-A  
   creating: datos/paciente5-A/
  inflating: datos/paciente5-A/00000085-A  
  inflating: datos/paciente5-A/00000000-A  
   creating: datos/paciente33-A/
  inflating: datos/paciente33-A/00000066-A  
  inflating: datos/paciente33-A/00000000-A  
  • Extraemos algunos parámetros dentro de las imagenes Dicom con pydicom, y lo guardamos en un DataFrame
In [4]:
def ruta_carpeta(carpeta, contenido_carpeta):
    # genera una ruta 
    ruta = carpeta + '/' + contenido_carpeta
    return ruta

def return_id(primer_ident, segundo_ident):
    # ingresa los numeros de identificacion y retorna listos para leer. 
    primer = '0x'+ str(primer_ident)
    segundo = '0x'+ str(segundo_ident)
    return primer, segundo


def return_data(ruta_imagen, primer_ident, segundo_ident):
    # se ingresa los numero con los id de la informacion
    img = pydicom.dcmread(ruta_imagen)   
    id1, id2 = return_id(primer_ident, segundo_ident)
    nombre_dato = img[id1, id2].name
    valor_dato = img[id1, id2].value
    return nombre_dato, valor_dato 


path = 'datos' # directorio donde se encuentran las imagenes.
vector_1 = []
vector_2 = []
vector_3 = []
vector_4 = []
vector_5 = []
vector_6 = []
vector_7 = []
vector_8 = []
vector_9 = []
vector_10 = []
vector_11 = []
vector_12 = []
vector_13 = []
vector_14 = []


directorio_principal = os.listdir(path) # leemos los archivos dentro del directorio.
for contenido in directorio_principal: # recorremos el directorio.
    ruta1 = ruta_carpeta(path , contenido)
    imagenes = os.listdir(ruta1)
    ruta2 = ruta_carpeta(ruta1 , imagenes[0])
    ruta3 = ruta_carpeta(ruta1 , imagenes[1])
    ###################################################################################
    nombre_1, valor_1 = return_data(ruta2, 10, 10)  # nombre paciente
    vector_1.append(valor_1)
    ###################################################################################
    nombre_2, valor_2 = return_data(ruta2, 8, 60)  # modalidad
    vector_2.append(valor_2)   
    ###################################################################################
    nombre_6, valor_6 = return_data(ruta2, 18, 1150 )  # time exposure
    vector_6.append(valor_6)   
    ###################################################################################
    nombre_7, valor_7 = return_data(ruta2, 18, 1170 )  # generator power
    vector_7.append(valor_7)  
    ###################################################################################
    nombre_8, valor_8 = return_data(ruta2, 28, 10 )  # rows
    vector_8.append(valor_8)  
    ###################################################################################
    nombre_9, valor_9 = return_data(ruta2, 28, 11 )  # columns
    vector_9.append(valor_9)  
    ###################################################################################
    nombre10, valor_10 = return_data(ruta2, 20, 1041 )  # Slice Location
    vector_10.append(valor_10) 
    nombre_10=nombre10+'_i'
    ###################################################################################
    nombre11, valor_11 = return_data(ruta3, 20, 1041 )  # Thickness
    vector_11.append(valor_11)  
    nombre_11=nombre11+'_f'
    ###################################################################################
    nombre_12, valor_12 = return_data(ruta2, 18, 50 )  # columns
    vector_12.append(valor_12)
    ###################################################################################
    nombre_13, valor_13 = return_data(ruta2, 28, 1053 )  # columns
    vector_13.append(valor_13)
    ###################################################################################
    nombre_14='Number_of_images'
    valor_14= abs((valor_11-valor_10)/valor_12)
    vector_14.append(valor_14)
    
Data = {nombre_1: vector_1,
        nombre_2: vector_2,
        nombre_6: vector_6,
        nombre_7: vector_7,
        nombre_8: vector_8,
        nombre_9: vector_9,
        nombre_10: vector_10,
        nombre_11: vector_11,
        nombre_12: vector_12,
        nombre_13: vector_13,
        nombre_14: vector_14
        }

df = DataFrame(Data,columns=[  nombre_1,nombre_2, nombre_6, nombre_7, nombre_8, nombre_9,
                                 nombre_10, nombre_11, nombre_12, nombre_13, nombre_14])
In [5]:
df.head()
Out[5]:
Patient's Name Modality Exposure Time Generator Power Rows Columns Slice Location_i Slice Location_f Slice Thickness Rescale Slope Number_of_images
0 (p, a, c, i, e, n, t, e, 1, 2) CT 1825 28000 512 512 165.0 -150.0 5.0 1.0 63.0
1 (p, a, c, i, e, n, t, e, 2, 2) CT 1000 28000 512 512 330.0 -300.0 5.0 1.0 126.0
2 (p, a, c, i, e, n, t, e, 2, 3) CT 1000 35000 512 512 -130.0 325.0 5.0 1.0 91.0
3 (p, a, c, i, e, n, t, e, 3, 2) CT 1825 28000 512 512 200.0 -170.0 5.0 1.0 74.0
4 (p, a, c, i, e, n, t, e, 6) CT 1000 35000 512 512 320.0 -50.0 5.0 1.0 74.0
In [6]:
# Definimos un DataFrame con los valores que se utilizara para el análisis
Data2 = {'Modalidad':vector_2, 
        'Time':vector_6,
        'Power':vector_7,
        'Thickness':vector_12,
       
        nombre_14:vector_14}


df2 = DataFrame(Data2,columns=['Modalidad','Thickness','Time','Power',nombre_14])
  • Convertimos nuestros datos a formato .root
In [7]:
df2.to_root('Datos_num.root', key='mytree') # Guardamos en formato root, utilizando root_pandas
f2 = ROOT.TFile.Open("Datos_num.root")  # Abrimos el file.root
/home/student/.local/lib/python3.6/site-packages/root_numpy/_tree.py:575: UserWarning: converter for dtype('O') is not implemented (skipping)
  cobj = _librootnumpy.array2tree_toCObj(arr, name=name, tree=incobj)
  • Utilizamos las funciones de Root en python para hacer histogramas de los datos.
In [8]:
canvas = ROOT.TCanvas("Canvas","a first way to plot a variable",400,300)# Definimos el canvas
tree = f2.Get("mytree") # Definimos el tree
tree.GetEntries() # Obtenemos los datos del file.root
Out[8]:
34
In [9]:
# Creamos una carpeta para guardar las imagenes creadas 
crear_directorio = "mkdir I_Presentacion"
os.system(crear_directorio)
Out[9]:
0
In [10]:
hist1 = ROOT.TH1F("variable","Exposure Time; Time; Events ",50,0,2000) # definimos el histograma
for event in tree:
    hist1.Fill(tree.Time) # Definimos la variable ha hacer el histograma 
print("Done!")
hist1.SetFillColor(2) # Definimos los colores a usarse
hist1.Draw() # Dibujamos el Histograma
canvas.Draw() # Plasmamos en Histograma en el canvas
canvas.SaveAs("I_Presentacion/Histo_Time.png")
Done!
Info in <TCanvas::Print>: png file I_Presentacion/Histo_Time.png has been created
In [11]:
hist2 = ROOT.TH1F("variable","Thickness; Thickness; Events ",50,0,10)
for event in tree:
    hist2.Fill(tree.Thickness) # Definimos la variable ha hacer el histograma 
print("Done!")
hist2.SetFillColor(2) # Definimos los colores a usarse
hist2.Draw() # Dibujamos el Histograma
canvas.Draw() # Plasmamos en Histograma en el canvas
canvas.SaveAs("I_Presentacion/Histo_Thickness.png")
Done!
Warning in <TFile::Append>: Replacing existing TH1: variable (Potential memory leak).
Info in <TCanvas::Print>: png file I_Presentacion/Histo_Thickness.png has been created
In [12]:
hist3 = ROOT.TH1F("variable","Generator Power; Generator Power; Events ",50,0,80000)
for event in tree:
    hist3.Fill(tree.Power) # Definimos la variable ha hacer el histograma 
print("Done!")
hist3.SetFillColor(2) # Definimos los colores a usarse
hist3.Draw() # Dibujamos el Histograma
canvas.Draw() # Plasmamos en Histograma en el canvas
canvas.SaveAs("I_Presentacion/Histo_Power.png")
Done!
Warning in <TFile::Append>: Replacing existing TH1: variable (Potential memory leak).
Info in <TCanvas::Print>: png file I_Presentacion/Histo_Power.png has been created
In [13]:
hist2 = ROOT.TH1F("variable","Histograma del Numero de Imagenes; Numero de Imagenes; Events ",50,0,200)
for event in tree:
    hist2.Fill(tree.Number_of_images) # Definimos la variable ha hacer el histograma 
print("Done!")
hist2.SetFillColor(20) # Definimos los colores a usarse
hist2.Fit('gaus') # ajustamos a una gaussiana
hist2.Draw() # Dibujamos el Histograma
canvas.Draw() # Plasmamos en Histograma en el canvas
canvas.SaveAs("I_Presentacion/Histo_Number_gaus.png")
Done!
 FCN=8.84659 FROM MIGRAD    STATUS=CONVERGED      94 CALLS          95 TOTAL
                     EDM=1.37434e-07    STRATEGY= 1      ERROR MATRIX ACCURATE 
  EXT PARAMETER                                   STEP         FIRST   
  NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE 
   1  Constant     3.18293e+00   1.02612e+00   9.72523e-04  -3.72248e-05
   2  Mean         7.12753e+01   3.05141e+00   4.63004e-03   4.36354e-05
   3  Sigma        1.32679e+01   4.39126e+00   8.16078e-05   5.30286e-03
Warning in <TFile::Append>: Replacing existing TH1: variable (Potential memory leak).
Info in <TCanvas::Print>: png file I_Presentacion/Histo_Number_gaus.png has been created
  • Trabajaremos con la matriz de pixeles de una imagen de un paciente del conjunto de Datos.
In [14]:
ds = pydicom.read_file("datos/paciente16-A/00000054-A") # Lenemos la imagen
matriz = ds.pixel_array # Extraemos la matriz de pixeles
  • Vemos algunas propiedades de la imagen y la abrimos con Matplotlib.
In [15]:
print(type(matriz))
print(matriz.shape)
plt.imshow(matriz, cmap=plt.cm.bone)
<class 'numpy.ndarray'>
(512, 512)
Out[15]:
<matplotlib.image.AxesImage at 0x7f89e204d668>
  • Extraemos los coeficiente de atenuación de rayos X en una línea (1D) de la imagen, para guardarla en un archivo root y proceder a graficarla
In [16]:
#extraemos los valores para la atenuacion de rayos X en 1D,
# para la coordenada 300

x = array . array ("d",range (511)) 
y = array . array ("d",range (511)) 
for i in range(0,511):
    y[i] = matriz[345][i]-1024 # extraemos los valores y los transformamos a hounsfiels
In [17]:
g = ROOT . TGraph ( len (x) ,x,y)
g. Draw ("AL")
g.GetXaxis().SetTitle("X")
g.GetYaxis().SetTitle("Unidades Hounsfield")
g.SetTitle("Unidades Hounsfied en un linea de la Imagen CT (1D)")
canvas.Draw("Grafica")
canvas.SaveAs("I_Presentacion/1D.png")
Info in <TCanvas::Print>: png file I_Presentacion/1D.png has been created
  • Manipulamos la matriz de pixeles para poder graficar en relieve la imagen de CT utilizando root.
In [18]:
x = np.arange(0, matriz.shape[0], 1)
y = np.arange(0, matriz.shape[1], 1)

def HU_2D(matriz,x,y):
    '''Funcion que extrae cada valor proporcional al 
    coeficiente de atenuacion de los rayos X con sus respectivos
    valores en X y Y,y los retorna en forma de arrays.
    '''
    Houns_list = []
    x_list = []
    y_list = []
    for i in x:
        for j in y:
            Houns = matriz[x[i],y[j]] -1024.
            Houns_list.append(Houns)
            x_list.append(x[i])
            y_list.append(y[j])
    return np.array(Houns_list),np.array(x_list),np.array(y_list) 

H, x, y = HU_2D(matriz,x,y)
In [19]:
Data2 = {'x':x,
        'y':y,
        'H':H
        }
pixel = DataFrame(Data2,columns=['x','y','H'])
pixel.to_root('Pixel.root', key='tree') # guardamos en formato root
In [20]:
Houns = ROOT.TFile.Open("Pixel.root")  # Leemos el archivo root con los valores de atenuacion
tree = Houns.Get("tree")
tree.GetEntries()
Out[20]:
262144
In [21]:
hist10 = ROOT.TH1F("variable",
                   "Histograma de la cantidad de materiales en la imagen; Housnfield; Numero de pixel ",
                   50,-2000,2000)
for event in tree:
    hist10.Fill(tree.H)    
print("Done!")
hist10.SetFillColor(40)
hist10.Draw()
canvas.SaveAs("I_Presentacion/Histo_houns.png")
canvas.Draw()
Done!
Info in <TCanvas::Print>: png file I_Presentacion/Histo_houns.png has been created
  • Gráfica en relibe
In [22]:
import ROOT

Number_of_points = len(H)
graph = ROOT.TGraph2D(Number_of_points)
for i in range(Number_of_points): graph.SetPoint(i, x[i], y[i],H[i] )
c = ROOT.TCanvas("c")
graph.GetXaxis().SetTitle("X")
graph.GetYaxis().SetTitle("Y")
graph.GetZaxis().SetTitle("Unidades Hounsfield")
graph.SetTitle("Grafica en Relieve de una Imagen de CT.")
graph.SetMarkerStyle(20); graph.Draw("PCOL Z")
c.Draw()
c.SaveAs("I_Presentacion/3D.png")
Info in <TCanvas::Print>: png file I_Presentacion/3D.png has been created
In [ ]: