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.
ITK
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 |
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
Wikiwand - on
Seamless Wikipedia browsing. On steroids.