„Insight Segmentation and Registration Toolkit“ – Versionsunterschied
Erscheinungsbild
[ungesichtete Version] | [gesichtete Version] |
Inhalt gelöscht Inhalt hinzugefügt
Mazoro (Diskussion | Beiträge) zweites Beispiel |
Mazoro (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 15: | Zeile 15: | ||
Das '''{{lang|en|Insight Segmentation and Registration Toolkit}}''' (ITK) ist eine [[Open Source|Open-Source]]-[[C++]]-[[Programmbibliothek]] für die [[Segmentierung (Bildverarbeitung)|Segmentierung]] und [[Bildregistrierung|Registrierung]] von Bildern. |
Das '''{{lang|en|Insight Segmentation and Registration Toolkit}}''' (ITK) ist eine [[Open Source|Open-Source]]-[[C++]]-[[Programmbibliothek]] für die [[Segmentierung (Bildverarbeitung)|Segmentierung]] und [[Bildregistrierung|Registrierung]] von Bildern. |
||
== Allgemeines == |
|||
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 Project]]s zu schaffen.<ref>{{Internetquelle |url=https://itk.org/about/#history |titel=History |zugriff=2020-06-10 |sprache=en}}</ref> 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.<ref>{{Internetquelle |url=https://cmake.org/overview/|titel = Overview |zugriff=2020-06-10|sprache=en}}</ref> |
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 Project]]s zu schaffen.<ref>{{Internetquelle |url=https://itk.org/about/#history |titel=History |zugriff=2020-06-10 |sprache=en}}</ref> 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.<ref>{{Internetquelle |url=https://cmake.org/overview/|titel = Overview |zugriff=2020-06-10|sprache=en}}</ref> |
Version vom 16. Juni 2020, 12:44 Uhr
ITK | |
---|---|
Basisdaten
| |
Entwickler | National Library of Medicine, Kitware Inc. und diverse Universitäten |
Aktuelle Version | 5.1.0[1] |
Betriebssystem | Unix-Derivate (Linux, macOS), Windows |
Programmiersprache | C, C++, Python[2] |
Kategorie | Bildverarbeitung |
Lizenz | Apache 2.0 Lizenz[3] |
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
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.[4] 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.[5]
Beispiele
Glättung mithilfe von einem Gaußfilter
#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
#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;
}
Weblinks
- www.itk.org (englisch)
- Startseite zu ITK Tutorials (englisch)