Insight Segmentation and Registration Toolkit

Van Wikipedia, de gratis encyclopedie

ITK
Basisdaten

Entwickler National Library of Medicine, Kitware Inc. und diverse Universitäten
Aktuelle Version 5.3.0[1][2]
(20. Dezember 2022)
Betriebssystem Unix-Derivate (Linux, macOS), Windows
Programmier­sprache C, C++, Python[3]
Kategorie Bildverarbeitung
Lizenz Apache 2.0 Lizenz[4]
deutschsprachig nein
www.itk.org

Das Insight Segmentation and Registration Toolkit (ITK) ist eine Open-Source-C++-Programmbibliothek für die Segmentierung und Registrierung von Bildern.

Allgemeines[Bearbeiten | Quelltext bearbeiten]

Die Entwicklung von ITK wurde ab 1999 von der National Library of Medicine gestartet, um offene Klassenbibliotheken und Schnittstellen für die Auswertung des Visible Human Projects zu schaffen.[5] Typische Anwendungsgebiete von ITK sind z. B. die Verarbeitung von medizinischen Daten aus der Computertomographie und der Magnetresonanztomografie. Als Build-System kommt CMake zum Einsatz, welches speziell für ITK entwickelt wurde.[6]

Beispiele[Bearbeiten | Quelltext bearbeiten]

Glättung mithilfe von einem Gaußfilter[Bearbeiten | Quelltext bearbeiten]

#include <itkImage.h> #include <itkImageFileReader.h> #include <itkImageFileWriter.h> #include <itkDiscreteGaussianImageFilter.h>  int main(int argc, char *argv[]) {     typedef itk::Image<unsigned char, 2> ImageType;     typedef itk::ImageFileReader<ImageType> ReaderType;     typedef itk::ImageFileWriter<ImageType> WriterType;     typedef itk::DiscreteGaussianImageFilter<ImageType, ImageType> GaussianFilterType;      ReaderType::Pointer reader = ReaderType::New();     reader->SetFileName("test.jpg");      GaussianFilterType::Pointer smoothFilter = GaussianFilterType::New();     smoothFilter->SetInput(reader->GetOutput());     smoothFilter->SetVariance(3);      WriterType::Pointer writer = WriterType::New();     writer->SetInput(smoothFilter->GetOutput());     writer->SetFileName("smoothImage.png");      try     {       writer->Update();     }     catch( itk::ExceptionObject & excp )     {       std::cerr << excp << std::endl;       return EXIT_FAILURE;     }  	return EXIT_SUCCESS; } 

Region Growing Segmentierung[Bearbeiten | Quelltext bearbeiten]

#include <itkImage.h> #include <itkImageFileReader.h> #include <itkImageFileWriter.h> #include <itkConnectedThresholdImageFilter.h>  int main(int argc, char *argv[]) {     typedef itk::Image<unsigned char, 3> ImageType;     typedef itk::ImageFileReader<ImageType> ReaderType;     typedef itk::ImageFileWriter<ImageType> WriterType;     typedef itk::ConnectedThresholdImageFilter<ImageType, ImageType> RegionFilterType;      ReaderType::Pointer reader = ReaderType::New();     reader->SetFileName("test.nii");      ImageType::IndexType seed;     seed[0] = 142;     seed[1] =  97;     seed[2] =  63;      RegionFilterType::Pointer regionFilter = RegionFilterType::New();     regionFilter->SetInput(reader->GetOutput());     regionFilter->SetSeed(seed);      WriterType::Pointer writer = WriterType::New();     writer->SetInput(regionFilter->GetOutput());     writer->SetFileName("region.nii");      try     {       writer->Update();     }     catch( itk::ExceptionObject & excp )     {       std::cerr << excp << std::endl;       return EXIT_FAILURE;     }  	return EXIT_SUCCESS; } 

Siehe auch[Bearbeiten | Quelltext bearbeiten]

Weblinks[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Release 5.3.0. 20. Dezember 2022 (abgerufen am 15. Januar 2023).
  2. ITK 5.3.0 has been released!. 20. Dezember 2022 (englisch, abgerufen am 23. April 2024).
  3. Insight Software Consortium / ITK - GitHub. Abgerufen am 10. Juni 2020 (englisch).
  4. License. Abgerufen am 10. Juni 2020 (englisch).
  5. History. Abgerufen am 10. Juni 2020 (englisch).
  6. Overview. Abgerufen am 10. Juni 2020 (englisch).