Insight Segmentation and Registration Toolkit
| ITK
| |
|---|---|
| [[Datei:Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value)|150px]] | |
| Basisdaten
| |
| Maintainer | Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value) |
| Entwickler | National Library of Medicine, Kitware Inc. und diverse Universitäten |
| Erscheinungsjahr | Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value) |
| Aktuelle Version | Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value) (Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value)) |
| Aktuelle Vorabversion | Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value) (Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value)) |
| Betriebssystem | Unix-Derivate (Linux, macOS), Windows |
| Programmiersprache | C, C++, Python<ref>Insight Software Consortium / ITK - GitHub. Abgerufen am 10. Juni 2020 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> |
| Kategorie | Bildverarbeitung |
| Lizenz | Apache 2.0 Lizenz<ref>License. Abgerufen am 10. Juni 2020 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> |
| deutschsprachig | ja |
| www.itk.org | |
Das {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) (ITK) ist eine Open-Source-C++-Programmbibliothek für die Segmentierung und Registrierung von Bildern.
Allgemeines[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.<ref>History. Abgerufen am 10. Juni 2020 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</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>Overview. Abgerufen am 10. Juni 2020 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>
Beispiele[Bearbeiten]
Glättung mithilfe von einem Gaußfilter[Bearbeiten]
<syntaxhighlight lang="cpp">
- 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; } </syntaxhighlight>
Region Growing Segmentierung[Bearbeiten]
<syntaxhighlight lang="cpp">
- 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; } </syntaxhighlight>
Siehe auch[Bearbeiten]
Weblinks[Bearbeiten]
- www.itk.org (englisch)
- Startseite zu ITK Tutorials (englisch)
Einzelnachweise[Bearbeiten]
<references />