Matlab - como pasar información de dicom a .txt

   
Vista:

como pasar información de dicom a .txt

Publicado por Gabriela Sifuentes (4 intervenciones) el 18/02/2012 06:15:07
Hola

Mi problema es que necesito pasar información de un archivo dicom a txt. (El archivo es de una radiografía y necesito pasar datos del paciente y eso a un txt)
lo primero que hice fue cambiar la información de struct a cell, y después intento usar fprintf pero no me deja. Al generar el cell me queda uno de 108x1


Esto fue lo que hice:
info=dicominfo ('CR00000.dcm');
x=struct2cell (info);
fid=fopen('datospaciente.txt')
for i=[0:1:length(x)];
fprintf (fid x(i,1) .\n);
end
fclose(fid)

El problema que me genera es en el fprintf
Soy nueva en matlab, espero me puedan ayudar

gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Dave

como pasar información de dicom a .txt

Publicado por Dave correa.dave30@gmail.com (934 intervenciones) el 18/02/2012 09:37:23
Hola Gabriela;

Al parecer no estas usando los comando correctos, ya que para tener acceso al contenido de los archivos dicom, no solo debes visualizar sus caracteristicas, sino tambien tener acceso a los datos, esto se realiza con el comando dicomread.

A continuación te dejo un ejemplo.

1
2
3
nfo = dicominfo('CT-MONO2-16-ankle.dcm');
Y = dicomread(info);
figure, imshow(Y);


Espero que sea de alguna ayuda.

Saludos
Dave Correa
correa.dave30@gmail.com
Servicios de Programación Matlab
http://fismatlab.blogspot.com/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

como pasar información de dicom a .txt

Publicado por Gabriela Sifuentes (4 intervenciones) el 18/02/2012 17:00:18
Gracias

Si he hecho lo que mencionas, y con esos comando me muestra la imagen, lo que necesito es obtener la información y pasarla a txt.
El archivo es una radiografía y la información son los datos del paciente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Dave

como pasar información de dicom a .txt

Publicado por Dave correa.dave30@gmail.com (934 intervenciones) el 18/02/2012 20:59:15
Hola Gabriela;

Si lograste visualizar la imagen a partir de la variable Y, segun el ejemplo, ahora solo te queda guadar los datos de la variable Y en un archivo de texto.

Te copio un ejemplo de como podría hacerlo:

1
2
3
4
5
6
7
8
info = dicominfo('CT-MONO2-16-ankle.dcm');
Y = dicomread(info);
figure
imshow(Y);
 
fid = fopen('datos_dicom.txt','wt');
fprintf(fid,'%6.2f\n',Y);
fclose(fid);



Espero que sea de alguna ayuda.

Saludos
Dave Correa
correa.dave30@gmail.com
Servicios de Programación Matlab
http://fismatlab.blogspot.com/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

como pasar información de dicom a .txt

Publicado por Camilo camilo.garcia.g@gmail.com (52 intervenciones) el 18/02/2012 21:03:36
hola gabriela:

a ver si puedo ayudarte.

No manejo como trabaja en la lectura de archivos" dicom" matlab, pero si se como crear un txt desde el command windows de matlab.

Supondre que el codigo que adjuntas esta bien echo y agregare los pasos para crear el archivo txt en una carpeta arbitraria en C:

a la carpeta le puse "Carpeta resultados"
y al archivo txt lo nombre como "tabla.txt"

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
info=dicominfo ('CR00000.dcm');
x=struct2cell (info);
if exist('C:\Carpeta resultados')==0
    mkdir('C:\Carpeta resultados') %crea la carpeta donde se guardara el archivo txt
end
if exist('C:\Carpeta resultados\tabla.txt')~=0
    delete 'C:\Carpeta resultados\tabla.txt'   % si existe archivo anterior, lo borra
end
diary('C:\Carpeta resultados\tabla.txt')    % crea archivo con tabla txt
fid=fopen('datospaciente.txt');
for i=[0:1:length(x)];
fprintf (fid x(i,1) .\n);
end
diary('off')
 
fclose(fid)
 
winopen('C:\Carpeta resultados\tabla.txt')


a la tabla a traves de la funcion disp puedes ponerle un titulo o cosas asi.
la verdad no trabajo con la funcion fprintf, pero si quieres enviame el archivo dicom a mi correo ( lo adjunto en el mensaje), y le echo una mirada.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

como pasar información de dicom a .txt

Publicado por gerardo gerardo_lonely@hotmail.com (95 intervenciones) el 18/02/2012 22:54:44
Hola Gabriela,

Nose si entendí bien lo que querias hacer, pero viendo tu codigo me hize una idea, es algo simple y se puede mejorar mucho, ojala te sirva sino me avisas

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
clear all;
info=dicominfo('CT-MONO2-16-ankle.dcm');
x=struct2cell(info);
fid=fopen('datospaciente.txt','w');
for i=1:length(x);
    try
        if isnumeric(cell2mat(x(i,1)))==1
            fprintf(fid,'%g\n',cell2mat(x(i,1)));
        end
        fprintf (fid,'%s\n',cell2mat(x(i,1)));
    catch
        fprintf(fid,'%s\n',cell2mat(struct2cell(cell2mat(x(i,1)))));
    end
end
fclose(fid);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

como pasar información de dicom a .txt

Publicado por Gabriela Sifuentes argentinasifuentes@hotmail.com (4 intervenciones) el 18/02/2012 23:19:35
gracias gerardo,

me marca este error cuando lo corro:
Error: File: prueba3.m Line: 12 Column: 14
Unexpected MATLAB expression.

No se que hacer la verdad
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

como pasar información de dicom a .txt

Publicado por Gabriela Sifuentes (4 intervenciones) el 18/02/2012 23:26:18
Dave, si me funciona, pero creo que todo me lo guarda en codigo ascii, me aparecen puros números, como puedo cambiarlo a letra

Disculpen todos, creo que mis preguntas son muy tontas, pero tengo poco de usar matlab
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO

como pasar información de dicom a .txt

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3433 intervenciones) el 19/02/2012 04:17:34
Hola Gabriela Sifuentes

1
2
3
4
5
6
7
8
clear all
clc
fid=fopen('datospaciente.txt','w');
diary datospaciente.txt
info=dicominfo('CT-MONO2-16-ankle.dcm')
diary off
fclose(fid);
clc


1
2
EJECUCION
>>archivo_dicom


Saludos.
JOSE JEREMIAS CABALLERO

Servicios de programacion matlab


Asesor de Proyectos con Matlab
programador en matlab
"Detalladar sus preguntas, para recibir respuestas acertadas"
jjcc94@hotmail.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar