Insight ToolKit

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Ce modèle est-il pertinent ? Cliquez pour voir d'autres.
Cet article ou cette section ne s'appuie pas, ou pas assez, sur des sources secondaires ou tertiaires (mars 2013).

Pour améliorer la vérifiabilité de l'article, merci de citer les sources primaires à travers l'analyse qu'en ont faite des sources secondaires indiquées par des notes de bas de page (modifier l'article).

ITK
Logo
Logo

Développeur Kitware Inc.
Dernière version 4.5.0 ()
Écrit en C++Voir et modifier les données sur Wikidata
Environnement Multi-Plateforme
Type framework et logiciel libreVoir et modifier les données sur Wikidata
Licence Apache 2.0
Site web www.itk.org

ITK (Insight Segmentation and Registration Toolkit) est une bibliothèque logicielle libre de classes C++ de traitement d'image. Elle contient des algorithmes de recalage d'image, de filtrage et de segmentation. Elle a été créée dans le but d'analyser toute sorte d'images médicales.

Caractéristiques[modifier | modifier le code]

  • Soutenir le Visible Human Project ;
  • créer une base pour la recherche future ;
  • créer un dépôt des algorithmes fondamentaux ;
  • développer une plate-forme pour le développement avancé de produits ;
  • soutenir l'application commerciale de la technologie ;
  • créer des conventions pour les travaux futurs ;
  • développer une communauté autonome d'utilisateurs et de développeurs de logiciels.

Exemples[modifier | modifier le code]

Gradient d'image soumis à un filtre gaussien[modifier | modifier le code]

  #include "itkImage.h"
  int main()
    {
    typedef itk::Image< unsigned char, 3 > ImageType;
    typedef itk::ImageFileReader< ImageType >  ReaderType;
    typedef itk::ImageFileWriter< ImageType >  WriterType;
    typedef itk::GradientRecursiveGaussianImageFilter< ImageType, ImageType > FilterType;
    ReaderType::Pointer reader  = ReaderType::New();
    WriterType::Pointer writer  = WriterType::New();
    reader->SetFileName("poumonCT.dcm");
    writer->SetFileName("poumonLisse.hdr");
    FilterType::Pointer filter = FilterType::New();
    filter->SetInput( reader->GetOutput() );
    writer->SetInput( filter->GetOutput() );
    filter->SetSigma();
    try
      {
      writer->Update();
      }
    catch( itk::ExceptionObject & excp )
      {
      std::cerr << excp << std::endl;
      return EXIT_FAILURE;
      }
    }

Segmentation par la méthode d'accroissement de région (Region Growing)[modifier | modifier le code]

  #include "itkImage.h"
  int main()
    {
    typedef itk::Image< signed short,  3 >  InputImageType;
    typedef itk::Image< unsigned char, 3 >  OutputImageType;
    typedef itk::ImageFileReader< InputImageType >  ReaderType;
    typedef itk::ImageFileWriter< OutputImageType >  WriterType;
    typedef itk::ConnectedThresholdImageFilter< InputImageType, OutputImageType > FilterType;
    ReaderType::Pointer reader  = ReaderType::New();
    WriterType::Pointer writer  = WriterType::New();
    reader->SetFileName("cerveau.dcm");
    writer->SetFileName("matiereBlanche.hdr");
    FilterType::Pointer filter = FilterType::New();
    filter->SetInput( reader->GetOutput() );
    writer->SetInput( filter->GetOutput() );
    filter->SetMultiplier(2.5);
    ImageType::IndexType seed;
    seed[0] = 142;
    seed[1] =  97;
    seed[2] =  63;
    filter->AddSeed( seed );
    try
      {
      writer->Update();
      }
    catch( itk::ExceptionObject & excp )
      {
      std::cerr << excp << std::endl;
      return EXIT_FAILURE;
      }
    }

Notes et références[modifier | modifier le code]

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Lien externe[modifier | modifier le code]