Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #21  
Antiguo 26-04-2013
jmvene jmvene is offline
Miembro
NULL
 
Registrado: abr 2013
Ubicación: Sevilla
Posts: 11
Poder: 0
jmvene Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Y teniendo ese proyecto opensource, ¿para qué crear otro desde cero?, mejor aprovecharlo y usarlo. Luego, con tiempo, lo podéis adaptar más a vuestras necesidades.
Buenas Casimiro, tienes toda la razon del mundo, pero solo tiene un par de pegas:

- solo es para MacOS, debería poderse portar a otras plataforma, pero si no lo han hecho ya, con la multitud de peticiones que les llegan, es que debe haber alguna razón técnica que desconozco o por política del proyecto, ni idea.

- no esta hecho en Delphi... esto no debería ser un impedimento, pero estando en un foro dedicado a el...

Un saludo.
Responder Con Cita
  #22  
Antiguo 26-04-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.096
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No lo sabía, no había oido nunca hablar de ese proyecto. Lo tenéis complicado, ¿qué mercado potencial puede tener un software de ese tipo?
Responder Con Cita
  #23  
Antiguo 26-04-2013
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
No lo sabía, no había oido nunca hablar de ese proyecto. Lo tenéis complicado, ¿qué mercado potencial puede tener un software de ese tipo?
Primero al maestro

Estimado Casimiro:

Sólo en mi país (Chile) lo deben utilizar unas 10.000 personas y en el mundo varios millones, ya que cumplía con todos los estándares necesarios para hacer diagnóstico basado en imágenes radiológicas. Las últimas versiones gratuitas incorporan una serie de limitaciones, como propaganda y mensajes irritantes como que no tienes suficiente memoria para abrir 1500 imágenes, pero sí para abrir 1499 (este mensaje casi permanente trae un slider que te permite disminuir el número de imágenes que carga).

Respecto al desarrollo realizado por la Universidad de Geneva en Suiza, casi sin temor a equivocarme debe tener financiamiento de la manzana. Sólo en mi hospital, ya que yo además soy profesor universitario y formo especialistas en radiología, en los últimos años hemos debido comprar un total de 16 computadores Mac, sólo para usar el software Osirix y yo soy sólo un ratón en el mundo radiológico, lo que puedes multiplicar por miles de centros hospitalarios similares en el mundo.

El gran problema radica que para Windows no existe ningún software con capacidades similares y los que hay, de menor calidad, valen desde U$ 300 a U$ 3000 la licencia anual.

Me encanta la idea propuesta por jmvene de crear una comunidad en este foro que tenga interés en un desarrollo como este, que como tu vez tiene un gran potencial tanto social como comercial, en especial por el enorme crecimiento del uso de las modalidades diagnósticas por imágenes. A modo de ejemplo en USA en 2012 se efectuaron alrededor de 30.000.000 de Scanner (en mi hospital realizamos 23.000 en una población de 900.000 habitantes) y todos deben ser evaluados con software de este tipo.

Saludos y gracias por el interés y apoyo
Responder Con Cita
  #24  
Antiguo 26-04-2013
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Cita:
Empezado por jmvene Ver Mensaje
Con respecto a tu proyecto, me parece fantástico y la meta que te has puesto es de las mas audaz que he visto (igualar o superar a OsirX). Solo como apunte, desde mi humilde opinión y sin querer que pienses que de alguna manera te estoy intentando quitar el entusiasmo, tienes que tener en mente varias cosas: OsiriX, aunque no lo parezca, es un proyecto que tiene mas de 10 años, no estoy seguro pero creo que en realidad una evolución de un software que ya existía llamado "Osiris" (ambos de los Hospitales Universitarios de Ginebra, Suiza). Es un proyecto OpenSource con bastante colaboradores externos, tanto clínicos (medico y radiologos) como técnicos (programadores) y con una buena dirección de proyecto, lo que le ha permitido llegar a unos niveles de calidad bastantes altos. La colaboración de médicos y programadores puros (y muy buenos) ha permitido que se le vayan agregando herramientas muy especificas (como las que tu mencionas) usando tecnologías y librerías de bastante bajo nivel (como pueden ser las vtk para el 3D).

