Insight Segmentation and Registration Toolkit – Wikipedia
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 |
Programmiersprache | 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]- www.itk.org (englisch)
- Startseite zu ITK Tutorials (englisch)
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ Release 5.3.0. 20. Dezember 2022 (abgerufen am 15. Januar 2023).
- ↑ ITK 5.3.0 has been released! 20. Dezember 2022 (englisch, abgerufen am 23. April 2024).
- ↑ Insight Software Consortium / ITK - GitHub. Abgerufen am 10. Juni 2020 (englisch).
- ↑ License. Abgerufen am 10. Juni 2020 (englisch).
- ↑ History. Abgerufen am 10. Juni 2020 (englisch).
- ↑ Overview. Abgerufen am 10. Juni 2020 (englisch).