Insight ToolKit
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.
Pour les articles homonymes, voir ITK.
ITK
Développé par | Insight Software Consortium (d) |
---|---|
Dernière version | 5.2.0 ()[1] |
Dépôt | github.com/InsightSoftwareConsortium/ITK et itk.org/gitweb?p=ITK.git |
Écrit en | C++ |
Environnement | Multi-Plateforme |
Type | Framework |
Licence | Apache 2.0 |
Site web | www.itk.org |
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
- « Release 5.2.0 », (consulté le )
Voir aussi
Articles connexes
- Lissage d'images
- Recalage d'images
- Visualization Toolkit (VTK)
- Visible Human Project
Lien externe
- Portail des logiciels libres
- Portail de la médecine
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.