Resumiendo y, repito, sin querer que pierdas ni una onza de tu ilusión, es un trabajo de titanes y no a muy corto plazo. Quizás debas re enfocar la estrategia de tu proyecto, buscar otra manera de llegar al mismo fin ya que si, por ejemplo, dependes de componentes de tercero te puedes encontrar en un callejón sin salida o con limitaciones impuestas por estos componentes. Aqui hay una comunidad de desarolladores en delphi que tiene un muy alto nivel, quizas seria buena idea intentar implicar a gente de este grupo y avanzar hacia un proyecto collaborativo opensource. Tu formación como medico radiologo es una gran ventaja que puedes aprovechar para dirigir la parte "clínica" del proyecto, pero creo que debes buscar aliados con un perfil mas técnico para la parte de programación.

Con todo y con esto espero haberte ayudado o por lo menos aclarado algo.

Un saludo.
Estimado jmvene:

La ilusión no la voy a perder nunca puesto que este proyecto es un desafío personal, un placer que puedo darme, ya que no tengo fecha de término ni jefes a quien responder y puedo destinar algunos dineros a su ejecución, con el estímulo de que día a día he ido logrando, mediante estudio y el valioso aporte de los miembros de este foro, avances importantes que me permiten en este momento abrir e incorporar los estudios en la BD, visualizarlas en 2D, 3D y en MPR, además ya tengo funcionando sin problemas el DicomQuery a otros servidores y equipos y el DicomSend a servidores. Aún no logro implementar el DicomStore ni el DicomRetrieve desde servidores, porque no he podido entender como funcionan los famosos DBLink. El DicomPrint y el grabado de exámenes en CD lo voy a dejar para el final.
A pesar de que Osirix es OpenSource, cuando descargas el código fuente te envía mil restricciones y al intentar procesarlo con XCode dice que le faltan montones de cosas, en resumen, para mi escaso nivel de conocimientos de programación, me resulta inútil.
He revisado varias librerías, entre otras, las que alguna vez eran gratuitas de Charrua, la SDK de LeadTools cuando era para Delphi y varios ActiveX para manejo de imágenes Dicom y aunque no lo creas la DicomVCL fue la que me convenció y compré (todavía me duelen los U$ 1299 que pagé).
Respecto a usar componentes, no me queda otra alternativa porque no manejo mayormente la programación y a la fecha no he encontrado ningún programador que quiera compartir esta aventura.
En relación con el desarrollo te puedo decir de que a pesar que Osirix cuenta con numerosos colaboradores y programadores posee una estructura de programa compleja con múltiples herramientas inútiles que no usas nunca y opciones superfluas que la mayoría no entiende y no necesita.
Los médicos necesitan un programa simple, ojalá con poco botones, que funcione a click de ratón y ojalá sin manual de instrucciones que leer. La mayoría de usuarios de Osirix que conozco no son precisamente radiólogos, sino cirujanos u otros especialistas que necesitan poder visualizar los exámenes de sus pacientes para tomas decisiones terapeúticas.
Seguiré tu consejo y me pondré la armadura de Titan, para continuar adelante y ojalá con tu ayuda si es posible y la de los integrantes de este foro, que tan desinteresadamente me han apoyado.
Respecto de la pregunta inicial, de la que nos hemos alejado un poco, te cuento que ayer probé fragmentando los estudios y cargándolos mediante 8 threads simultáneos y logré cargar una Angiotomografía de extremidades de 1.203 imágenes en sólo 5.8 segundos, aunque todavía estoy cerrando los avisos de violación de acceso a memoria y el procesador de mi workstation parece que va a presentar una demanda en contra mía.

Saludos y muchas gracias por tu apoyo y comentarios

PD: Si te interesa te puedo enviar el exe de mi programa por correo, para tu evaluación.
Responder Con Cita
  #25  
