Ir para o conteúdo

 Voltar a invesalius-dev
Tela cheia

boa + vtk

6 de Fevereiro de 2009, 14:59 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 72 vezes

Ola pessoal!

 Estamos com dificuldade de integrar o uso do wx com o vtk. Encontrei algo falando sobre dois modulos: o wxVTKRenderWindow.py e o wxVTKRenderWindowInteractor.py, mas nao consegui baixa-los.

Ainda nao consigo com o vtk para criar que seja um cone e visualiza-lo no frame criado pelo boa. Se pudessem mandar algum exemplo simples ou alguma ajuda, seria bem recebido.

Grato pela atencao!

Victor Hugo
Biomag Lab
Fisica Medica - USP

Autor: Victor Hugo de Oliveira Souza


1616 comentários

  • 4fc11d72fb1974e943174c8ca2fa8765?only path=false&size=50&d=404Thiago Franco Moraes(usuário não autenticado)
    7 de Fevereiro de 2009, 11:05

     

    Olá, Victor!

    O módulo wxVTKRenderWindowInteractor já vem junto com o vtk. Para você usá-lo no seu programa você tem que importá-lo do seguinte modo:

    from vtk.wx.wxVTKRenderWindowInteractor import wxVTKRenderWindowInteractor

    Veja este link para um exemplo, past​ebin​.com​/m54​aeac​53

    Perceba que este exemplo não usa classes, mas é bem fácil de fazer usando classes.

     Tchau!

    • 4fc11d72fb1974e943174c8ca2fa8765?only path=false&size=50&d=404Thiago Franco Moraes(usuário não autenticado)
      7 de Fevereiro de 2009, 11:25

       

      Estava faltando os imports no exemplo, o novo exemplo está aqui past​ebin​.com​/m58​7886​29

      • 8b29dd625bf14f6a12777f64db9aa2e7?only path=false&size=50&d=404Victor Hugo de Oliveira Souza(usuário não autenticado)
        7 de Fevereiro de 2009, 12:15

         

        Opaa.. valew thiagoo..

        Pois intão, vocês usam estes módulos??

        Tamo meio perdido um cado ainda de quais as classes usar para trabalhar com renderizaçao de volume com imagens dicom e do proprio mauseio com as imagens 2D, se puder dar umas dicas seria bom.

        Abraçoss e obrigado!

        • 9512fd15511b858a19127f17fd75fbf2?only path=false&size=50&d=404Paulo Henrique Junqueira Amorim(usuário não autenticado)
          10 de Fevereiro de 2009, 9:41

           

          Victor,

          A gente usa uma classe chamada vtkGDCMImageReader, Têm que baixar o gdcm [1] e compilar. Lembre-se para compilar é necessário ter o VTK previamente compilado (arquivos de projetos do Visual C++ na máquina).

          Por enquanto vocês podem usar o vtkDICOMImageReader (já incluso no VTK) para ler cada fatia e usar o vtkImageAppend para "empilhar as fátias",  usando SetAppendAxis(2) para adicionar fátias no eixo Z e AddInput(GetOutput_do_vtkDICOMImageReader) para adiciona-las.

          A diferença entre as 2 classes é que o vtkGDCMImageReader, suporta DICOM Comprimido e outras facilidades, mas a saida de ambos será um vtkImageData.

          Nessa página em (examples e tests) www.​vtk.​org/​doc/​rele​ase/​5.2/​html​/pag​es.h​tml&​nbsp​; têm uma série de exemplos do vtk, alguns em python.

          [1] - down​load​s.so​urce​forg​e.ne​t/gd​cm/g​dcm-​2.0.​10.z​ip?m​odti​me=1​2270​1219​6&am​p;bi​g_mi​rror​=0

          • 8b29dd625bf14f6a12777f64db9aa2e7?only path=false&size=50&d=404Victor Hugo de Oliveira Souza(usuário não autenticado)
            13 de Abril de 2009, 17:39

             

            Boa tarde pessoal,

             Já estou tentando reconstruir um volume a partir das imagens dicom. Como o Paulo já tinha dito, eu posso utilizar o vtkImageAppend para empilhar as fatias, mas depois quando vou jogá-las para um vtkActor não consigo por motivos de incompatibilidade de tipos dos dados.
            Imagino então que vou precisar de um mapper para intermediar o vtkImageAppend e o Actor. Encontrei algo sobre o vtkVolumeMapper, mas dá um erro de que esta é uma classe abstrata e não pode ser instanciada.

            Gostaria que pudessem me ajudar, sobre onde devo procurar informações, que caminho seguir e se estou certo.

             Obrigado pela atenção!

            Abraços.

            • 9512fd15511b858a19127f17fd75fbf2?only path=false&size=50&d=404Paulo Henrique Junqueira Amorim(usuário não autenticado)
              13 de Abril de 2009, 21:52

               

              Olá Victor, tudo jóia ?

              No vtk existe vários tipos de visualização 3D como Raycast, MIP, IsoSurface e por Malha de Triângulos (vtkPolyData), a menos trabalhosa é a por malha de triângulo que é a do código abaixo.

              Você poderia usar o leitor de DICOM do próprio VTK e do GDCM o mais recomendável pois da suporte a dicom comprimido etc, vou ilustrar exemplo com ambos:

              Qualquer coisa pode escrever.

              Abraços,

              Paulo

              # -----------------------------   Usando Leitor GDCM -------------------------------
              import vtk
              import vtkgdcm
              import os
              import glob

              directory = os.path.abspath('./arquivo_dcm')

              file_list = glob.glob(directory + os.sep + '*')

              array = vtk.vtkStringArray()

              for x in xrange(len(file_list)):
                  array.InsertValue(x,file_list[x])

              read = vtkgdcm.vtkGDCMImageReader()
              read.SetFileNames(array)
              read.Update()

              img = vtk.vtkImageData()
              img.DeepCopy(read.GetOutput())
              img.SetSpacing(0.48, 0.48, 1.50)   #Espaçamento que esta na DICOM
              img.Update()

              # --- Continua partir ponto 1 abaixo

               

              #----------------------------    Usando o vtkImageAppend  ---------------------

              import vtk
              import glob

              file_list = glob.glob("D:\\DICOM\\*") #o nome dos arquivos dicom estam numeros na sequencia

              img_app = vtk.vtkImageAppend()
              img_app.SetAppendAxis(2) #colocar de acordo com o eixo Z

              for x in xrange(len(file_list)): #Percorrer a lista de DICOM
                  read = vtk.vtkDICOMImageReader()
                  read.SetFileName(file_list[x])
                  read.Update()

                  img_app.AddInput(read.GetOutput()) #Empilhar
                 
              img_app.Update()

              img = vtk.vtkImageData()
              img.DeepCopy(img_app.GetOutput())
              img.SetSpacing(0.47, 0.47, 2.0)  #Espacamento da DICOM
              img.Update()

               
              # --------- Ponto 1 - Gerar superficie 3D ----------------------------------

              thresh = vtk.vtkImageThreshold() #Segmentar
              thresh.SetInput(img)
              thresh.SetOutValue(1)
              thresh.ThresholdBetween(0,1500) #Escolher niveis de cinza de 0 ate 1500
              thresh.Update()
                    
              mcubes = vtk.vtkMarchingCubes() #Gerar triangulos partir da imagem 3D
              mcubes.SetInputConnection(thresh.GetOutputPort())
              mcubes.SetValue(0, 350)
              mcubes.ComputeGradientsOn()

              polydata_mapper = vtk.vtkPolyDataMapper()
              polydata_mapper.SetInput(mcubes.GetOutput())
              polydata_mapper.ScalarVisibilityOff()

              actor = vtk.vtkActor()
              actor.SetMapper(polydata_mapper)
              renderer = vtk.vtkRenderer()

              #--------- Substituir pelo wx conforme exemplos -----

              render_window = vtk.vtkRenderWindow()
              window_interactor = vtk.vtkRenderWindowInteractor()

              render_window.AddRenderer( renderer )
              window_interactor.SetRenderWindow( render_window )
              renderer.AddActor( actor )

              render_window.Render()
              window_interactor.Start()
               

              • 8b29dd625bf14f6a12777f64db9aa2e7?only path=false&size=50&d=404Victor Hugo de Oliveira Souza(usuário não autenticado)
                15 de Abril de 2009, 17:47

                 

                Boa tarde Paulo,

                Muito obrigado pelos exemplos. Existem vários pequenos detalhes que ainda não tenho contato, obrigado pela ajuda.
                Estou com outro problema agora.

                Eu consegui visualizar 27 fatias de dicom de um experimento com bobina que fizemos aqui, mas a reconstrução ficou toda branca, não aparecia diferentes tons de cinza e foi MUITO lento. Além disso, quando fiz com 180 imagens de uma cabeça, a reconstrução mostrou apenas alguns poucos pontos, mas foi bem mais rápida que a outra, inclusive a interação.

                 Não consegui fazer rodar, usando o  directory = os.path.abspath('./arquivo_dcm'). Tentei colocar vários caminhos na string, mas toda vez que rodava simplesmente não apresentava erro nem frame nenhum.

                Sobre o SetSpacing(a, b, c ) quais valores são esses, grossura da fatia? espaçamento entre fatias?

                 Espero que não esteja dando muito trabalho a você, mas é porque me economiza muito tempo que eu fico quebrando a cabeça.

                 Obrigado novamente pela ajuda!

                 Abraços,

                Victor Hugo

                • 9512fd15511b858a19127f17fd75fbf2?only path=false&size=50&d=404Paulo Henrique Junqueira Amorim(usuário não autenticado)
                  16 de Abril de 2009, 14:17

                   

                  Boa Tarde Victor,

                  Teria como você enviar as imagens e os códigos p/a mim ver, para esse ftp[1], existem diversos parâmetros que podem estar ocassionando isso.

                  Sobre o os.path.abspath('./arquivo_dcm')  isso é p/a pegar o caminho absoluto do diretório, por exemplo neste caso p/a meu computador estava retornando C:\\arquivo_dcm\\ .

                  Sobre o SetSpacing é a distância entre as fátias. Para você descobrir, qual é na DICOM, pode usar o método GetDataSpacing() ambos os leitores (vtkGDCMImageReader ou do vtkDICOMImageReader), lembre-se que é necessário usar Update() antes.

                  Pode escrever sim, sem problemas, o importante é você entender e estar gostando de mexer com isso.

                  [1]  ftp://promed1:teste99@ftp.cti.gov.br/invesalius/USP_RB

                  Abraços,

                  Paulo Amorim

                  • 8b29dd625bf14f6a12777f64db9aa2e7?only path=false&size=50&d=404Victor Hugo de Oliveira Souza(usuário não autenticado)
                    16 de Abril de 2009, 16:37

                     

                    Boa tarde Paulo,

                    Opa, estou gostando sim. Só ta um pouco trabalhoso agora no início por pegar o bonde andando. hehehe. Mas fico muito grato pela ajuda.

                    Estou usando o Boa. Consegui fazer rodar os dois exemplos. Um problema que apareceu, como você vai ver, é que quando peço pra rodar o programa o frame aparece bem pequeno na tela, aí se vc quiser maior tem que ir com o mouse a aumentar o tamanho.

                    Com o free ftp eu consegui conectar no endereço que vc mandou não colocando nem login nem senha, mas não consegui conectar utilizando o login e senha do portal. Mesmo conectado não consegui fazer upload de arquivos nem criar uma pasta. Voce colocou alguma senha?

                    Abraços!

                    Victor Hugo

                    • 9512fd15511b858a19127f17fd75fbf2?only path=false&size=50&d=404Paulo Henrique Junqueira Amorim(usuário não autenticado)
                      16 de Abril de 2009, 16:48

                       

                      Victor,

                      Que legal cara!

                      Então para abrir o FTP copia e cola todo o endereço no Windows Explorer (WIN + E).

                      Vai abrir a pasta USP_RP e cola lá as imagens e o código.

                       

                      Abraços,

                      Paulo Amorim

                      • 8b29dd625bf14f6a12777f64db9aa2e7?only path=false&size=50&d=404Victor Hugo de Oliveira Souza(usuário não autenticado)
                        16 de Abril de 2009, 17:15

                         

                        Bom, acho que deu certo!

                        Daqui a pouco vou colocar o da bobina utilizando o ImageAppend.

                        Abraços!

                        Victor Hugo

                        • 9512fd15511b858a19127f17fd75fbf2?only path=false&size=50&d=404Paulo Henrique Junqueira Amorim(usuário não autenticado)
                          17 de Abril de 2009, 14:52

                           

                          Boa Tarde Victor,Analisei o código e entendi o que você quis dizer que não aparece nível de cinza na reconstrução, é que esse método é por malha de triângulos (vtkPolyData) é somente uma superficie de uma cor, formada pelos triângulos. O MIP é possível visualizar os níveis de cinza no volume mas é muito mais complicado p/a fazer.Sobre ficar lento p/a lêr as 27 fátias, é porque você selecionou com o threshold bastante área, ae é criada mais triângulos com isso demora mais p/a processar eles, pode perceber que no outro caso é mais rápido no entanto apareceu pouca coisa.É só alterar o valores do método thresh.ThresholdBetween(3000,4089.9) Para você saber a faixa de threshold que a imagem têm pode usar no código. img.GetScalarRange()  E o SetSpacing da bobina estava com espeçamento errado no Z éra 2 e não 1, use o método read.GetDataSpacing() para saber o espaçamento da imagem.  No caso da cabeça você têm que mudar a faixa de threshold, pelo que eu vi só vai de 0 até 437 (achei estranho isso).thresh.ThresholdBetween(0,437)  #mesma coisa use o img.GetScalarRange() para saber os min e max E mude o parametro mcubes.SetValue(0, 110) #É necessário porquê a faixa máxima de thrshold está muito baixa  Sobre a tela estar ficando pequena o problema está no trecho em vermelho:iren = wxVTKRenderWindowInteractor(self.panel1, -1,  wx.Size(400, 489)) correto: iren = wxVTKRenderWindowInteractor(self.panel1, -1,  size = self.panel1.GetSize()) iren = wxVTKRenderWindowInteractor(self.panel1, -1,  size = wx.Size(400, 489))  Abraços,Paulo Amorim

                          • 8b29dd625bf14f6a12777f64db9aa2e7?only path=false&size=50&d=404Victor Hugo de Oliveira Souza(usuário não autenticado)
                            17 de Abril de 2009, 18:20

                             

                            Boa Tarde Paulo,

                            Entendi sim. Muito obrigado, consegui implementar tudo que você passou. Mas o que eu preciso mesmo é somente empilhar as fatias do jeito que elas são e obter o volume resultante em diferentes tons de cinza, originados da imagem DICOM original mesmo. Não tem nenhum meio simples não? Como é esse MIP que você falou?

                            Eu pretendo agora, depois de muito tempo, hehehhe, vou estudar o vtk mais a fundo e deixar de ficar tentando na marra. Pretendo usar o VTK Textbook, além disto queria entender melhor cada classe do vtk que devo usar e seus métodos, para isso tenho somente o que está aqui: [1]? Ou tem alguma outra bibliografia.

                            Abraços,

                            [1] www.​vtk.​org/​doc/​nigh​tly/​html​/cla​sses​.htm​l

                            • 45bc47f23454bc6f0bb5eefccad4b879?only path=false&size=50&d=404Tatiana Al-Chueyr Pereira Martins(usuário não autenticado)
                              21 de Abril de 2009, 9:09

                               

                              [Comunidade] Justificando esta thread

                              O CTI (antigo CenPRA), hoje, tem parceria com um grupo da Física Médica da USP de Ribeirão Preto para o aperfeiçoamento do recurso de câmera endoscópica, existente hoje no InVesalius 2. A idéia é criar um (neuro)navegador melhorado, que será inserido no InVesalius 3. Victor é um dos participantes do grupo de Ribeirão, sendo que André coordena este projeto.

                              Demos um curso à equipe de Ribeirão no CTI, em dezembro de 2008, e combinamos que as dúvidas sobre a utilização de VTK, Python e wxPython, no contexto deste navegador, seriam tiradas dentro do fórum de desenvolvedores do InVesalius. Com isso, outras pessoas que querem contribuir com o desenvolvimento do InVesalius, mas que não conhecem as ferramentas utilizadas em seu desenvolvimento, poderiam ter acesso a dúvidas e respostas relacionadas.

                              [Respondendo a Victor]

                              Esclarecendo algumas questões que você apontou:

                              1. Representação de volume

                              De modo bastante resumido, e em linhas muito gerais, você pode exibir os dados 3D de duas maneiras, partindo de um vtkImageData (3D) que contenha todas as fatias (2D) do exame interpoladas:

                              (a) Representação de Superfície

                              (b) Representação de Volume

                              No caso (a), você terá que definir claramente os limites da região de interesse, sendo que será necessário utilizar / desenvolver algoritmos de segmentação que estabeleçam qual área corresponde a qual região de interesse. O modo convencional de exibir esta região é uma superfície  (vtkPolyData). No InVesalius 2, trabalhamos com (a) nas abas Segmentação e Modelos.

                              Já no caso (b), você terá que definir funções / relações entre tonalidades de cinza do exame e cores / transparências desejadas no volume 3D. A idéia é: você sempre estará trabalhando com os dados na forma de um grande "cubo" ou paralelepípedo, ou seja, o vtkImageData, e o que mudará será como estes dados serão exibidos ao usuário. Por um lado, não são criados novos dados, você não tem que criar um algortimo de segmentação que gere um vtkPolyData. Entretanto, você tem que definir uma função para mapear pixels cinza a cores / transparências. No que diz respeito a aplicação de (b) dentro do InVesalius, você pode encontrar três métodos de projeção volumétrica em Visualização: MIP, Raycasting e IsoSurface.

                              A vantagem da representação de superfície (a) é que você poderá exportar apenas esta região 3D para outros softwares que manipulem superfícies ou para prototipagem rápida, por exemplo. Juntamente, você pode usar recursos do VTK para determinar o que correponde a uma superfície e o que não corresponde a uma superfície (utilizando Pickers). Isso pode ser muito útil considerando que você queira navegar apenas dentro de uma artéria, por exemplo.

                              A desvantagem de (a) é que você deverá: ou automaticamente definir a região de interesse, ou criar ferramentas que auxiliem o usuário identificar a região que ele deseja reconstruir. Esta identificação de região é chamada de segmentação.

                              Um exemplo de ferramenta de segmentação é o limiar/threshold. Esta é uma das ferramentas mais simples de segmentação, sendo que para a maior parte dos casos de Tomografia Computadorizada é suficiente. Em qualquer curso de computação gráfica ou processamento de imagens você terá contato com outros algoritmos de segmentação (ex: Region Growing, Watershed, entre outros), que permitirão que você selecione a região de interesse não apenas com base nos valores de cinza dos pixels individualmente, como é o caso do threshold, mas considerando regiões da imagem.

                              Hoje o ITK oferece uma gama de recursos de segmentação, e acredito que seria interessante você estudá-lo, visando a segmentação do cérebro.

                              No que diz respeito a (b), a vantagem é que você poderá ver claramente em um único volume cores e transparências de todos os tecidos simultaneamente. O problema é definir a função de transferência que represente claramente os dados trabalhados. No caso do InVesalius e outros softwares da área, isso ainda é mais complicado, pois você precisa definir funções de transferência que trabalhem com exames obtidos a partir de inúmeros equipamentos de TC/RM que tem configurações distintas, podem estar com contraste ou não, podem estar com filtros específicos e podem estar com ajustes de brilho e contraste específicos.

                              Softwares na área radiológica, de um modo geral, trabalham mais intensamente com (b), sendo que alguns definem funções que geram resultados maravilhosos, como Accurex, Vitrea e OsiriX.

                              Softwares na área de prototipagem rápida para medicina, como o Mimics, trabalham mais com (a), oferencendo recursos específicos para manipulação de superfícies.

                              No InVesalius 2 trabalhamos com os dois tipos de representação (a) e (b), sendo que, na ocasião consideramos que a ferramenta de câmera endoscópica seria melhor aproveitada utilizando-se a representação (b).

                              Recentemente, entretanto, testamos o Vitrea, em um hospital parceiro, e obervamos como era feita a navegação interna de vasos. Havia definição praticamente automática de rotas, dentro dos vasos, desviando deles. Para implementar algo neste sentido o modo mais fácil seria, sem dúvidas, utilizar a representação de superfície.

                              Acredito que a primeira questão que você deveria discutir com André, e trazer para este fórum de discussões, é: qual é a melhor forma de representação para desenvolvermos o navegador, em um momento inicial? Utilizaremos representação de superfície ou representação volumétrica, como ponto de partida?

                              Como utilizamos o VTK é fundamental que vocês tenham estudado a ferramenta mais a fundo e avaliem as vantagens e desvantagens de cada tipo de representação.

                              2. Materiais de referência

                              Os materiais que você mencionou são os oficiais, e sem dúvida, são ótimos.

                              Entretanto, no nosso dia a dia, o melhor material é o Google (sem brincadeiras). Nele você encontrará ótimos materiais na internet relacionados ao vtk.

                              Há algum tempo, disponibilizamos aqui no Portal alguns materiais que consideramos bons, relacionados ao VTK, conforme discutido nesta thread:

                              www.​soft​ware​publ​ico.​gov.​br/d​otlr​n/cl​ubs/​inve​sali​us/f​orum​s/me​ssag​e-vi​ew?m​essa​ge_i​d=25​1482​5

                              Acabei de constatar que o link não existe mais :(

                              Todos, por favor, coloquem materiais de referência sobre o VTK nesta pasta:

                              www.​soft​ware​publ​ico.​gov.​br/d​otlr​n/cl​ubs/​inve​sali​us/f​ile-​stor​age/​?fol​der_​id=1​0783​105

                              Relacionado a representação volumétrica, encontrei um material que pode lhes auxiliar e coloquei na pasta acima:

                              vtk_renderizacao_volumetrica

                              Bom, Victor, desculpe pelo email "monstro" gigante. Espero que ele auxilie vocês nesta empreitada.

                              A equipe do CTI (Paulo, Thiago e eu) está a disposição para auxiliar todos interessados em cooperar com o desenvolvimento do InVesalius.

                              Abraços,

                              Tatiana

                              • 644ea182bffd72621201f3c44df09e0e?only path=false&size=50&d=404André Salles Cunha Peres(usuário não autenticado)
                                22 de Abril de 2009, 17:51

                                 

                                Olá Tatiana,

                                       A nossa primeira preocupação é com a velocidade de processamento, porque o intuito do programa é fazer medidas em tempo real, com isso o neuronavegador deve atualizar a posição das imagens pelo menos com freqüência de 10Hz. 

                                       Para a aplicação de estimulação transcraniana magnética (EMT) é necessário apenas a localização de regiões corticais externas, próximas à calota cranina, uma vez que os pulsos magnéticos conseguem estimular com eficiência apenas essas regiões. Dessa forma em um primeiro momento estamos pensando em utilizar apenas uma representação da superfície cerebral excluindo o seu volume interno, com isso passaríamos de um problema com aproximadamente 10^7 elementos (todo o volume), para algo em torno de 10^4(superfície cerebral).

                                       Hoje em dia existem muitos programas livres que fazem segmentação cerebral em MRI, aqui mesmo em nosso centro temos experiência com alguns desses programas, assim não teremos problemas com a segmentação, que passa mais adiante para o manuseio de imagens Analyze, pois a maioria destes programas retornam nesse formato.

                                      Certamente, uma vez implementado para superfície, passaremos a nos preocupar com estruturas internas, para abranger a aplicação do neuronavegador.

                                       Estamos estudando uma alternativa e assim que a obtivermos entraremos em contato.

                                Agradeço mais uma vez a vocês, pela ajuda que têm nos dado.

                                Abraços a todos aí,
                                André.

                                • 45bc47f23454bc6f0bb5eefccad4b879?only path=false&size=50&d=404Tatiana Al-Chueyr Pereira Martins(usuário não autenticado)
                                  28 de Abril de 2009, 1:32

                                   

                                  Oi André!Desculpe a demora em retornar sobre este assunto, cheguei de madrugada de viagem.Entendi a necessidade de desempenho associada ao neuronavegador. Entretanto, acredito que é bastante importante conversarmos melhor sobre isso, considerando que a idéia era que o navegador não fosse "apenas" neuro ;)Digo isso pois recentemente um cirurgião ortopedista, Raul, que está nesta lista inclusive, foi ao CTI e apontou algumas necessidades em relação a arterioscopia, e problemas com o recurso de câmera endoscópica do InVesalius 2.Para arterioscopia, considerando apenas navegação e nada mais, Raul apontou a importância de se ter múltiplos tecidos e transparências, sendo que apresentamos algumas reconstruções melhoradas com raycasting e ele achou-as bastante adequadas para seu propósito. Por isso, acho importante que esta discussão de volume / superfície seja bem avaliada. A princípio, a decisão desta representação não deverá influenciar o funcionamento do navegador, mas é algo importante ser discutido. Somos parceiros, André, e a idéia é que vocês contribuam com o projeto, atendendo suas necessidades..! O mínimo que podemos fazer é auxiliá-los ;)Podem contar com nosso apoio, ok? Abraços,Tatiana 

Tutorial passo-a-passo sobre uso do software InVesalius 3

17 de Abril de 2010, 11:45, por Desconhecido

Se você tem interesse em utilizar o software de reconstrução 3D de imagens médicas InVesalius, mas não sabe por onde começar, acesse já o tutorial escrito pelo designer Cícero Moraes:



InVesalius 3 Beta 2 disponível

6 de Março de 2010, 11:41, por Desconhecido

Para saber mais sobre o InVesalius 3.0.0 Beta 2, leia:
http://svn.softwarepublico.gov.br/trac/invesalius/wiki/releases/pt/changelog

Continue contribuindo com a Comunidade InVesalius!

------------------------------------



Siga cada passo do InVesalius com o Twitter!

8 de Fevereiro de 2010, 9:57, por Desconhecido

Acompanhar o InVesalius pelo Twitter permitirá que você saiba, em primeira mão, sobre:



InVesalius 3 Beta 1 disponível para testes em Windows e GNU Linux

27 de Janeiro de 2010, 10:50, por Desconhecido



Trabalho acadêmico discute aplicação do OpenBRR ao InVesalius

6 de Novembro de 2009, 16:35, por Desconhecido

Autor: Tatiana Al-Chueyr Pereira Martins