„Insight Segmentation and Registration Toolkit“ – Versionsunterschied
Erscheinungsbild
[gesichtete Version] | [gesichtete Version] |
Inhalt gelöscht Inhalt hinzugefügt
K Datumsangaben sollten nicht verlinkt werden |
K Versionsinfo aus Wikidata |
||
(30 dazwischenliegende Versionen von 12 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{Infobox_Software |
{{Infobox_Software |
||
|Name= ITK |
|||
|Screenshot= |
|Screenshot= |
||
|Beschreibung= |
|Beschreibung= |
||
|Erscheinungsjahr= |
|||
|Hersteller= [[National Library of Medicine]], Kitware Inc. und diverse Universitäten |
|||
|Hersteller= [[National Library of Medicine]], Kitware Inc. und diverse Universitäten |
|||
|AktuelleVersion= 3.16 |
|||
|AktuelleVersion= <!-- aus Wikidata --> |
|||
|AktuelleVersionFreigabeDatum= 16. September 2009 |
|||
|Betriebssystem= |
|Betriebssystem= [[Unix-Derivat]]e ([[Linux]], [[macOS]]), [[Windows]] |
||
|Programmiersprache= [[C (Programmiersprache)|C]], [[C++]], [[Python (Programmiersprache)|Python]]<ref>{{Internetquelle |url=https://github.com/InsightSoftwareConsortium/ITK|titel =Insight Software Consortium / ITK - GitHub|zugriff=2020-06-10|sprache=en}}</ref> |
|||
|Kategorie= [[Visualisierung#Wissenschaftliche Visualisierung|Wissenschaftliche Visualisierung]], [[Programmbibliothek]] |
|||
|Kategorie= [[Bildverarbeitung]] |
|||
|Lizenz= [[BSD-Lizenz|BSD-artige Lizenzen]] |
|||
|Lizenz= [[Apache-Lizenz|Apache 2.0 Lizenz]]<ref>{{Internetquelle |url=https://itk.org/about/#license|titel = License |zugriff=2020-06-10|sprache=en}}</ref> |
|||
|Deutsch= nein |
|Deutsch= nein |
||
|Website= [http://www.itk.org/ www.itk.org] |
|Website= [http://www.itk.org/ www.itk.org] |
||
}} |
}} |
||
Das '''Insight Segmentation and Registration Toolkit''' (ITK) ist eine [[Open Source|Open-Source]]-[[C++]]-[[Klassenbibliothek]] für die [[Segmentierung (Bildverarbeitung)|Segmentierung]] und [[Bildregistrierung|Registrierung]] von Bildern. ITK wurde mit Geldern der [[National Library of Medicine]] gestartet, um offene Klassenbibliotheken und Schnittstellen für die Auswertung des [[Visible Human Project]]s zu schaffen. Besonderes Augenmerk wird deshalb auf medizinische Aspekte der [[Visualisierung#Wissenschaftliche Visualisierung|Wissenschaftlichen Visualisierung]] gelegt. Typische Anwendungsgebiete des 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 das ITK geschrieben wurde. |
|||
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> |
|||
== Beispiele == |
|||
=== Glättung mithilfe von einem Gaußfilter === |
|||
<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 === |
|||
<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 == |
|||
* [[Visualization Toolkit]] |
|||
== Weblinks == |
== Weblinks == |
||
* [http://www.itk.org/ www.itk.org (englisch) |
* [http://www.itk.org/ www.itk.org] (englisch) |
||
* [http://www.itk.org/HTML/Tutorials.htm Startseite zu ITK Tutorials (englisch) |
* [http://www.itk.org/HTML/Tutorials.htm Startseite zu ITK Tutorials] (englisch) |
||
* [http://www.itk.org/HTML/Applications.htm Liste mit Opensource Anwendungen basierend auf ITK (englisch)] |
|||
== Einzelnachweise == |
|||
<references /> |
|||
[[Kategorie:Freie Software]] |
[[Kategorie:Freie Software]] |
||
[[Kategorie:Bildverarbeitung]] |
[[Kategorie:Bildverarbeitung]] |
||
[[Kategorie:Bibliothek |
[[Kategorie:C++-Bibliothek]] |
||
__KEIN_INHALTSVERZEICHNIS__ |
|||
[[en:Insight Segmentation and Registration Toolkit]] |
|||
[[fr:Insight ToolKit]] |
Aktuelle Version vom 24. Dezember 2022, 04:54 Uhr
ITK | |
---|---|
Basisdaten
| |
Entwickler | National Library of Medicine, Kitware Inc. und diverse Universitäten |
Aktuelle Version | 5.4.3[1] (2. April 2025) |
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
[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.[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
[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.4.3. 2. April 2025 (abgerufen am 24. April 2025).
- ↑ 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).