Antiguo 26-04-2013
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Cita:
Empezado por fjcg02 Ver Mensaje
Hola,
no es que sea muy profano en el asunto, pero habeis visto esto ?
http://cgarcia.blogspot.com.es/2006/...es-mdicas.html
Utiliza Delphi y OpenGL.
Espero que os sirva.
Saludos
Estimado fjcg02 :

Agradezco tu aporte pero ese programa es algo básico, fue publicado en 2006 y no ha sido actualizado. Su resolución es insuficiente para diagnóstico, ya que lo más importante es la visualización de las imágenes en 2D. En ese año recién salían al mercado los Scanner multicorte que son los que generan miles de imágenes, lo que constituye mi actual problema.
Salu2 y muchas gracias
Responder Con Cita
  #26  
Antiguo 26-04-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.096
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por radenf Ver Mensaje
Primero al maestro
Estimado Casimiro:
Entonces no entiendo porqué me has contestado antes a mí

Bromas aparte, parece muy interesante un proyecto de ese tipo, aunque tiene el inconveniente del tiempo necesario para llevarlo a cabo, o sea, dinero.
Se me ocurre que si el otro programa está "subvencionado" por apple, entonces sería bueno contar con un amigo en google para conseguir que financien un proyecto que le haga la competencia, seguro que se apuntan, lástima que no conozcamos a nadie allí, seguro que algo surgiría.
Responder Con Cita
  #27  
Antiguo 27-04-2013
Avatar de mamcx
mamcx mamcx is online now
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.918
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Se me ocurre que si el otro programa está "subvencionado" por apple
Esto me suena raro. De donde sale esa idea?

Lo mas probable es que OSX pisa muy fuerte entre los miembros de la Academia y tiene una presencia importante entre ingenieros y cientificos. Ademas, que los APIs de OSX son particularmente utiles para este tipo de proyectos (como grand central, coreanimation, core sound, etc). Es muy facil hacer aplicaciones multimedia, multi-hilos, y de gran desempeño con estas APIs, e incluso para alguien muy novato en eso como yo, he podido implementar animaciones y efectos que jamas he podido en ningun otro entorno (osea, como la misma facilidad y desempeño).

Tanto, que el problema que se trata en este hilo (lo de cargar y procesar imagenes en gran cantidad) es algo casi trivial... incluso en un iPhone/iPad...

Ejemplos:

http://www.farmpd.com/Farm-Blog/bid/...ce-Mobile-Apps
http://www.popgive.com/2012/06/top-1...-apps-for.html
-----

Ahora, lo que me gustaria saber es si en tu entorno OSX es realmente la plataforma mas comun? O es windows?
__________________
El malabarista.
Responder Con Cita
  #28  
Antiguo 27-04-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.096
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por mamcx Ver Mensaje
Esto me suena raro. De donde sale esa idea?
De aquí:
Cita:
Empezado por radenf Ver Mensaje
Respecto al desarrollo realizado por la Universidad de Geneva en Suiza, casi sin temor a equivocarme debe tener financiamiento de la manzana.
...........
Responder Con Cita
  #29  
Antiguo 27-04-2013
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Cita:
Empezado por mamcx Ver Mensaje
Esto me suena raro. De donde sale esa idea?
¿Qué te parece lo que presentan en este link?
Responder Con Cita
  #30  
Antiguo 27-04-2013
Avatar de mamcx
mamcx mamcx is online now
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.918
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por radenf Ver Mensaje
¿Qué te parece lo que presentan en este link?
Que tiene eso de raro? Seguro muchos usuarios preguntan si hay version pa Windows o Linux, y esa es la respuesta.


Donde esta la idea que Apple los financia?
__________________
El malabarista.
Responder Con Cita
  #31  
Antiguo 27-04-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.096
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Por cierto, ¿qué cantidad de RAM tiene tu equipo?, parece que necesita bastante.
Cita:
System requirements
- MacOS X 10.7 or higher.
- Intel processor
For best performance:
- 6 GB of RAM if you plan to open more than 800 images (CT & MRI, PET-CT).
- 8 GB of RAM for more than 1500 images (multi-slice CT & PET-CT) with OsiriX-64 bit extension.
- 12 GB of RAM for more than 3000 images (cardiac or functional imaging) with OsiriX-64 bit extension.

Distribution

- OsiriX is a MacOS X only application.
- OsiriX is distributed under the GNU Lesser General Public License (LGPL).
- OsiriX source code is available for anyone.
Responder Con Cita
  #32  
Antiguo 27-04-2013
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Por cierto, ¿qué cantidad de RAM tiene tu equipo?, parece que necesita bastante.
16 Gb de RamECC

Potencia excesiva para aplicaciones creadas con Delphi 2007. Espero migrar en algún momento a DelphiXE3, pero me encuentro limitado por los componentes DicomVCL, que no han sido actualizados para 64bits.

Saludos
Responder Con Cita
  #33  
Antiguo 27-04-2013
Avatar de mamcx
mamcx mamcx is online now
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.918
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Por cierto, ¿qué cantidad de RAM tiene tu equipo?, parece que necesita bastante.
Afortunadamente, la RAM es barata!:

US 270 32 GB iMac:

http://macperformanceguide.com/Mac-M...ices-iMac.html

16 GB es lo que tengo en mi Imac... porque entonces no habia 32 GB. Con un macpro se puede llegar a 32 GB. Ahora se puede montar hasta 64GB+ en PCs normales!
__________________
El malabarista.
Responder Con Cita
  #34  
Antiguo 27-04-2013
jmvene jmvene is offline
Miembro
NULL
 
Registrado: abr 2013
Ubicación: Sevilla
Posts: 11
Poder: 0
jmvene Va por buen camino
Buenas tardes a todos,

nos estamos alejando de la discusión inicial, pero es igual de interesante. Si aburrimos o nos tenemos que mover a otro sitio, que nos lo indiquen los moderadores por favor.

Cita:
Empezado por radenf Ver Mensaje
Sólo en mi país (Chile) lo deben utilizar unas 10.000 personas y en el mundo varios millones, ya que cumplía con todos los estándares necesarios para hacer diagnóstico basado en imágenes radiológicas. Las últimas versiones gratuitas incorporan una serie de limitaciones, como propaganda y mensajes irritantes como que no tienes suficiente memoria para abrir 1500 imágenes, pero sí para abrir 1499 (este mensaje casi permanente trae un slider que te permite disminuir el número de imágenes que carga).

Respecto al desarrollo realizado por la Universidad de Geneva en Suiza, casi sin temor a equivocarme debe tener financiamiento de la manzana. Sólo en mi hospital, ya que yo además soy profesor universitario y formo especialistas en radiología, en los últimos años hemos debido comprar un total de 16 computadores Mac, sólo para usar el software Osirix y yo soy sólo un ratón en el mundo radiológico, lo que puedes multiplicar por miles de centros hospitalarios similares en el mundo.
Bueno aquí quiero puntualizar un par de cosas radenf con respecto a OsiriX. Por un lado, no creo que este subvencionado por Apple, es un proyecto con el respaldo inicial de una institución gubernamental Suiza, han creado luego una fundación para seguir con el desarrollo, no se si con animo de lucro o no. Es un trabajo de calidad, no se puede dudar, pero tambien se ha favorecido del empujón de estos últimos años de la "moda Apple" (justificada o no, eso cada uno tiene su opinion).


Cita:
Empezado por radenf Ver Mensaje
El gran problema radica que para Windows no existe ningún software con capacidades similares y los que hay, de menor calidad, valen desde U$ 300 a U$ 3000 la licencia anual.
Bueno aquí tengo que discrepar un poco, ClearCanvas es también un muy buen sistema de diagnostico OpenSource. Esta hecho en C# y para plataforma windows.

Mi trabajo precisamente es el desarrollo de este tipo de soluciones (PACS, estaciones de diagnostico, visores web, etc.). Los precios de este tipo de aplicaciones son alto por una razon, las certificaciones. Como sabrás, un visor destinado a ser usado por un radiologo durante el proceso diagnostico esta considerado como "dispositivo medico" con toda la bateria de ISO's y certificaciones que eso conlleva (en EU la "FDA Clearance" y en europa el "Marcado CE"). Mi empresa, para poder desarrollar y vender software medico, tiene que estar certificada ISO 9001, ISO 13485, seguir unas cuantas normas durante el proceso de desarrollo, disponer de una licencia de fabricante de dispositivos médicos de la Agencia Española del Medicamento y seguir auditorias de calidad todos los años. Todo esto tiene unos costes bastante alto y el volumen de licencias no tan alto con el de otra aplicaciones (es un sector MUY focalizado).

De hecho es un poco revelador (y casi ironico) que teóricamente con la versiones Open Source de Osirix (la que no tiene marcado CE) no se puede legalmente diagnosticar (creo que esta indicado), pero que con las versiones de pago (con marcado CE) si se puede pero estas ya NO SON open source... con ClearCanvas pasa exactamente lo mismo.

Por otra parte hay que relativizar el costo de la aplicación con el rendimiento de su uso, un radiologo (por lo menos aquí en España) no es precisamente un usuario "pobre", el sueldo medio tiene que estar al rededor de 4000 euros netos al mes. Sin contar por otra parte el ahorro en consumibles que supone no tener que imprimir placas para hacer el diagnostico.

Con todo y con esto, si lanzáis este tipo de proyecto basado en Delphi, veré en que medida puedo aportar ayuda.
Responder Con Cita
  #35  
Antiguo 27-04-2013
jmvene jmvene is offline
Miembro
NULL
 
Registrado: abr 2013
Ubicación: Sevilla
Posts: 11
Poder: 0
jmvene Va por buen camino
Smile

Cita:
Empezado por radenf Ver Mensaje
Estimado jmvene:
... Aún no logro implementar el DicomStore ni el DicomRetrieve desde servidores, porque no he podido entender como funcionan los famosos DBLink...
Voy a echarle un vistazo a ver si puedo aclararte algo.

Cita:
Empezado por radenf Ver Mensaje
He revisado varias librerías, entre otras, las que alguna vez eran gratuitas de Charrua, la SDK de LeadTools cuando era para Delphi y varios ActiveX para manejo de imágenes Dicom y aunque no lo creas la DicomVCL fue la que me convenció y compré (todavía me duelen los U$ 1299 que pagé).
Respecto a usar componentes, no me queda otra alternativa porque no manejo mayormente la programación y a la fecha no he encontrado ningún programador que quiera compartir esta aventura.
No se exactamente como van las partes que no sean el 3D de las DicomVCL, pero hay una parte muy importante en las comunicaciones DICOM 3.0 (Storage, QueryRetrieve, etc.) que están definidas exclusivamente por el estándar DICOM 3.0. Una mala implementación o una violación de la norma por parte de estos componentes te pueden llevar a un callejon sin salida si el seños Jiaiwen no se hace cargo de corregirlo... y cada vez estoy mas convencido que es que en realidad no puede, por el motivo que sea...

Cita:
Empezado por radenf Ver Mensaje
Respecto de la pregunta inicial, de la que nos hemos alejado un poco, te cuento que ayer probé fragmentando los estudios y cargándolos mediante 8 threads simultáneos y logré cargar una Angiotomografía de extremidades de 1.203 imágenes en sólo 5.8 segundos, aunque todavía estoy cerrando los avisos de violación de acceso a memoria y el procesador de mi workstation parece que va a presentar una demanda en contra mía.

Saludos y muchas gracias por tu apoyo y comentarios

PD: Si te interesa te puedo enviar el exe de mi programa por correo, para tu evaluación.
Woww... habria que ver porque son esas violaciones de acceso a memoria (probablemente algún problema de syncronizacion de hilo), pero promete. Podrias poner el codigo?

Si quieres me puedes mandar el exe, pero te advierto de antemano que si veo una buena idea la copiare SIN REMORDIMIENTO..

Un abrazo
Responder Con Cita
  #36  
Antiguo 27-04-2013
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Cita:
Empezado por jmvene Ver Mensaje
Si quieres me puedes mandar el exe, pero te advierto de antemano que si veo una buena idea la copiare SIN REMORDIMIENTO..

Un abrazo
No e problema, pero debo advertirte que uso varios componentes de pago destinados a mejorar la interfaz gráfica, la conexión a servidores y las grids. Te lo enviaré por mail.
Ojalá puedas ayudarme con los Dblink. Yo uso Access por su facilidad y su límite de 4GB no me preocupa pues yo guardo los archivos de imágenes en directorios directamente en el HD y no en la BD, pero puedo intentar con cualquier base de datos.
Respecto a tu favorable opinión de ClearCanvas discrepo plenamente. Me parece realizado por alguien que no tiene experiencia en diagnóstico, ya que carece de herramientas indispensables como el MIP2D.
Yo no pretendo hacerle competencia a nadie, sin embargo por algo bautizé a mi programa Nemesis (el enemigo natural).
El código de los threads lo estoy puliendo. Utilizo los BDThreads gratuitos de Mitov Software que son a prueba de niños. Cuando lo tenga te lo subo.
Saludos y muchas gracias

Iván
Responder Con Cita
  #37  
Antiguo 28-04-2013
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Cita:
Empezado por jmvene Ver Mensaje
Woww... habria que ver porque son esas violaciones de acceso a memoria (probablemente algún problema de syncronizacion de hilo), pero promete. Podrias poner el codigo?

Si quieres me puedes mandar el exe, pero te advierto de antemano que si veo una buena idea la copiare SIN REMORDIMIENTO..

Un abrazo
Falsa alarma jmvene.
Lo que hize fue fragmentar el contenido de un ListBox donde a partir de un directorio recojo la ruta de todas las imágenes que componen un estudio y le asigné a cada fragmento un thread, puse a correr los threads simultáneamente y sincronizados esperando que cargara el directorio completo, pero la CnsDMTable sólo acepta la carga desde uno de los threads, por lo que sólo había cargado un octavo de las imágenes y por eso generó las violaciones de acceso a memoria.
Otra prueba fallida. Aparentemente la CnsDMTable tiene su propio sistema de organizar la información que recibe y lo hace en un sólo paso, ya que si le aplicas un ProgressBar y le asignas la propiedad StepIt ejecuta un sólo step.
No sé si la idea te sirva y con tu nivel de conocimiento puedas mejorarla, ya que yo utilicé componentes para crear los threads (BMThreads de Mitov Software), porque no sé implementarlos por código.
Quizás otra opción es cargar las diferentes series en distintas CnsDMTables, lo que aceleraría la carga de exámenes con múltiples series, pero igual demoraría en cargar las series con muchas imágenes.
Te envié un mail desde el foro, pero no me permite incluir archivos adjuntos. Debes responderlo para poder enviarte el exe.
Saludos
Responder Con Cita
  #38  
Antiguo 03-05-2013
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Solucionado

Después de muchos intentos y pruebas fallidas descubrí que la CnsDMTable carga las imágenes usando threads sobre un MemoryStream, mediante los parámetros AKeepStream y ALoadFrameinThread, es decir el componente, según entiendo viene desarrollado para cargar las imágenes a la máxima velocidad que permita el PC.
Utilizando el siguiente código logré acelerar la carga de las imágenes a escasos segundos en series grandes de más de 1000 imágenes:

Código Delphi [-]
procedure TVisor.ButtonCargarClick(Sender: TObject);
var
I:Integer;
c1: TCursor;
begin
c1 := Screen.Cursor;
Screen.Cursor := crHourGlass;
CnsDMTable1.Create(Self); // crea la tabla (este paso es fundamental)
ListBox1.Items.Clear;
FindFile.Threaded := False;
with FindFile.Criteria.Files do
begin
FileName := '*.dcm';
Location := (DBEditDir.Text); // Directorio donde se almacenan los archivos de imágenes, ruta guardada en la BD
Subfolders := Self.Subfolders.Checked;
end;
begin
FindFile.Execute;// Extrae la ruta de los archivos de imágenes y los muestra en un ListBox
Application.ProcessMessages;
end;
begin
for I := 0 to (ListBox1.Items.Count - 1) do
CnsDMTable1.LoadfromFile(ListBox1.Items.Strings [i]);// carga las imágenes
Application.ProcessMessages;
try
DicomMultiViewer1.DicomDatasets:= CnsDMTable1;// carga los visores
DicomMultiViewer2.DicomDatasets:= CnsDMTable1;
DicomMultiViewer3.DicomDatasets:= CnsDMTable1;
DicomMultiViewer4.DicomDatasets:= CnsDMTable1;
DicomMultiViewer5.DicomDatasets:= CnsDMTable1;
DcmMultiImage1.DicomDatasets:= CnsDMTable1;
finally
if assigned(DicomMultiViewer1.DicomDatasets) and (DicomMultiViewer1.DicomDatasets.Count > 0) then
begin
DicomMultiViewer1.ActiveView.Attributes.ImageData.MagnificationType:= mftCUBIC;// asigna propiedades
DicomMultiViewer2.ActiveView.Attributes.ImageData.MagnificationType:= mftCUBIC;
DicomMultiViewer2.LeftMouseInteract:= miZoom;
DicomMultiViewer1.LeftMouseInteract:= miZoom;
Screen.Cursor := c1;
end;
end;
end;
end;

y para llamarlo:

Código Delphi [-]
procedure TVisor.DBAdvGrid1ClickCell(Sender: TObject; ARow, ACol: Integer);
begin
if (ACol = 2) then
begin
CnsDMTable1.Clear;// esto vacía la tabla y libera la memoria
ButtonCargar.ButtonClick;
end;

y de este modo ya no tengo violaciones de acceso a memoria y el programa corre sin problemas.
FindFile es un componente que permite obtener la ruta de todos los archivos existentes en un directorio, incluidos los subdirectorios y cargarlos como strings en un ListBox. Para 1000 archivos tarda 180 msegs.
Espero que a alguien más le pueda servir.

Saludos y gracias por sus aportes
Responder Con Cita
  #39  
Antiguo 03-05-2013
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Cronometré los tiempos y se demora aproximadamente 3.8 msegs. en cargar cada imagen, permitiendo que un estudio de 1000 imágenes se encuentre disponible para visualización y proceso en 3.8 segundos. Un examen de cerebro habitualmente posee 350 a 400 imágenes y lo carga en 1 - 1.3 segundos.
Esto con un procesador Intel Xeon de 3.2 Ghz. utilizando sólo 1 de los núcleos, con un consumo de memoria menor de 300 Mb.
Estos resultados me parecen excelentes y satisfacen plenamente mi necesidad.
salu2
Responder Con Cita
  #40  
Antiguo 03-05-2013
jmvene jmvene is offline
Miembro
NULL
 
Registrado: abr 2013
Ubicación: Sevilla
Posts: 11
Poder: 0
jmvene Va por buen camino
En hora buena Radenf, esos valores son excelentes. Creo que tienes un pequeño error en el código, ya que la llamada de las CnsDMTable1 deberia ser:
Código Delphi [-]
CnsDMTable1.LoadFromFile(ListBox1.Items[i], True, True);

Un abrazo.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
WebBrowser bloqueo de carga de imagenes titomigue Internet 1 17-08-2010 09:53:34
Acelerar apertura de consulta desde Delphi contra Access Sergiov SQL 4 13-04-2007 10:42:59
Acelerar carga de Delphi mamcx Noticias 4 13-09-2006 00:51:52
Transparencias y carga de imágenes david.rguez Gráficos 1 04-09-2006 18:01:40
carga de imagenes en timage jvalles Gráficos 2 15-12-2005 19:06:57


La franja horaria es GMT +2. Ahora son las 20:23:57.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi