„Insight Segmentation and Registration Toolkit“ – Versionsunterschied
Erscheinungsbild
[gesichtete Version] | [gesichtete Version] |
Inhalt gelöscht Inhalt hinzugefügt
Siehe auch |
K Versionsinfo aus Wikidata |
||
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt) | |||
Zeile 5: | Zeile 5: | ||
|Erscheinungsjahr= |
|Erscheinungsjahr= |
||
|Hersteller= [[National Library of Medicine]], Kitware Inc. und diverse Universitäten |
|Hersteller= [[National Library of Medicine]], Kitware Inc. und diverse Universitäten |
||
|AktuelleVersion= <!-- aus Wikidata --> |
|||
|AktuelleVersion= 5.1.0<ref>{{Internetquelle |url=https://github.com/InsightSoftwareConsortium/ITK/releases/tag/v5.1.0 |titel=v5.1.0 |zugriff=2020-06-10 |sprache=en}}</ref> |
|||
|Betriebssystem= [[Unix-Derivat]]e ([[Linux]], [[macOS]]), [[Windows]] |
|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> |
|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> |
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).