DCMTK es un toolkit para el testeado de una aplicación dicom cliente/servidor (también llamado SCU/SCP)
Vamos a utilizar los ejecutables de DCMTK, una vez descargados situar una sesión de CMD a la carpeta .. \dcmtk\ donde lo tengamos instalado.
A modo de prueba ejecutaremos el siguiente comando contra un PACs con el AE titile correspondiente que va a pedir un estudio:
Este es el comando original de descarga de estudios, el cual vamos a insertar en un bat que medirá el tiempo de ejecución de este comando, esto nos servirá para determinar el tiempo de descarga ya que el comando al finalizar libera la conexión y el script nos dá el tiempo transcurrido.
Vamos a utilizar los ejecutables de DCMTK, una vez descargados situar una sesión de CMD a la carpeta .. \dcmtk\ donde lo tengamos instalado.
A modo de prueba ejecutaremos el siguiente comando contra un PACs con el AE titile correspondiente que va a pedir un estudio:
movescu -v --study --call "SRVAGFWFM01" --aetitle "PCALMA" --key "0008,0052=STUDY" --key "0020,000D=1.2.124.113532.80.22153.16226.20191017.91050.9809773" 192.168.108.229 104
Este es el comando original de descarga de estudios, el cual vamos a insertar en un bat que medirá el tiempo de ejecución de este comando, esto nos servirá para determinar el tiempo de descarga ya que el comando al finalizar libera la conexión y el script nos dá el tiempo transcurrido.
Pero antes debemos ejecutar el nodo receptor SCP en el equipo que seleccionemos con el siguiente comando el cual abrirá el puerto de recepción 104:
storescp 104 -aet PCALMA -od C:\Users\usralma\Desktop\Output
Creamos un bat llamado timecmd.bat e insertamos el comando anterior:
@echo off
@setlocal
set start=%time%
:: Estudio de tipo CT de 704 imagenes
C:\Users\roland.peralta\Desktop\HERRAMIENTAS\dcmtk\windows\movescu -v --study --call "DCM4CHEE" --aetitle "AE_ALMA3D_ROLAND" --output-directory "almalog" --key "0008,0052=STUDY" --key "0020,000D=1.2.250.1.59.1.999.10.20170210.16985655" 172.26.0.7 11112
set end=%time%
set options="tokens=1-4 delims=:.,"
for /f %options% %%a in ("%start%") do set start_h=%%a&set /a start_m=100%%b %% 100&set /a start_s=100%%c %% 100&set /a start_ms=100%%d %% 100
for /f %options% %%a in ("%end%") do set end_h=%%a&set /a end_m=100%%b %% 100&set /a end_s=100%%c %% 100&set /a end_ms=100%%d %% 100
set /a hours=%end_h%-%start_h%
set /a mins=%end_m%-%start_m%
set /a secs=%end_s%-%start_s%
set /a ms=%end_ms%-%start_ms%
if %ms% lss 0 set /a secs = %secs% - 1 & set /a ms = 100%ms%
if %secs% lss 0 set /a mins = %mins% - 1 & set /a secs = 60%secs%
if %mins% lss 0 set /a hours = %hours% - 1 & set /a mins = 60%mins%
if %hours% lss 0 set /a hours = 24%hours%
if 1%ms% lss 100 set ms=0%ms%
:: Mission accomplished
set /a totalsecs = %hours%*3600 + %mins%*60 + %secs%
echo command took %hours%:%mins%:%secs%.%ms% (%totalsecs%.%ms%s total)
Resultado:
Así, para determinar los MB por segundo realizamos esta sencilla operación: Medimos el peso en la carpeta donde se han guardado los estudios, en este caso 356 MB y dividimos este valor por el tiempo total que llevó descargarlo 18.85 segundos, el total nos dará 18.88 MB / por segundo.