artigo_patologia
-
Upload
gabriel-engel -
Category
Documents
-
view
7 -
download
1
description
Transcript of artigo_patologia
Página 1
PROCESSOS
Acesso livre Usando o software MATLAB com o
servidor Tomcat e
Plataforma Java para análise de imagem
remoto em
patologia
Tomasz Markiewicz
1,2 †
A partir do 10º Congresso Europeu sobre
telepatologia e 4º Congresso Internacional
de Microscopia Virtual
Vilnius, Lituânia. 1-3 julho 2010
resumo Antecedentes: O software Matlab é um de a
ferramenta de desenvolvimento mais
avançada para aplicação em engenharia
prática. Do nosso ponto de vista o mais
importante é a caixa de ferramentas de
processamento de imagem, oferecendo
muitos built-in
funções, incluindo a morfologia matemática,
ea implementação de uma muitas redes
neurais artificiais como AI. isto é
plataforma muito popular para a criação do
programa especializado para análise de
imagens, também em patologia. Baseado no
versão mais recente do Matlab Builder Java
caixa de ferramentas, é possível criar o
software, servindo como um sistema remoto
para
análise de imagem em patologia através de
uma comunicação internet. A plataforma de
internet pode ser realizado com base em
Java
Páginas Servlet com servidor Tomcat como
servlet container.
Métodos: Em implementação de software
apresentado propomos análise de imagem
remota realizada por algoritmos Matlab.
Esses algoritmos pode ser compilado para o
executável arquivo jar com a ajuda de
Matlab Builder Java caixa de ferramentas. O
Matlab
função deve ser declarada com o conjunto de
dados de entrada, estrutura de produção com
resultados numéricos e Matlab web
figura. Qualquer função preparados desta
maneira pode ser usado como uma função de
Java em Java Servlet Pages (JSP). o
interface gráfica de utilizador fornecendo os
dados de entrada e exibição dos resultados
(também em forma gráfica) deve ser
implementado em JSP. Além disso, o
armazenamento de dados na base de dados
pode ser executada de acordo com algoritmo
de escrita em
MATLAB com a ajuda de Matlab Toolbox
banco de dados diretamente com o
processamento de imagem. A página JSP
completa pode
ser executado por servidor Tomcat.
Resultados: A ferramenta proposta para
análise de imagem remoto foi testada na
análise computadorizada de imagens
médicas
Software (CAMI), desenvolvido pelo
autor. O usuário fornece imagem e
informações sobre o caso (diagnóstico,
coloração, imagem
parâmetro etc.). Quando a análise é
inicializada, os dados de entrada com
imagem são enviados para servlet no
Tomcat. Quando a análise é
feito, cliente obtém os resultados gráficos
como uma imagem com células
reconhecidas marcados e também o
quantitativo
saída. Além disso, os resultados são
guardados numa base de dados do
servidor. A plataforma de internet foi testado
em PC Intel Core2
Duo T9600 servidor RAM 4GB 2.8GHz
com 768x576 pixel tamanho, formato TIFF
1.28Mb imagens reffering de meningioma
tumor (x400, Ki-67 / MIB-1). O consumo de
tempo foi a seguinte: a análise por CAMI,
localmente em um servidor - 3.5
segundos, na análise remota - 26 segundos, a
partir do qual foram utilizados 22 segundos
para a transferência de dados através da
Internet
conexão. Imagem em formato jpg (102 Kb)
o tempo de consumo foi reduzido para 14
segundos.
Conclusões: Os resultados confirmaram que
projetou plataforma remota pode ser útil
para a imagem patologia
análise. O consumo de tempo é dependia
principalmente do tamanho de imagem e
velocidade das conexões de internet. o
execução apresentado pode ser usado para
muitos tipos de análise na coloração
diferente, tecido, morfometria
Correspondência: [email protected]
† Contribuiu igualmente
1
Instituto de Teoria da Engenharia Elétrica,
Medição e Informação
System, Warsaw University of Technology,
ul. Koszykowa 75, 00-662 Varsóvia,
Polônia
Lista completa de informação sobre o autor
está disponível no final do artigo
Markiewicz diagnóstico de patologia
de 2011, 6 (Suppl 1): S18
http://www.diagnosticpathology.org/content/
6/S1/S18
© 2011 Markiewicz; licenciado BioMed
Central Ltd. Este é um artigo de acesso
aberto distribuído sob os termos da Creative
Commons
Licença
Attribution (http://creativecommons.org/lice
nses/by/2.0), que permite uso irrestrito,
distribuição e reprodução em
qualquer meio, desde que a obra original,
devidamente citada.
Page 2
abordagens, etc. O problema significativo é
a implementação da página JSP sob a forma
de multithread, que pode
ser usado paralelamente por muitos
usuários. A plataforma apresentada para
análise de imagem na patologia pode ser
especialmente útil
para pequeno laboratório sem o seu próprio
sistema de análise de imagem.
Antecedentes A análise de imagem em patologia é um
muito amplo e di-
tópico focando os interesses ferentiated de
muitos pesquisadores
[1 -6]. As imagens microscópicas digitais
são em patologia
muito diferente, de acordo com o tipo de
tecido, a doença,
coloração usado, eo tipo de análise
necessários (por exemplo, quan-
sentante, morfométricas). Software
Matlab [7] é um um dos
a ferramenta mais desenvolvida para
aplicação em engenharia
praticar e pode ser útil neste tópico. Entre
muitos
diferentes aspectos técnicos, suporta
processamento de imagem,
dando muitas funções internas,
especialmente direcionado para
morfologia matemática e oferecendo
implementação
de muitas redes neurais artificiais, que
podem ser utilizados
em conjunto com o processamento de
reconhecimento morfológica
das células. Graças a esses recursos, Matlab
é uma popu-
plataforma lar para criação de programa
especializado para
análise de imagens, também na
patologia [8].
Nos últimos anos, a análise computadorizada
de Medicina
Imagens de software (CAMI), escrito em
Matlab, foi
desenhado e desenvolvido por nós no
Instituto Militar
de Medicina, Varsóvia, Polónia [9, 1 0]. Foi
utilizado em Sev-
projetos de pesquisa eral como uma
ferramenta para quantitativa automática
tiva e análise de imagem morfométricas. O
principal
direções de aplicação eram câncer de mama
(ER / PR
receptores), tumores do sistema nervoso
(neuroblas-
Toma, meningioma, oligodendroglioma -
coloração Ki-67)
gástrica e inflamatória (cromogranina,
serotonina e
Os anticorpos da somatostatina). Os
resultados positivos da CAMI
aplicação nos inclinado a idéia de construir a
plataforma internet
oferecendo o ambiente de trabalho remoto
para CAMI.
A última versão do Matlab oferece
ferramentas para automática
construindo os arquivos executáveis de
nossas funções projetadas
em código Matlab usando linguagem
Java. Com a ajuda de
Matlab Builder Java toolbox [7], é possível
construir
arquivos jar executáveis para uso pelo Java
Servlet Pages (JSP)
[11] no servidor www internet como um
servlet (exe- programa
cuted no servidor). No entanto exemplo de
aplicação (existente
na internet e apresentados no lado web do
Mathworks
[7]) restringir ao uso de Matlab para cálculo
numérico
apenas, ou às vezes com visualização
gráfica, comple-
madamente, omitindo-se o problema de
análise de imagens de apoio
manejado pelo usuário remoto. Apenas um
exemplo de software
(HDRExplorer [1 2]) com a análise da
imagem
sequência pode ser encontrado, mas este
sistema funciona somente com
os arquivos de dados armazenados no
servidor, não no usuário
estação remota. A análise de imagem na
patologia exige
carregar a imagem para executar a
análise. Nisso
papel a realização prática de processamento
de imagem em
patologia no uso de funções Matlab por JSP
e Tomcat
servidor [13] para é apresentado.
Implementação Neste estudo, o autor se propõe a construir o
controle remoto
plataforma para análise de imagem com base
na função Matlab,
JSP e Tomcat servidor. Estas ferramentas
com adicional
banco de dados fornecer todas as funções
necessárias para realizar o
tarefa. Os requisitos básicos dos programas
são tão
segue:
• Java Runtime Environment v. 6 ou superior
• Tomcat 6.0.20 ou superior
• Matlab 7.9 ou superior
• Matlab Toolboxes: MATLAB Compiler v
4.11,.
MATLAB Construtor JA v. 2.0.4, caixa de
ferramentas de banco de dados v. 3.6
e Processamento de Imagens Toolbox v.
6.4.or superior.
O principal esquema da plataforma contendo
Tomcat
servidor como um recipiente de servlet do
sistema, o próprio servlet
escrito em linguagem JSP, Matlab e base de
dados é pré-
tantes na fig. 1. O utilizador remoto com a
ajuda de
web browser se conecta com o servidor do
sistema via inter-
net. Qualquer explorador web, como o
Mozilla Firefox, Internet
Explorador etc, podem ser usados. O
servidor Tomcat é uma disposição
der de serviço de internet e funciona como
um contêiner de servlet.
A página web visto pelo usuário remoto é
gerado
pelo aplicativo servlet escrito em linguagem
JSP. este
servlet percebe resposta e envia os dados a
partir da web
navegador, a conexão com Matlab
Biblioteca Runtime [7]
para a execução de funções de análise de
imagem. A armazenagem de qualquer
dados na base de dados é controlado por
funções Matlab.
Esta base de dados pode estar situado no
sistema ou no servidor
um outro computador, conectado com, por
exemplo servidor via LAN.
Os resultados numéricos e gráficos de
análise de imagem
são retornados de funções Matlab para a
aplicação
servlet e transmitida via internet para o
navegador web. Todos
ferramentas de plataforma de análise de
imagem pode ser executado no sis-
TEM servidor e qualquer operação
executada nos dados
pode ser realizada neste computador. A
alternativa abordagem com base de dados
colocados no outro computador
conectada com, por exemplo servidor via
LAN também podem ser aplicadas.
O sistema remoto proposta requer o conjunto
de espe-
ferramentas e métodos para trabalho
eficiente na prática fic
aplicação. A principal tarefa a resolver é o
da realização
o upload de imagem e retornar os resultados
por controle remoto
utilizador, funcionando como um dos
diversos utilizadores do sistema. o
mecanismos adequados para a realização
desses recursos
da plataforma remota são implementadas por
JSP servlet.
O primeiro passo feito pelo usuário envie a
imagem
Markiewicz diagnóstico de patologia
de 2011, 6 (Suppl 1): S18
http://www.diagnosticpathology.org/content/
6/S1/S18
Página 2 de 7
Página 3
para a análise. O formulário de
dados multipart / form-data é
um dos mais comumente usado para enviar
arquivos via
De HTTP. Esta forma oferece possibilidade
de upload de imagens
arquivo para o cargo frame remoto. O
código pode ser simples
como escrito
<form name = "PlatformName" action =
"System.jsp"
method = "post" ENCTYPE = "multipart /
form-data">.
O segundo passo é enviar o pedido do
cliente para o
servidor. Esta ação requer a implementação
de aquisição
o arquivo de imagem e transmiti-lo via
internet para JSP
servlet. A interpretação dos dados podem ser
realizados
por função Matlab. Para fazer essa
transmissão a
ficheiro de imagem deve ser lido a partir da
solicitação de várias partes via byte
transmitir e usado como um parâmetro para
a função Matlab.
O código de exemplo de arquivo de leitura
via fluxo é como o fole
tmpfile = multipartRequest.getFile
("upload");
FileInputStream fis = new FileInputStream
(multipar-
tRequest.getFile ("upload"));
databytes byte [] = new byte [fis.available
()];
int byteRead = 0;
int wsk = 1;
while (wsk> -1) {
byteRead = fis.read (databytes);
wsk = byteRead;
}.
A função Matlab pode ser executado pelo
comando
Object [] resultado =
componentObject.function_name (
1, // sempre um - uma estrutura de matriz
databytes,
outros parâmetros; ...).
retornando os resultados da execução desta
função em
um objeto de resultado. O function_name é
um nome de Matlab
função e componentObject é o objeto criado
por
servlet, que contém funções Matlab como
métodos de objeto.
O objeto de resultado pode conter quaisquer
dados numéricos, tais
como nome de arquivo, tamanho e outros, e
também Matlab web-figura.
Esta figura web é um tipo virtual de Fi-
Matlab clássico
ure obtido no uso estacionário de aplicação e
pode
ser colocado no código HTML. Esta figura-
web está equipada
com zoom, rodar e mover botões, como
mostrado na Fig. 2.
Na solução apresentada a análise de imagem
é remoto
realizada por diferentes algoritmos
Matlab. Estes algo-
ritmos deve ser compilado para o
executável arquivo jar com
a ajuda de Matlab Compiler e Matlab
Construtor JA
caixa de ferramentas. A função Matlab deve
ser declarada com set
de dados de entrada e de saída que contém a
estrutura
resultados numéricos e Matlab web-
figura. Qualquer função
preparado desta maneira pode ser usado
como uma função de Java
em Java Servlet Pages (JSP). A interface
gráfica do usuário
fornecendo os dados de entrada e exibição
dos resultados (também
em forma gráfica) deve ser implementado
em JSP.
Figura 1 O principal esquema do sistema de
análise de imagem remoto.
Markiewicz diagnóstico de patologia
de 2011, 6 (Suppl 1): S18
http://www.diagnosticpathology.org/content/
6/S1/S18
Página 3 de 7
Page 4
O servlet JSP percebe o processo de fazer o
upload do
dados de entrada (dados de imagem e
descrição), transformando-
os dados de HTML para função Matlab (s) e
de volta para
html e fornecer quaisquer comandos
iniciados pelo usuário.
As funções Matlab deve ser compilado em
arquivo jar e
também adicionado ao sistema Tomcat
servlet.
O servlet JSP pode iniciar as funções
Matlab.
Estas funções são interpretados
por componentes Matlab
Tempo de execução (MCR) Biblioteca que
deve ser instalado no
servidor do sistema. A segunda forma (mais
recomendado)
é instalar o programa completo Matlab no
servidor. De fato
quaisquer funções Matlab compiladas em
arquivo jar são executados
pela biblioteca Matlab. A função Matlab
projetado (s)
pode realizar processamento de imagem
usando qualquer imagem transformação
cantar caixa de ferramentas [7] ferramentas
e conexão com a base de dados
para o armazenamento da imagem (s) com a
ajuda da base de dados
caixa de ferramentas [7]. A base de dados
pode ser usado para o armazenamento do
Descrição de dados e os resultados, e
também para criar o
único nome / número para o número arquivo
de imagem / case. isto
é possível também utilizar quaisquer outras
ferramentas Matlab úteis,
tais como redes neurais como classificadores
ou estatística
analisadores [7]. Na solução apresentada
Matlab pode oferecer
muitas ferramentas sem necessidade de
implementar na outra
idioma para uso remoto.
O problema muito importante na
programação de um
plataforma remota para análise de imagem é
informatizada paralelo
ing. Os dados fornecidos pelo usuário devem
ser visíveis
apenas pelo proprietário e não por outros
usuários. A prática
solução deste requisito pode ser realizado
por Inicializando
ing as sessões. Quaisquer dados e imagem
enviados pelo
utilizador, bem como os resultados da
análise de imagem deve ser
armazenados somente em uma sessão
específica iniciado somente para este
do utilizador. A configuração e recebendo
dos atributos selecionados
pode ser realizado por exemplo o código
session.setAttribute ("AttribureName",
"NovoValor")
session.getAttribute ("AttribureName").
Da mesma maneira que usamos Matlab web-
figura. Para HTML
geração de código no servlet JSP pode usar o
comando
<wf: web-figura name = "myFigure" scope
= "sessão"
root = "WebFigures"> </ wf: web-figure>
onde parâmetro escopo controla o processo
de obtenção de
o web-figura a partir da sessão do usuário. O
esquema do
Figura 2 O exemplo da figura teia Matlab.
Markiewicz diagnóstico de patologia
de 2011, 6 (Suppl 1): S18
http://www.diagnosticpathology.org/content/
6/S1/S18
Página 4 de 7
Page 5
computação paralela na plataforma remoto é
pré-
tantes na fig. 3.
O último problema é o de proporcionar a
sincronização de
a ligação para a base de dados, quando é
necessário. este
caso aparece quando a sessão do usuário de
adicionar o novo
caso para o banco de dados, solicitando o
número exclusivo para
isto. Em qualquer momento, apenas um
canal de conexão pode ser
aberto e ainda será fechado qualquer
operação deve ser
thread-safe usando o comando sincronizado.
Resultados A ferramenta proposta para análise de
imagem remoto foi
testado usando a análise computadorizada de
Medicina
Imagens de software (CAMI), desenvolvido
pelo autor. o
usuário fornece imagem e caso a informação
(diagnóstico,
coloração, parâmetros da imagem, etc.) e
quando a análise é
inicializado, os dados de entrada e de
imagem são enviados para servlet
no Tomcat. Existem dois casos de ligação
com
servlet. O primeiro é fornecido para upload
de imagem e
visto em Matlab web-figura. A segunda é
para
upload da imagem (se não foi fazer upload
anteriormente), bem
como executar a análise de imagem. Quando
a análise é feita,
cliente obtém os resultados sob a forma de
anotada
imagem com células reconhecidas marcados
e quantitativa
medidas. Além disso, os resultados são
armazenados no servidor
banco de dados.
Um dos a questão prática é como armazenar
imagens
na base de dados. Na realização CAMI o
arquivo de imagem é
salvo no diretório fixo no servidor. Quando a
imagem
é carregado apenas para vê-lo, a função ge-
Matlab
erados 10 dígitos número aleatório usado
como um nome de arquivo e
retorna para a sessão do usuário. Quando a
análise é executado, o
função de processamento de imagem recebe
este nome de imagem como bem
como dados de descrição caso. O programa
executa imagem
análise e quando foi feito com sucesso o
caso será
ser adicionado à base de dados. A função
inicia a
conexão com a base de dados, acrescenta
este novo caso
em conjunto com os resultados da análise e
obtém o novo
etiqueta original para a imagem
processada. Subsequentemente,
a conexão for perdida, 10 dígitos nome do
arquivo de imagem
é alterado para o novo nome exclusivo e,
finalmente, na Web
Resultados A Figura numéricos e são
devolvidos ao ade-
sessão do usuário caso disso. Depois de
terminar a análise, o
servlet gera um código HTML com os
resultados. Este código é
transmitidos para o navegador do usuário da
web e os resultados da
análise de imagem são mostradas.
A plataforma de internet foi testado em PC
Intel Core2
Duo T9600 servidor RAM 4GB 2.8GHz
com 768x576
tamanho do pixel, 1.28Mb imagens em
formato TIFF com meningioma
tumor (x400, Ki-67 / MIB-1). O tempo de
consumo
foi como segue: para análise por CAMI
localmente no servidor -
3,5 segundos, para análise remota - 26
segundos, o que
Figura 3 O esquema da computação paralela
na plataforma remota.
Markiewicz diagnóstico de patologia
de 2011, 6 (Suppl 1): S18
http://www.diagnosticpathology.org/content/
6/S1/S18
Página 5 de 7
Page 6
abrange 22 segundos para transferência de
dados via internet ligação
ção. Imagem do formato jpg para (768x576
tamanho do pixel, 102 Kb)
o tempo de consumo foi reduzido para 14
segundos. o
sistema pode analisar qualquer formato de
imagem reconhecidos pelo
Função Matlab imread. A velocidade de
conexão do usuário foi
2 Mb / s para download e 0,5 Mb / s para
upload.
Discussão A análise de imagem patológico é um um
dos possíveis
direção específica de processamento de
imagens médicas. O con-
imagens siderada representar a diversidade
praticamente infinito
em relação aos tipos de um tecido ou do
mesmo modo tipos de inoxi- dável
ing. Estas diferenças são a razão de
desenvolver muitas
métodos e abordagens para a imagem
computadorizada
análise.
Atualmente, podemos encontrar muitos
algoritmos e linguagens
utilizado para análise das imagens. Um dos
mais
ferramentas avançadas de análise de imagem
é com Matlab
Caixa de ferramentas de processamento de
imagem. Este programa oferece muitos
realizando operações funções muito úteis,
formando o
ferramentas matemáticas avançadas. Para os
cientistas envolvidos na
pesquisa de processamento de imagem é
uma linguagem muito popular
permitindo a implementação e
desenvolvimento de muitos
avançado abordagens para a análise de
imagens. No entanto, o
processamento de imagem remoto baseado
em funções Matlab via
Internet está ainda em fase inicial de
desenvolvimento. Um exem-
ple de análise de imagem por Matlab com o
web browser pode ser
encontrada no papel [12]. Infelizmente, este
exemplo
funciona apenas com os arquivos de imagem
armazenados no servidor, não com
as imagens fornecidas pelo usuário do
computador remoto.
Esta solução não proporciona ferramentas
para o armazenamento de dados em dados
base e computação paralela.
Neste trabalho a abordagem baseada em
servidor Tomcat,
JSP servlet e ligação à base de dados
directamente a partir de
a função Matlab é proposto. A realiza-
prático
ção desta abordagem exige encontrar muitas
chaves e
resolução de alguns problemas para a prática
e oferecendo
ferramenta útil. A realização apresentada
permite o upload
o arquivo de imagem do computador remoto
para Servlet e
Plataforma Matlab, a ligação para a base de
dados para dados
armazenamento e mecanismo de
computação paralela. Oferecer
a plataforma para muitos usuários em
conjunto, a sessão, como um
contentor de dados do utilizador, foi
aplicado.
A outra característica significativa da
solução proposta
é que os processos de análise de imagem e
os dados armazenados
não são visíveis para usuários remotos. Isto
proporciona alta secur-
dade do sistema proposto e torna o sistema
de escalabilidade
capaz. A base de dados pode ser escondido
no local LAN
rede e um único processo de análise de
imagem pode ser
também mudou-se para os outros
computadores / núcleos.
Conclusões Os resultados confirmaram que projetou
plataforma remota
formulário pode ser útil na análise de
imagem patologia. o
plataforma é fácil de ser implementado com
a ajuda de
Programas de Matlab e gratuitos, tais como
Java e Tomcat.
A base de dados pode também ser construída
usando qualquer outro populares
software por exemplo, Oracle, MS Access,
SQL, etc e é executado em
o protocolo de ODBC em MS Windows.
O consumo de tempo depende
principalmente da imagem
tamanho e velocidade das conexões de
internet. O apresentadas
aplicação pode ser usado para muitos tipos
de análise
(coloração diferente, tecido, abordagens
morfometria
etc). A questão importante é a
implementação da
JSP página na forma de múltiplas sessões,
que pode ser usado par-
ALLEL por muitos usuários. A plataforma
apresentada por imagem
análise em patologia pode ser especialmente
útil para ratório
tory não ter nenhum sistema de análise de
imagem.