Ir para o conteúdo

 Voltar a invesalius-dev
Tela cheia

Problemas com gdcm e DICOMImageRead

23 de Março de 2009, 15:38 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 23 vezes
Olá Pessoal; Estamos tendo problemas na utilização das classes que mexem com DICOM. Primeiro, com o vtkDICOMImageReader, ao tentar utilizar o ImageActor como foi sugerido, aparece o seguinte erro: ERROR: In ..\..\VTK-5-0\Rendering\vtkImageActor.cxx, line 218 vtkOpenGLImageActor (02D8E350): This filter requires unsigned char scalars as input No entanto testei utilizando o vtkBMPReader com uma imagem .bmp e deu certo. Não consigo identificar o problema. Outro problema é com o GDCM. Utilizando a pasta do gdcm com as dll cedida pelo Paulo, coloquei-a no mesmo local que a do vtk, adicionei os caminhos nas varáveis de ambiente e mesmo assim não consegui importá-la. O Python não acha nenhum módulo com esse nome. Gostaria que pudessem ajudar. Grato pela atenção. Abraços. Victor Hugo Física Médica - USP RP

Autor: Victor Hugo de Oliveira Souza


99 comentários

  • 45bc47f23454bc6f0bb5eefccad4b879?only path=false&size=50&d=404Tatiana Al-Chueyr Pereira Martins(usuário não autenticado)
    24 de Março de 2009, 11:03

     

    Bom dia Victor,

    Como você está?

    Estive de férias um tempo. Enquanto estive fora Paulo e Thiago comentaram que haviam auxiliado um pouco vocês. Recentemente em visita de André ele também esclareceu algumas dúvidas.

    Você continua exatamente com o mesmo problema? O GDCM continua não funcionando?

    Abraços,

    Tatiana

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

       

      Bom dia Tatiana.

      Estou bem obrigado. E você?

      Então,o André trouxe uma pasta com o GDCM já compilado. Mesmo assim ainda não consegui importá-lo. Estamos tendo os mesmos problemas.

      O Paulo também tinha aconselhado utilizar o vtkImageActor para visualizar as imagens do vtkDICOMImageReader. Mas o erro que citei no tópico acima aparece, dizendo que a entrada do Actor não é o esperado.

      Estamos travados por causa desses pequenos problemas.

       Obrigado pela atençao!

       Abraços.

       Victor Hugo

      • 45bc47f23454bc6f0bb5eefccad4b879?only path=false&size=50&d=404Tatiana Al-Chueyr Pereira Martins(usuário não autenticado)
        25 de Março de 2009, 7:59

         

        Olá Victor,

        Tudo ótimo..!

        O VTK está funcionando?

        Se estiver, gostaria de lhe pedir para copiar os arquivos que estão dentro deste zip: www.​soft​ware​publ​ico.​gov.​br/d​otlr​n/cl​ubs/​inve​sali​us/f​ile-​stor​age/​down​load​/gdc​m2.1​.zip​?fil​e%5f​id=1​0251​496

        Dentro da própria pasta do VTK.

        Surtiu algum resultado? Tente fazer:

        >>> import gdcm

        >>> import vtkgdcm

        A princípio, seguindo estes passos, não será necessário colocar nenhum caminho adicional ao PYTHONPATH ou ao PATH do sistema.

        Abraços,

        Tatiana

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

           

          Olá Tatiana;

          O vtk está funcionando perfeitamente.

          Obrigado pela pasta do gdcm, ela funcionou. Não por completo.
          Eu consigo importar o gdcm e o gdcmswig, mas não o vtkgdcm. Aparece uma mensagem: Não foi possível localizar o ponto de entrada do procedimonto ?GetNumberOfUserDefinedValues@vtkMedicalImageProperties@@QAEIXZ na biblioteca de vínculo dinâmico vtkIO.dll.

          Tentei utilizar a classe vtkGDCMImageReader(), mas o interpretador não a reconheceu. Presumo que ela esteja vinculada com o módulo vtkgdcm que não pode ser importado.

           Alguma solução?!

          Obrigado pelo suporte.

          Abraços!

           Victor Hugo

          • 45bc47f23454bc6f0bb5eefccad4b879?only path=false&size=50&d=404Tatiana Al-Chueyr Pereira Martins(usuário não autenticado)
            25 de Março de 2009, 14:54

             

            Olá Victor,

            É bastante provável que a versão do VTK que utilizamos para gerar este wrapper do GDCM seja diferente da sua, por isso o problema.

            Para resolver, pelo menos por enquanto, sugiro que você substitua sua pasta vtk (que está explícita no PYTHONPATH e/ou PATH) pela contida no arquivo Wrapper Python VTK 5.3 e GDCM 2.1 disponível na pasta:

             http://www.softwarepublico.gov.br/dotlrn/clubs/invesalius/file-storage/index?folder_id=10259993

            O zip ultrapassava o tamanho permitido por arquivo no Portal (20M), então comprimi em 7z, que é um padrão livre de compressão mais eficiente que zip para grande parte dos casos.

            Confirme se deu certo, ok?

            Abraços!

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

               

              Tatiana,

              Muito obrigado. O gdcm está funcionando corretamente.

              No entanto, a princípio não consegui fazê-lo interagir com o vtkImageActor. Num programinha básico feito no boa constructor, um frame com dois painéis, sendo que em um deles é para projetar a imagem. Eu consigo fazer com o vtkBMPReader, mas quando utilizo um leitor de dicom aparece a seguinte mensagem de erro:

              ERROR: In ..\..\Rendering\vtkImageActor.cxx, line 267 vtkOpenGLImageActor (056D9C30): This filter requires unsigned char scalars as input

               Tem alguma idéia do que seja.

              Obrigado pela atenção.

               Victor Hugo

              • 45bc47f23454bc6f0bb5eefccad4b879?only path=false&size=50&d=404Tatiana Al-Chueyr Pereira Martins(usuário não autenticado)
                25 de Março de 2009, 17:30

                 

                Olá Victor,

                Por favor, você disponibilizaro código fonte inteiro que você está executando, que está gerando este problema?

                Se possível, por favor, comprima os arquivos e coloque o arquivo comprimido 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​0263​431

                Não desanime, no início sempre surgem dificuldades, mas logo você já estará programando melhor que nós três do CTI.. ;)

                Abraços,

                Tatiana

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

                 

                Olá, Victor. Tudo bem?

                 

                Este erro ocorre porque o vktImageActor espera receber como entrada uma imagem com os dados no formato unsigned char. Para conseguir uma imagem com este formato, você passar a imagem pelo filtro vtkImageCast, e setar a saida para unsigned char pelo método SetOutputScalarTypeToUnsignedChar. Abaixo um exemplo de código.

                 

                cast = vtkImageCast()

                cast.SetOutputScalarTypeToUnsignedChar()

                cast.SetInput(image)

                actor = vtk.vtkImageActor()

                actor.SetInput(cast.GetOutput())

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

                   

                  Opa, tudo bom!

                  Thiago, fazendo esta conversão deu certo, está rodando direitinho agora, obrigado.

                  Tatiana, acho que não será necessário enviar o código fonte agora. Caso venha a surgir algum problema maior eu colocarei no fórum.

                  Muito obrigado pela ajuda pesoal.

                   Abraços.

                  Victor Hugo

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