Insight ToolKit
Apparence
ITK
Développé par | Insight Software Consortium (d) |
---|---|
Dernière version | 5.3.0 ()[1],[2] |
Dépôt | github.com/InsightSoftwareConsortium/ITK |
Écrit en | C |
Environnement | Multi-Plateforme |
Type | Framework |
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]- « Release 5.3.0 », (consulté le )
- (en) « ITK 5.3.0 has been released! », (consulté le )
Voir aussi
[modifier | modifier le code]Articles connexes
[modifier | modifier le code]- Lissage d'images
- Recalage d'images
- Visualization Toolkit (VTK)
- Visible Human Project