Insight ToolKit

De Wikipédia, l'encyclopédie libre

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.

Faits en bref Développé par, Dernière version ...
ITK
Informations
Développé par Insight Software Consortium (d)
Dernière version 5.4.2 ()[1]
Dépôt github.com/InsightSoftwareConsortium/ITK
Écrit en C++
Environnement Multi-Plateforme
Formats lus BioRad confocal image (d), Windows bitmap, DICOM (d), Guy’s Image Processing Lab file format (d), JPEG (d), Light Sheet Microscope (d), MetaImage Source file (d), MetaImage MetaHeader (d), MINC2 Medical Imaging format (d), MGH file format (d), MRC (en), NII (d), Nearly Raw Raster Data file format family (d), Portable Network Graphics, Stimulate Signal Data (d), Stimulate Signal Parameters (d), TIFF, Varian FDF file format (d) et VTK
Type Framework
Licence Apache 2.0
Documentation itk.org/ItkSoftwareGuide.pdf
Site web www.itk.org
Fermer

Caractéristiques

  • 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

Gradient d'image soumis à un filtre gaussien

  #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)

  #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

Voir aussi

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.